HTML5 and ARIA Techniques
WCAG 2.0 Level A and AA requirements using ARIA and HTML5 accessibility features.
Evaluation of W3C Web Content Accessibility Guidelines 2.0 Level A and AA conformance using HTML5 and ARIA accessibility techniques. ARIA Landmarks are required for the identification and labeling of the sections of content on a web page. The ruleset requires the use of ARIA widget roles for identifying and describing interactive elements (e.g. popup menus, grids, trees, etc...) that cannot be not described by the native semantics of HTML5 form control and links elements.
- Version: 1.2.0
- Total Rules: 136
- Required Rules: 109
- Recommended Rules: 27
Landmarks
Headings
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Heading 1 | Page must have h1 element |
A | 2.4.1 | no |
Heading 2 | h1 must be in main or banner landmark |
AA | 2.4.6 | no |
Heading 3 | Sibling headings must be unique | AA | 2.4.6 | no |
Heading 5 | Headings must be properly nested | A | 1.3.1 | Yes |
Heading 6 | Headings must have text content | A | 1.3.1 | no |
Heading 7 | First landmark heading h2 |
A | 1.3.1 | no |
Heading 8 | Headings nested in landmarks | A | 1.3.1 | Yes |
Role 10 | Overriding h1-h6 role semantics. (Deprecated) |
A | 1.3.1 | no |
Styles/Content
Images
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Image 1 | Images must have alt text | A | 1.1.1 | Yes |
Image 2 | Alt text must summarize purpose | A | 1.1.1 | Yes |
Image 3 | Alt text must not include filename | A | 1.1.1 | Yes |
Image 4 (English) | Alt text no more than 100 characters | A | 1.1.1 | no |
Image 5 | Verify image is decorative | A | 1.1.1 | Yes |
Image 6 | Long description for complex images | A | 1.1.1 | Yes |
Image 7 | Use MathML for mathematical expressions | A | 1.1.1 | Yes |
Links
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Focus 3 | Target focus must be in content window | A | 3.2.1 | Yes |
Link 1 | Link text must describe the link target | A | 2.4.4 | Yes |
Link 2 | Link text must be unique | A | 2.4.4 | no |
Role 12 | a[href] element role semantics. (Deprecated) |
A | 4.1.2 | no |
Tables
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Layout 1 | Layout tables must have meaningful sequence | A | 1.3.2 | Yes |
Table 1 | Data cells must have row/column headers | A | 1.3.1 | Yes |
Table 2 | Data tables must have name | AA | 2.4.6 | no |
Table 3 | Data tables must have description | A | 1.3.1 | no |
Table 4 | Data tables must have unique names | A | 1.3.1 | Yes |
Table 5 | Identify table markup as data or layout | A | 1.3.1 | Yes |
Table 6 | Header cells must be th elements |
A | 1.3.1 | Yes |
Table 7 | Data cells must use headers attribute |
A | 1.3.1 | Yes |
Table 8 | Name must be different than description | A | 1.3.1 | Yes |
Forms
Widgets/Scripts
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Error 3 | Required widgets | AA | 3.3.3 | Yes |
HTML 3 | Role is not allowed | A | 4.1.2 | Yes |
Widget 1 | Widgets must have label | A | 4.1.2 | Yes |
Widget 10 | Value in range | A | 4.1.2 | Yes |
Widget 11 | Elements with event handlers must have roles | A | 4.1.2 | Yes |
Widget 12 | Widget labels must be descriptive | AA | 2.4.6 | Yes |
Widget 13 | Role does not support accessible name. | A | 4.1.2 | Yes |
Widget 14 | Verify appropriate use of live region | A | 4.1.2 | Yes |
Widget 15 | Remove deprecated ARIA attributes. | A | 4.1.1 | no |
Widget 16 | Closed shadow DOM requires manual check. | A | 2.1.1 | Yes |
Widget 2 | onClick event handlers must have role |
A | 4.1.2 | Yes |
Widget 3 | role must be valid |
A | 4.1.2 | Yes |
Widget 4 | ARIA values must be valid | A | 4.1.2 | Yes |
Widget 5 | Attributes that start with aria- must be defined. |
A | 4.1.2 | Yes |
Widget 6 | Widgets must have properties | A | 4.1.2 | Yes |
Widget 7 | Widgets must have owned elements | A | 4.1.2 | Yes |
Widget 8 | Role must have parent | A | 4.1.2 | Yes |
Widget 9 | Only one owner | A | 4.1.2 | Yes |
Audio/Video
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Audio 1 | audio must have alternative |
A | 1.2.1 | Yes |
Audio 2 | object for audio must have alternative |
A | 1.2.1 | Yes |
Audio 3 | embed for audio must have alternative |
A | 1.2.1 | Yes |
Audio 4 | Pause, stop or mute audio | A | 1.4.2 | Yes |
Video 1 | video for video only must have alternative |
A | 1.2.1 | Yes |
Video 2 | object for video only must have alternative |
A | 1.2.1 | Yes |
Video 3 | embed for video only must have alternative |
A | 1.2.1 | Yes |
Video 4 | video must have caption |
A | 1.2.2 | Yes |
Video 5 | object for video must have captions |
A | 1.2.2 | Yes |
Video 6 | embed for video must have captions |
A | 1.2.2 | Yes |
Video 7 | video element must have audio description. |
A | 1.2.3 | Yes |
Video 8 | object for video must have audio description. |
A | 1.2.3 | Yes |
Video 9 | embed for video must have audio description |
A | 1.2.3 | Yes |
Keyboard
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Bypass 1 | Skip to main content link | A | 2.4.1 | no |
Focus 1 | Focus order must be meaningful | A | 2.4.3 | Yes |
Focus 2 | Focus must be visible | AA | 2.4.7 | Yes |
Keyboard 1 | Widget roles require keyboard support | A | 2.1.1 | Yes |
Keyboard 2 | Interactive functionality must be keyboard operable | A | 2.1.1 | Yes |
Keyboard 3 | No keyboard trap | A | 2.1.2 | Yes |
Timing
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Timing 1 | Control time limits | A | 2.2.1 | Yes |
Timing 2 | Control moving, blinking or auto-updating content | A | 2.2.2 | Yes |
Timing 3 | Flashing limits | A | 2.3.1 | Yes |
Site Navigation
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Navigation 1 | At least two ways of finding content | AA | 2.4.5 | Yes |
Navigation 2 | Consistent ordering of landmarks | AA | 3.2.3 | Yes |
Navigation 3 | Consistent ordering of h1 and h2 labels |
AA | 3.2.3 | Yes |
Navigation 4 | Consistent labeling of landmarks | AA | 3.2.4 | Yes |
Navigation 5 | Consistent h1 and h2 page section labels |
AA | 3.2.4 | Yes |
Title 1 | title must identify website and page |
A | 2.4.2 | Yes |