- URL: https://purplehazespot.com/
- Ruleset: HTML5 and ARIA Techniques
Element
Violations | Warnings | Manual Checks |
Passed | |
---|---|---|---|---|
Number of Rules | 14 | 2 | 17 | 18 |
Element Rule Results
Number of Elements | Implementation Level | ||||||||
---|---|---|---|---|---|---|---|---|---|
ID | Rule Summary | Result | V | W | MC | P | H | Score | Status |
Link 1 | Link text must describe the link target | Violation | 34 | - | 43 | - | 1 | 0 | NI-R |
Landmark 2 | All content must be contained in landmarks | Violation | 32 | - | - | 139 | 6 | 81 | PI |
Heading 5 | Headings must be properly nested | Violation | 19 | - | - | 16 | - | 46 | NI |
Heading 8 | Headings nested in landmarks | Violation | 8 | - | - | 10 | - | 56 | PI |
Control 1 | Form controls must have labels | Violation | 7 | - | - | 5 | 1 | 42 | NI |
Color 1 | Text must exceed CCR threshold | Violation | 6 | - | - | 131 | 3 | 96 | AC |
Landmark 17 | Landmarks must be uniquely identifiable | Violation | 5 | - | - | 3 | - | 38 | NI |
Widget 7 | Widgets must have owned elements | Violation | 4 | - | - | - | - | 0 | NI |
Control 4 |
button s must have content
|
Violation | 3 | - | - | - | - | 0 | NI |
Landmark 14 |
search landmark: restrictions
|
Violation | 2 | - | - | 1 | - | 33 | NI |
Control 11 | Submit and reset button labels must be unique | Violation | 2 | - | - | - | - | 0 | NI |
Widget 1 | Widgets must have label | Violation | 1 | - | 4 | - | - | 0 | NI-R |
Widget 12 | Widget labels must be descriptive | Violation | 1 | - | 4 | - | - | 0 | NI-R |
HTML 3 | Role is not allowed | Violation | 1 | - | 1 | - | - | 0 | NI-R |
Link 2 | Link text must be unique | Warning | - | 33 | - | 14 | - | 30 | NI |
Heading 7 |
First landmark heading h2
|
Warning | - | 1 | - | - | - | 0 | NI |
Focus 3 | Target focus must be in content window | Manual Check | - | - | 77 | - | 1 | 0 | R |
Timing 3 | Flashing limits | Manual Check | - | - | 26 | - | 8 | 0 | R |
Timing 2 | Control moving, blinking or auto-updating content | Manual Check | - | - | 26 | - | 8 | 0 | R |
Image 2 | Alt text must summarize purpose | Manual Check | - | - | 23 | - | - | 0 | R |
Image 7 | Use MathML for mathematical expressions | Manual Check | - | - | 23 | - | - | 0 | R |
Image 6 | Long description for complex images | Manual Check | - | - | 23 | - | - | 0 | R |
List 2 | Provide list labels when appropriate | Manual Check | - | - | 15 | - | - | 0 | R |
Error 4 | Error correction suggestions | Manual Check | - | - | 10 | - | 1 | 0 | R |
Landmark 18 | Landmarks must identify content regions | Manual Check | - | - | 8 | - | - | 0 | R |
Keyboard 1 | Widget roles require keyboard support | Manual Check | - | - | 5 | - | - | 0 | R |
Error 2 | Required form controls | Manual Check | - | - | 3 | 7 | 1 | 70 | PI-R |
Widget 14 | Verify appropriate use of live region | Manual Check | - | - | 3 | - | - | 0 | R |
Error 1 | Information on invalid values | Manual Check | - | - | 1 | 10 | 1 | 91 | PI-R |
Widget 11 | Elements with event handlers must have roles | Manual Check | - | - | 1 | - | - | 0 | R |
Landmark 16 |
region landmark must have accessible name
|
Manual Check | - | - | 1 | - | - | 0 | R |
Timing 1 | Control time limits | Manual Check | - | - | 1 | - | - | 0 | R |
Resize 1 | Resize text content | Manual Check | - | - | 1 | - | - | 0 | R |
Heading 6 | Headings must have text content | Passed | - | - | - | 35 | - | 100 | C |
Heading 3 | Sibling headings must be unique | Passed | - | - | - | 26 | - | 100 | C |
Image 1 | Images must have alt text | Passed | - | - | - | 23 | - | 100 | C |
Image 4 (English) | Alt text no more than 100 characters | Passed | - | - | - | 23 | - | 100 | C |
Image 3 | Alt text must not include filename | Passed | - | - | - | 23 | - | 100 | C |
Widget 3 |
role must be valid
|
Passed | - | - | - | 15 | 8 | 100 | C |
Widget 5 |
Attributes that start with aria- must be defined.
|
Passed | - | - | - | 9 | 4 | 100 | C |
Widget 4 | ARIA values must be valid | Passed | - | - | - | 9 | 4 | 100 | C |
Focus 5 | Forms submitted using buttons | Passed | - | - | - | 8 | - | 100 | C |
Control 7 |
label must have content
|
Passed | - | - | - | 5 | - | 100 | C |
Control 10 | Labels must be unique | Passed | - | - | - | 4 | 1 | 100 | C |
Landmark 15 |
form landmark: restrictions
|
Passed | - | - | - | 3 | - | 100 | C |
Landmark 10 |
navigation landmark: restrictions
|
Passed | - | - | - | 3 | - | 100 | C |
Control 5 |
id must be unique
|
Passed | - | - | - | 2 | - | 100 | C |
Frame 2 |
iframe must have accessible name
|
Passed | - | - | - | 1 | - | 100 | C |
Landmark 13 |
contentinfo landmark: restrictions
|
Passed | - | - | - | 1 | - | 100 | C |
Landmark 12 |
contentinfo landmark: must be top-level
|
Passed | - | - | - | 1 | - | 100 | C |
Landmark 11 |
main landmark: must be top-level
|
Passed | - | - | - | 1 | - | 100 | C |
Audio 1 |
audio must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Widget 15 | Remove deprecated ARIA attributes. | Not Applicable | - | - | - | - | - | - | na |
Widget 13 | Role does not support accessible name. | Not Applicable | - | - | - | - | - | - | na |
Widget 10 | Value in range | Not Applicable | - | - | - | - | - | - | na |
Widget 9 | Only one owner | Not Applicable | - | - | - | - | - | - | na |
Widget 8 | Role must have parent | Not Applicable | - | - | - | - | - | - | na |
Widget 6 | Widgets must have properties | Not Applicable | - | - | - | - | - | - | na |
Widget 2 |
onClick event handlers must have role
|
Not Applicable | - | - | - | - | - | - | na |
Video 9 |
embed for video must have audio description
|
Not Applicable | - | - | - | - | - | - | na |
Video 8 |
object for video must have audio description.
|
Not Applicable | - | - | - | - | - | - | na |
Video 7 |
video element must have audio description.
|
Not Applicable | - | - | - | - | - | - | na |
Video 6 |
embed for video must have captions
|
Not Applicable | - | - | - | - | - | - | na |
Video 5 |
object for video must have captions
|
Not Applicable | - | - | - | - | - | - | na |
Video 4 |
video must have caption
|
Not Applicable | - | - | - | - | - | - | na |
Video 3 |
embed for video only must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Video 2 |
object for video only must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Video 1 |
video for video only must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Table 8 | Name must be different than description | Not Applicable | - | - | - | - | - | - | na |
Table 7 |
Data cells must use headers attribute
|
Not Applicable | - | - | - | - | - | - | na |
Table 6 |
Header cells must be th elements
|
Not Applicable | - | - | - | - | - | - | na |
Table 5 | Identify table markup as data or layout | Not Applicable | - | - | - | - | - | - | na |
Table 4 | Data tables must have unique names | Not Applicable | - | - | - | - | - | - | na |
Table 3 | Data tables must have description | Not Applicable | - | - | - | - | - | - | na |
Table 2 | Data tables must have name | Not Applicable | - | - | - | - | - | - | na |
Table 1 | Data cells must have row/column headers | Not Applicable | - | - | - | - | - | - | na |
Layout 3 |
Verify aria-flowto supports reading order
|
Not Applicable | - | - | - | - | - | - | na |
Layout 2 | Do not nest layout tables | Not Applicable | - | - | - | - | - | - | na |
Landmark 19 |
complementary landmark: must be top level
|
Not Applicable | - | - | - | - | - | - | na |
Landmark 9 |
banner landmark: restrictions
|
Not Applicable | - | - | - | - | - | - | na |
Landmark 8 |
banner landmark: must be top-level
|
Not Applicable | - | - | - | - | - | - | na |
Keyboard 3 | No keyboard trap | Not Applicable | - | - | - | - | - | - | na |
Image 5 | Verify image is decorative | Not Applicable | - | - | - | - | - | - | na |
HTML 2 |
Replace marquee elements
|
Not Applicable | - | - | - | - | - | - | na |
Heading 2 |
h1 must be in main or banner landmark
|
Not Applicable | - | - | - | - | - | - | na |
Frame 1 |
frame must have accessible name
|
Not Applicable | - | - | - | - | - | - | na |
Focus 4 |
select must not change context
|
Not Applicable | - | - | - | - | - | - | na |
Error 3 | Required widgets | Not Applicable | - | - | - | - | - | - | na |
Control 9 |
Verify title is the label.
|
Not Applicable | - | - | - | - | - | - | na |
Control 8 |
fieldset must have one legend
|
Not Applicable | - | - | - | - | - | - | na |
Control 6 |
label must reference control
|
Not Applicable | - | - | - | - | - | - | na |
Control 3 | Radio buttons must have grouping label | Not Applicable | - | - | - | - | - | - | na |
Control 2 | Image button must have alt. content | Not Applicable | - | - | - | - | - | - | na |
Audio 3 |
embed for audio must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Audio 2 |
object for audio must have alternative
|
Not Applicable | - | - | - | - | - | - | na |
Widget 16 | Closed shadow DOM requires manual check. | Not Applicable | - | - | - | - | - | - | na |
Implementation Score Definitions
- The implementation score is based on the rule results across all pages and ranges from 0 to 100.
- '-' means there were no rule results for that group (e.g. rules were not applicable).
- The following messages give a general idea of the overall implementation of the rules for a website.
Abbrev | Score | Status | Description |
---|---|---|---|
C | 100 | Complete | Complete means all rules have passed. There were either no manual checks or all manual checks have been resolved. |
R | 0 | Required Manual Checks |
|
AC AC-R |
95-99 | Almost Complete |
|
PI PI-R |
50-94 | Partial Implementation |
|
NI NI-R |
0-50 | Not Implemented |
|
na | - | Not Applicable | No markup was found that identifed a known or possible accessibility issue. |
Note: Future versions of FAE will allow you to mark manual checks as, pass, fail or not applicable.
Implementation Score Computation
Implementation Score = P / (P + F + MC)
Each variable represents the number of element level results for a particular rule, where:
- P = elements that passed
- F = elements that failed
- MC = elements that require a manual check
The score ranges in value from 0 to 100, that is from no implementation to all accessibility requirements met. In the future, FAE will allow you to change manual checks to pass, fail or not applicable, and will recompute the Implementation Score based on the updated manual checking results.
Note: When a manual check is changed to not applicable that element result is removed from the implementation score computation.
Implementation Score Combinations
Implementation scores are rule-based and are computed for the following combinations:
Pages | Rules | Calculation |
---|---|---|
1 | 1 | Element level results determine the implementation score for a rule on a specific page. |
1 | All | The implementation score for a page is the average of all implementation scores for all rules on the page, with all rules being equally weighted. |
All | 1 | The implementation score for a rule across all the pages in a website is based on the aggregation of all element results for the rule across all pages. |
All | All | The implementation score for a website is the average of the website rule implementation scores. |
Example Rule Implementation Scores on Individual Page
Description | Pass | Fail | Manual Check | Implementation Score |
---|---|---|---|---|
A rule with scope of element, like "Image must have alt text". |
8 | 2 | 0 | 80 |
A rule with scope of page like "Page must have main landmark". |
0 | 1 | 0 | 0 |
A rule with scope of element with elment results of pass, fail and manual checks that may occur for the color contrast rule. | 134 | 29 | 37 | 67 |
Example Rule Implementation Score for All Pages in a Website
This is a hypothetical example for a website
Page results for Rule X | Pass | Fail | Manual Check | Implementation Score |
---|---|---|---|---|
Page 1 element results for rule X. | 23 | 12 | 4 | 59 |
Page 2 element results for rule X. | 12 | 4 | 0 | 75 |
Page 3 element results for rule X. | 45 | 0 | 0 | 100 |
Website element results for Rule X | 80 | 16 | 4 | 80 |