Accessibility test digest
Synopsis
Page: Lenovo (100%)
URL: https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F
Score: 3587
Tested by: Testaro, procedure tp15
Scored by: Testilo, procedure sp15c
Digested by: Testilo, procedure dp15a
Introduction
The Testaro application used its tp15
testing procedure to test the accessibility (barrier-free design and coding) of the Lenovo (100%) web page at https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F on 2022/08/13. The procedure performed 1230 tests. Of these, 24 are custom tests defined by Testaro, and the others belong to these seven other packages (programs that perform collections of tests):
- Alfa by Siteimprove
- Axe-core by Deque
- Continuum by Level Access
- HTML CodeSniffer by Squiz Labs
- Equal Access by IBM
- Nu Html Checker
- Tenon by Level Access
- WAVE by WebAIM
Testaro produced a report enumerating the test results.
Testilo processed the report and used the sp15c
scoring procedure to compute partial and total scores for the page. The total score is 3587 (where 0 is the best possible score). The scored report is appended below.
Finally, Testilo used procedure dp15a
to produce this digest, briefly explaining how sp15c
computed the scores.
Score summary
total | 3587 |
---|---|
log | 2037 |
preventions | 1550 |
Issue summary
Special issues
log: Score 2037. This is based on the amount of browser error logging and miscellaneous logging during the tests.
preventions: Score 1550. This is based on tests that the page did not allow to be run. That impedes accessibility progress and risks interfering with tools that users with disabilities need.
Classified issues
No classified issues contributed to the score.
Discussion
Although there are widely accepted accessibility standards, there is no unanimity about how to define, test, and quantify accessibility. The failures reported in this digest merit investigation as potential opportunities for improved accessibility. Investigation may lead you to conclude that some of the reported failures do not actually harm accessibility. Conversely, some substantial accessibility faults can escape detection by any of these tests. You may question the attempt to assign an accessibility score to a web page, or you may prefer weightings and formulas different from those used by sp15c
. You can modify and extend Testaro and Testilo to fit other theories and priorities.
Here, in brief, is how sp15c
computes a score for a page.
- It finds all the defects and warnings (let’s call them
issues
) recorded in the report. - It classifies them according to type. For example, a link that looks like the text around it is one issue category, while a video that has no captions is another issue category.
- It also classifies the issues according to severity. For example, an issue that prevents a transaction is more severe than an issue that only complicates the transaction, and a warning about a possible issue is less severe than a definite finding of an issue. (Some packages rate the severity of each issue; for the other packages,
sp15c
assigns a severity weight to the issue type and uses that weight.) - It assigns quality ratings to particular tests that are judged abnormally reliable or unreliable.
- It assigns a score to each issue reported by each test of each package.
- It aggregates the issue scores, weighting them by severity, test quality, and redundancy. Redundancy occurs, and causes downweighting, when two or more packages contain tests that are designed to discover the same or mostly the same issues. So the score for a category is not simply the sum of the scores of the tests in that category.
- It assigns a score for issues in the page logged by the browser.
- It assigns an estimated score each time the page prevents one of the packages or one of the Testaro tests from being run on the page.
- It adds the scores together to obtain a total score.
The precise rules of sp15b
are found in the code itself.
Report
{ "id": "4yiew-lenovo", "host": { "id": "lenovo", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "Lenovo (100%)" }, "log": [ { "event": "startTime", "value": "2022-08-13T07:06:58" }, { "event": "endTime", "value": "2022-08-13T07:07:30" } ], "script": { "id": "tp15", "what": "Alfa, Axe, Continuum, HTML CodeSniffer, IBM, Nu Html Checker, Tenon, WAVE, and 22 custom tests", "strict": true, "timeLimit": 500, "commands": [ { "type": "launch", "which": "webkit", "what": "Webkit browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "Lenovo (100%)" }, { "type": "tenonRequest", "id": "a", "withNewContent": true, "what": "Tenon API version 2 test request" }, { "type": "test", "which": "motion", "what": "spontaneous change of content; requires webkit", "delay": 2500, "interval": 2500, "count": 5 }, { "type": "launch", "which": "chromium", "what": "Chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "Lenovo (100%)" }, { "type": "test", "which": "bulk", "what": "count of visible elements" }, { "type": "test", "which": "embAc", "withItems": true, "what": "active elements incorrectly embedded in each other" }, { "type": "test", "which": "focAll", "what": "Tab-focusability" }, { "type": "test", "which": "focInd", "revealAll": false, "allowedDelay": 250, "withItems": true, "what": "focus indicators" }, { "type": "test", "which": "focOp", "withItems": true, "what": "focusability and operability of elements" }, { "type": "test", "which": "hover", "headSize": 40, "headSampleSize": 20, "tailSampleSize": 15, "withItems": true, "what": "hover impacts" }, { "type": "test", "which": "labClash", "withItems": true, "what": "unlabeled and mislabeled form controls" }, { "type": "test", "which": "linkUl", "withItems": true, "what": "underlining of inline links" }, { "type": "test", "which": "menuNav", "withItems": true, "what": "keyboard navigation within true-focus menus" }, { "type": "test", "which": "radioSet", "withItems": true, "what": "grouping of radio buttons in fieldsets" }, { "type": "test", "which": "role", "what": "validity and necessity of role assignments" }, { "type": "test", "which": "styleDiff", "withItems": true, "what": "style consistency of headings, buttons, and links" }, { "type": "test", "which": "tabNav", "withItems": true, "what": "keyboard navigation within tab lists" }, { "type": "test", "which": "zIndex", "withItems": true, "what": "elements with non-auto z indexes" }, { "type": "test", "which": "alfa", "what": "Siteimprove alfa" }, { "type": "test", "which": "axe", "detailLevel": 2, "rules": [], "what": "Axe core, all rules" }, { "type": "test", "which": "continuum", "what": "Continuum" }, { "type": "test", "which": "htmlcs", "what": "HTML CodeSniffer" }, { "type": "test", "which": "ibm", "withItems": true, "what": "IBM Accessibility Checker, with page content and again with URL" }, { "type": "test", "which": "nuVal", "what": "Nu Html Checker" }, { "type": "test", "which": "wave", "reportType": 4, "what": "WAVE, report-type 4" }, { "type": "test", "which": "tenon", "id": "a", "what": "Tenon API version 2 result retrieval" } ] }, "acts": [ { "type": "launch", "which": "webkit", "what": "Webkit browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "Lenovo (100%)", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "tenonRequest", "id": "a", "withNewContent": true, "what": "Tenon API version 2 test request", "result": { "error": "ERROR: No page identified" } }, { "type": "test", "which": "motion", "what": "spontaneous change of content; requires webkit", "delay": 2500, "interval": 2500, "count": 5, "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "Chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "Lenovo (100%)", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "bulk", "what": "count of visible elements", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "embAc", "withItems": true, "what": "active elements incorrectly embedded in each other", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "focAll", "what": "Tab-focusability", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "focInd", "revealAll": false, "allowedDelay": 250, "withItems": true, "what": "focus indicators", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "focOp", "withItems": true, "what": "focusability and operability of elements", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "hover", "headSize": 40, "headSampleSize": 20, "tailSampleSize": 15, "withItems": true, "what": "hover impacts", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "labClash", "withItems": true, "what": "unlabeled and mislabeled form controls", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "linkUl", "withItems": true, "what": "underlining of inline links", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "menuNav", "withItems": true, "what": "keyboard navigation within true-focus menus", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "radioSet", "withItems": true, "what": "grouping of radio buttons in fieldsets", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "role", "what": "validity and necessity of role assignments", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "styleDiff", "withItems": true, "what": "style consistency of headings, buttons, and links", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "tabNav", "withItems": true, "what": "keyboard navigation within tab lists", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "zIndex", "withItems": true, "what": "elements with non-auto z indexes", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "alfa", "what": "Siteimprove alfa", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "axe", "detailLevel": 2, "rules": [], "what": "Axe core, all rules", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "continuum", "what": "Continuum", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "htmlcs", "what": "HTML CodeSniffer", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "ibm", "withItems": true, "what": "IBM Accessibility Checker, with page content and again with URL", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "nuVal", "what": "Nu Html Checker", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "test", "which": "wave", "reportType": 4, "what": "WAVE, report-type 4", "result": { "error": "ERROR: No page identified", "prevented": true } }, { "type": "launch", "which": "chromium", "what": "chromium browser" }, { "type": "url", "which": "https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F", "what": "URL", "result": "ERROR: Attempts to visit https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fjpdev.pro%252F failed" }, { "type": "test", "which": "tenon", "id": "a", "what": "Tenon API version 2 result retrieval", "result": { "error": "ERROR: No page identified", "prevented": true } } ], "timeStamp": "4yiew", "startTime": "2022-08-13T07:06:58", "presses": 0, "amountRead": 0, "testTimes": [], "logCount": 357, "logSize": 20442, "errorLogCount": 60, "errorLogSize": 4140, "prohibitedCount": 60, "visitTimeoutCount": 0, "visitRejectionCount": 60, "visitLatency": 24, "endTime": "2022-08-13T07:07:30", "elapsedSeconds": 31, "score": { "scoreProcID": "sp15c", "logWeights": { "logCount": 0.5, "logSize": 0.01, "errorLogCount": 1, "errorLogSize": 0.02, "prohibitedCount": 15, "visitTimeoutCount": 10, "visitRejectionCount": 10, "visitLatency": 1 }, "soloWeight": 2, "groupWeights": { "absolute": 2, "largest": 1, "smaller": 0.4 }, "preventionWeights": { "testaro": 50, "other": 100 }, "packageDetails": {}, "groupDetails": { "groups": {}, "solos": {} }, "preventionScores": { "testaro-motion": 50, "testaro-bulk": 50, "testaro-embAc": 50, "testaro-focAll": 50, "testaro-focInd": 50, "testaro-focOp": 50, "testaro-hover": 50, "testaro-labClash": 50, "testaro-linkUl": 50, "testaro-menuNav": 50, "testaro-radioSet": 50, "testaro-role": 50, "testaro-styleDiff": 50, "testaro-tabNav": 50, "testaro-zIndex": 50, "alfa": 100, "axe": 100, "continuum": 100, "htmlcs": 100, "ibm": 100, "nuVal": 100, "wave": 100, "tenon": 100 }, "summary": { "total": 3587, "log": 2037, "preventions": 1550, "solos": 0, "groups": [] } }, "scoreProcID": "sp15c" }