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.1.0
- Total Rules: 132
- Required Rules: 120
- Recommended Rules: 12
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 |
A | 1.3.1 | Yes |
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 |
A | 4.1.2 | Yes |
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
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Control 1 | Form controls must have labels | A | 3.3.2 | Yes |
Control 10 | Labels must be unique | AA | 2.4.6 | Yes |
Control 11 | submit and reset buttons must be unique |
AA | 2.4.6 | Yes |
Control 2 | Image button must have alt. content | A | 3.3.2 | Yes |
Control 3 | Radio buttons must have grouping label | A | 3.3.2 | Yes |
Control 4 | button s must have content |
A | 3.3.2 | Yes |
Control 5 | id must be unique |
A | 4.1.1 | Yes |
Control 6 | label must reference control |
A | 3.3.2 | Yes |
Control 7 | label must have content |
A | 3.3.2 | Yes |
Control 8 | fieldset must have one legend |
A | 3.3.2 | Yes |
Control 9 | Verify title is the label. |
A | 3.3.2 | Yes |
Error 1 | Information on invalid values | A | 3.3.1 | Yes |
Error 2 | Required form controls | AA | 3.3.3 | Yes |
Error 4 | Error correction suggestions | AA | 3.3.3 | Yes |
Error 5 | Prevent errors | AA | 3.3.4 | Yes |
Focus 4 | select must not change context |
A | 3.2.2 | Yes |
Focus 5 | Forms submitted using buttons | A | 3.2.2 | Yes |
Role 13 | select element role semantics |
A | 4.1.2 | Yes |
Role 14 | textarea element role semantics |
A | 4.1.2 | Yes |
Widgets/Scripts
Rule ID | Summary | Level | SC | Required |
---|---|---|---|---|
Error 3 | Required widgets | AA | 3.3.3 | 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 14 | Verify appropriate use of live region | A | 4.1.2 | 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 | ARIA attribute must be defined | A | 4.1.2 | Yes |
Widget 6 | Widgets must have properties | A | 4.1.2 | Yes |
Widget 7 | Widgets must have child roles | A | 4.1.2 | Yes |
Widget 8 | Widgets 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 |