OpenAjax Rules

Number Description Context Markup WCAG 2.0 IITAA 1.0 Test Cases
Status Severity Priority Status Severity Priority
1 ACCESSKEY_1: Accesskey attribute values should be unique. *[@accesskey]
  • HTML4: a[accesskey]
  • HTML4: button[accesskey]
  • HTML4: input[accesskey]
  • HTML4: select[accesskey]
  • HTML4: textarea[accesskey]
  • A
  • V
  • P2
  • A
  • V
  • P2
none
2 ACCESSKEY_2: Accesskey attribute values should not interfere with IE shortcuts. *[@accesskey]
  • HTML4: a[accesskey]
  • HTML4: button[accesskey]
  • HTML4: input[accesskey]
  • HTML4: select[accesskey]
  • HTML4: textarea[accesskey]
  • A
  • V
  • P2
  • A
  • V
  • P2
none
3 TABLES_1: Data tables must use summary attribute. .dataTable
  • HTML4: table
  • HTML4: table[summary]
  • A
  • V
  • P1
  • A
  • V
  • P1
4 TABLES_2: Data tables must use th elements .dataTable
  • HTML4: table
  • HTML4: th
  • A
  • V
  • P1
  • A
  • V
  • P1
5 TABLES_3: Summary attribute content must be unique. table[@summary]
  • HTML4: table
  • HTML4: table[summary]
  • A
  • V
  • P1
  • A
  • V
  • P1
6 TABLES_4: Complex data tables must have ids on th elements. .complexDataTable
  • HTML4: table
  • HTML4: th[id]
  • A
  • V
  • P1
  • A
  • V
  • P1
7 TABLES_5: For complex data tables table ids must be unique. .complexDataTable
  • HTML4: table
  • HTML4: th[id]
  • A
  • V
  • P1
  • A
  • V
  • P1
8 TABLES_6: Complex data table td elements must have header attributes. .complexDataTable
  • HTML4: table
  • HTML4: td[headers]
  • A
  • V
  • P1
  • A
  • V
  • P1
9 TABLES_7: Complex data tables header ids must be on the page. .complexDataTable
  • HTML4: table
  • HTML4: td[headers]
  • HTML4: th[id]
  • A
  • V
  • P1
  • A
  • V
  • P1
10 FRAME_1: Frame element must have a title attribute. frame | iframe
  • HTML4: frame
  • HTML4: frame[title]
  • HTML4: iframe[title]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
11 FRAME_2: Title attributes for frames must be unique. frameset
  • HTML4: frame
  • HTML4: frame[title]
  • HTML4: iframe[title]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
12 FRAME_3: Frames should not be hidden or empty. frame | iframe
  • HTML4: frame
  • A
  • R
  • P2
  • A
  • R
  • P2
none
13 HEADING_1: Title element should not be empty. document
  • HTML4: title
  • A
  • V
  • P1
  • A
  • V
  • P1
14 HEADING_2: Missing or empty H1 element. document
  • HTML4: h1
  • A
  • R
  • P1
  • A
  • V
  • P1
15 HEADING_3: H1 element content should not come only from the alt text of an image. h1
  • HTML4: h1
  • HTML4: img[alt]
  • A
  • R
  • P1
  • A
  • V
  • P1
16 HEADING_4: H1 should match a subset of the words in the title element. document
  • HTML4: h1
  • HTML4: title
  • A
  • R
  • P1
  • A
  • V
  • P1
17 HEADING_5: No more than two h1 elements. document
  • HTML4: h1
  • A
  • R
  • P1
  • A
  • V
  • P1
18 HEADING_6: Headings must have text content. h1 | h2 | h3 | h4 | h5 | h6
  • HTML4: h1
  • HTML4: h2-h6
  • A
  • V
  • P1
  • A
  • V
  • P1
19 HEADING_7: Text content for a heading must not come just from image alt text. h2 | h3 | h4 | h5 | h6
  • HTML4: h1
  • HTML4: img[alt]
  • A
  • R
  • P1
  • A
  • V
  • P1
20 HEADING_8: Heading content should be concise. h2 | h3 | h4 | h5 | h6
  • HTML4: h1
  • HTML4: h2-h6
  • A
  • R
  • P1
  • A
  • R
  • P1
21 HEADING_9: Heading elements should be properly nested. h2 | h3 | h4 | h5 | h6
  • HTML4: h1
  • HTML4: h2-h6
  • A
  • V
  • P1
  • A
  • V
  • P1
22 HEADING_10: The content of the headings of the same level within the same section should be unique. document
  • HTML4: h2-h6
  • A
  • R
  • P1
  • A
  • V
  • P1
23 HEADING_11: Heading elements (h1..h6) should be used for structuring information on the page. document
  • HTML4: h2-h6
  • A
  • PV
  • P1
  • A
  • PV
  • P1
none
24 HEADING_12: Title content should be concise. document
  • HTML4: title
  • A
  • V
  • P1
  • A
  • V
  • P1
25 HEADING_13: Title text must contain more than one word. document
  • HTML4: title
  • A
  • V
  • P1
  • A
  • V
  • P1
26 IMAGES_1: Images must have valid alt text. img[@role != "presentation"]
  • HTML4: img[alt]
  • ARIA 1.0: [role="presentation"]
  • A
  • V
  • P1
  • A
  • V
  • P1
27 IMAGES_2: Image file name is not valid alt text. img[@role != "presentation"]
  • HTML4: area[alt]
  • HTML4: img[alt]
  • ARIA 1.0: [role="presentation"]
  • A
  • V
  • P1
  • A
  • V
  • P1
28 IMAGES_3: Certain words cannot be used as a part of valid alt text img[@role != "presentation"]
  • HTML4: area[alt]
  • HTML4: img[alt]
  • ARIA 1.0: [role="presentation"]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
29 IMAGES_4: Length of alt text. img[@role != "presentation"]
  • HTML4: area[alt]
  • HTML4: img[alt]
  • ARIA 1.0: [role="presentation"]
  • A
  • R
  • P1
  • A
  • V
  • P1
30 IMAGES_5: Longdesc must have valid URI. img[@longdesc][@role != "presentation"]
  • HTML4: img[longdesc]
  • ARIA 1.0: [role="presentation"]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
31 IMAGES_6: If an image has an alt or title attribute, it should not have a presentation role. img[@role == "presentation"]
  • HTML4: area[alt]
  • HTML4: area[title]
  • HTML4: img[alt]
  • HTML4: img[title]
  • ARIA 1.0: [role="presentation"]
  • A
  • V
  • P1
  • A
  • V
  • P1
32 IMAGES_7: ALT text must describe content or purpose of image img[@role != "presentation"]
  • HTML4: img[alt]
  • ARIA 1.0: [role="presentation"]
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
33 IMAGES_8: Verify that images are not being used only to stylize text. document
  • HTML4: font
  • CSS21: font
  • CSS21: font-size
  • A
  • PV
  • P2
  • A
  • PV
  • P1
none
34 LANG_1: Each page must have a lang attribute on its html element. document
  • HTML4: html[lang]
  • A
  • V
  • P1
  • A
  • V
  • P1
35 LANG_2: lang attribute on html element must have a valid two-character language code. html[@lang]
  • HTML4: [lang]
  • A
  • V
  • P1
  • A
  • V
  • P1
36 LAYOUT_1: Do not use nested tables for positioning. document
  • HTML4: table
  • A
  • PV
  • P1
  • A
  • PV
  • P1
37 LAYOUT_2: Document reading order makes sense when layout tables and css positioning is disabled. document
  • HTML4: applet
  • HTML4: area
  • HTML4: embed
  • HTML4: img
  • HTML4: object
  • HTML4: table
  • html5: audio
  • CSS21: bottom
  • CSS21: clear
  • CSS21: float
  • CSS21: left
  • CSS21: position
  • CSS21: right
  • CSS21: top
  • P
  • PV
  • P1
  • P
  • PR
  • P1
none
38 LINK_1: Link text should be as least four 4 characters long. a
  • HTML4: a
  • A
  • R
  • P1
  • A
  • V
  • P1
39 LINK_2: Links with the same HREF should have the same link text. document
  • HTML4: a[href]
  • HTML4: area[href]
  • A
  • V
  • P1
  • A
  • V
  • P1
40 LINK_3: Links that point to different HREFs should have different link text context. document
  • HTML4: a[href]
  • HTML4: area[href]
  • A
  • V
  • P1
  • A
  • V
  • P1
41 LINK_4: Links that point to different HREFs should have different link text. document
  • HTML4: a[href]
  • HTML4: area[href]
  • A
  • V
  • P1
  • A
  • V
  • P1
42 LINK_5: Images should be at least 16 pixels by 16 pixels when used as links. a
  • HTML4: img
  • A
  • R
  • P1
  • A
  • V
  • P1
43 LINK_6: Links with images and text content, the alt attribute should be unique to the text content or empty. a
  • HTML4: a[href]
  • HTML4: img[alt]
  • A
  • V
  • P1
  • A
  • V
  • P1
44 LINK_7: Purpose of link must be determined from context. a
  • HTML4: img
  • A
  • PV
  • P1
none none none none
45 LINK_8: Purpose of link must be determined from link text. a
  • HTML4: img
  • A
  • PV
  • P1
  • A
  • PV
  • P1
none
46 MEDIA_1: Prerecorded audio with no video or image tracks needs a text transcript which includes speaker information. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: audio
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
47 MEDIA_2: Prerecorded video with no audio track needs text or audio descriptions of the video content. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
48 MEDIA_3: Prerecorded video with audio track needs synchronized captions. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
49 MEDIA_4: Prerecorded video with audio track needs a audio or text description of the video content. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
50 MEDIA_5: Live audio of speech requires realtime captioning of the speakers. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: audio
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
51 MEDIA_6: Synchronized audio descriptons of video. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
52 MEDIA_7: Synchronized sign language for audio track. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: audio
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P3
none
53 MEDIA_8: Extended audio description if audio track does not provided enhough time to fully describe video content. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PV
  • P3
none
54 MEDIA_9: Text alternative to audio and video content document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PR
  • P3
none
55 MEDIA_10: Provide text alternatives to live audio document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: video
  • P
  • PV
  • P1
  • P
  • PR
  • P3
none
56 MEDIA_11: Document reading order makes sense when layout tables and css positioning is disabled. document
  • HTML4: table
  • CSS21: bottom
  • CSS21: clear
  • CSS21: float
  • CSS21: left
  • CSS21: position
  • CSS21: right
  • CSS21: top
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
57 MEDIA_12: Verify audio does not start playing automatically when document is loaded. document
  • HTML4: applet
  • HTML4: embed
  • HTML4: object
  • html5: audio
  • html5: video
  • A
  • PV
  • P1
  • A
  • PV
  • P1
none
58 MEDIA_13: Verify only relative font sizes are used to define font sizes. document
  • HTML4: font
  • CSS21: font
  • CSS21: font-size
  • A
  • PV
  • P2
  • A
  • PV
  • P1
none
59 SCRIPT_1: Focusable elements with MouseOver should also have OnFocus event handlers. .focusableMouseover
  • HTML4: all[onmouseover]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
60 SCRIPT_2: Focusable elements with an OnMouseOut should also have OnBlur event handlers. .focusableMouseout
  • HTML4: all[onblur]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
61 SCRIPT_3: Every onClick event handler should be on a focusable element. .nonFocusableOnclick
  • HTML4: all[onclick]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
62 SCRIPT_4: OnChange event handler should not be used with the select element. *
  • HTML4: all[onchange]
  • A
  • V
  • P2
  • A
  • V
  • P2
none
63 SCRIPT_5: onmousedown, onmouseup and onmousemove event handlers should have keyboard equivalents. .mouseUpDownMove
  • HTML4: all[onmousedown]
  • HTML4: all[onmousemove]
  • HTML4: all[onmouseup]
  • A
  • V
  • P1
  • A
  • V
  • P1
none
64 STYLE_1: Verify that color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. document
  • HTML4: font
  • CSS21: background
  • CSS21: border-color
  • CSS21: color
  • CSS21: outline-color
  • P
  • PV
  • P1
  • P
  • PV
  • P1
none
65 STYLE_2: Color contrast ratio must be > 3 for large text #text
  • HTML4: all
  • A
  • V
  • P1
  • A
  • V
  • P1
66 STYLE_3: Color contrast ratio should be > 4.5 #text
  • HTML4: all
  • A
  • V
  • P2
  • A
  • V
  • P2
67 STYLE_4: Do not use the FONT element to style text font
  • HTML4: font
  • A
  • V
  • P2
  • A
  • V
  • P2
68 STYLE_5: The blink and marquee elements must not be used. blink | marquee
  • HTML4: blink
  • HTML4: marquee
  • A
  • V
  • P1
  • A
  • V
  • P1
69 STYLE_6: Do not use the B element. document
  • HTML4: b
  • A
  • V
  • P2
  • A
  • V
  • P2
70 STYLE_7: Do not use the I element. document
  • HTML4: i
  • A
  • V
  • P2
  • A
  • V
  • P2
71 STYLE_8: Do not use the U element. document
  • HTML4: u
  • A
  • V
  • P2
  • A
  • V
  • P2
72 FORM_1: Instructions and operation must be accessible and not depend on solely on color, size, location or sound . document
  • A
  • PV
  • P1
none none none none
73 FORM_2: Each fieldset element should contain a legend element. fieldset
  • HTML4: fieldset
  • HTML4: legend
  • A
  • V
  • P1
  • A
  • V
  • P1
74 FORM_3: The label element should not encapsulate select and textarea elements. label
  • HTML4: input[type="password"]
  • HTML4: input[type="text"]
  • HTML4: label
  • HTML4: select
  • HTML4: textarea
  • A
  • R
  • P1
  • A
  • R
  • P1
75 FORM_4: Each input element with type=text | password | checkbox | radio | file and each select and textarea element should either be referenced by the for attribute of a label element via its id attribute, or have a title attribute. input[@type == "text"] | input[@type == "password"] | input[@type == "checkbox"] | input[@type == "radio"] | input[@type == "file"] | textarea | select
  • HTML4: input[type="checkbox"]
  • HTML4: input[type="file"]
  • HTML4: input[type="password"]
  • HTML4: input[type="radio"]
  • HTML4: input[type="text"]
  • HTML4: label
  • HTML4: select
  • HTML4: textarea
  • A
  • V
  • P1
  • A
  • V
  • P1
76 FORM_5: Inputs element of type=[image] must have an alt or a title attribute. input[@type == "image"]
  • HTML4: input[type="image"]
  • A
  • V
  • P1
  • A
  • V
  • P1
77 FORM_6: Input elements where type=[button|submit|reset] must have a value or title attribute. input[@type == "button"] | input[@type == "submit"] | input[@type == "reset"]
  • HTML4: input[type="button"]
  • HTML4: input[type="reset"]
  • HTML4: input[type="submit"]
  • A
  • R
  • P2
  • A
  • R
  • P2
78 FORM_7: Each button element must contain content. button
  • HTML4: button
  • A
  • V
  • P1
  • A
  • V
  • P1
79 FORM_8: Effective labels should be unique. document
  • HTML4: label
  • HTML4: legend
  • A
  • V
  • P1
  • A
  • V
  • P1
80 FORM_9: Labels must have text content. label
  • HTML4: label
  • A
  • V
  • P1
  • A
  • V
  • P1
81 FORM_10: Legends must have text content. legend
  • HTML4: legend
  • A
  • V
  • P1
  • A
  • V
  • P1
82 FORM_11: Title attributes used for labeling form controls must have content. button[@title] | input[@title] | textarea[@title] | select[@title]
  • HTML4: button[title]
  • HTML4: input[title]
  • HTML4: select[title]
  • HTML4: textarea[title]
  • A
  • R
  • P1
  • A
  • R
  • P1
83 FORM_12: Form controls must have unique ids. button[@id] | input[@id] | textarea[@id] | select[@id]
  • HTML4: [id]
  • HTML4: button
  • HTML4: input
  • HTML4: select
  • HTML4: textarea
  • A
  • V
  • P1
  • A
  • V
  • P1
84 WIDGET_1: Check aria properties and states for valid roles and properties .containsAriaAttr
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [aria-atomic]
  • ARIA 1.0: [aria-autocomplete]
  • ARIA 1.0: [aria-busy]
  • ARIA 1.0: [aria-checked]
  • ARIA 1.0: [aria-controls]
  • ARIA 1.0: [aria-describedby]
  • ARIA 1.0: [aria-disabled]
  • ARIA 1.0: [aria-dropeffect]
  • ARIA 1.0: [aria-expanded]
  • ARIA 1.0: [aria-flowto]
  • ARIA 1.0: [aria-grabbed]
  • ARIA 1.0: [aria-haspopup]
  • ARIA 1.0: [aria-hidden]
  • ARIA 1.0: [aria-invalid]
  • ARIA 1.0: [aria-label]
  • ARIA 1.0: [aria-labelledby]
  • ARIA 1.0: [aria-level]
  • ARIA 1.0: [aria-live]
  • ARIA 1.0: [aria-multiline]
  • ARIA 1.0: [aria-multiselectable]
  • ARIA 1.0: [aria-orientation]
  • ARIA 1.0: [aria-owns]
  • ARIA 1.0: [aria-posinset]
  • ARIA 1.0: [aria-pressed]
  • ARIA 1.0: [aria-readonly]
  • ARIA 1.0: [aria-relevant]
  • ARIA 1.0: [aria-required]
  • ARIA 1.0: [aria-selected]
  • ARIA 1.0: [aria-setsize]
  • ARIA 1.0: [aria-sort]
  • ARIA 1.0: [aria-valuemax]
  • ARIA 1.0: [aria-valuemin]
  • ARIA 1.0: [aria-valuenow]
  • ARIA 1.0: [aria-valuetext]
  • ARIA 1.0: [role="alert"]
  • ARIA 1.0: [role="alertdialog"]
  • ARIA 1.0: [role="application"]
  • ARIA 1.0: [role="article"]
  • ARIA 1.0: [role="banner"]
  • ARIA 1.0: [role="button"]
  • ARIA 1.0: [role="checkbox"]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="complementary"]
  • ARIA 1.0: [role="contentinfo"]
  • ARIA 1.0: [role="definition"]
  • ARIA 1.0: [role="dialog"]
  • ARIA 1.0: [role="directory"]
  • ARIA 1.0: [role="document"]
  • ARIA 1.0: [role="form"]
  • ARIA 1.0: [role="grid"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="group"]
  • ARIA 1.0: [role="heading"]
  • ARIA 1.0: [role="img"]
  • ARIA 1.0: [role="link"]
  • ARIA 1.0: [role="list"]
  • ARIA 1.0: [role="listbox"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="log"]
  • ARIA 1.0: [role="main"]
  • ARIA 1.0: [role="marquee"]
  • ARIA 1.0: [role="math"]
  • ARIA 1.0: [role="menu"]
  • ARIA 1.0: [role="menubar"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="navigation"]
  • ARIA 1.0: [role="note"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="presentation"]
  • ARIA 1.0: [role="progressbar"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="region"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="scrollbar"]
  • ARIA 1.0: [role="search"]
  • ARIA 1.0: [role="separator"]
  • ARIA 1.0: [role="slider"]
  • ARIA 1.0: [role="spinbutton"]
  • ARIA 1.0: [role="status"]
  • ARIA 1.0: [role="tab"]
  • ARIA 1.0: [role="tablist"]
  • ARIA 1.0: [role="tabpanel"]
  • ARIA 1.0: [role="textbox"]
  • ARIA 1.0: [role="timer"]
  • ARIA 1.0: [role="toolbar"]
  • ARIA 1.0: [role="tooltip"]
  • ARIA 1.0: [role="tree"]
  • ARIA 1.0: [role="treegrid"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1
85 WIDGET_2: ARIA attributes have valid values .containsAriaAttr
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [aria-atomic]
  • ARIA 1.0: [aria-autocomplete]
  • ARIA 1.0: [aria-busy]
  • ARIA 1.0: [aria-checked]
  • ARIA 1.0: [aria-controls]
  • ARIA 1.0: [aria-describedby]
  • ARIA 1.0: [aria-disabled]
  • ARIA 1.0: [aria-dropeffect]
  • ARIA 1.0: [aria-expanded]
  • ARIA 1.0: [aria-flowto]
  • ARIA 1.0: [aria-grabbed]
  • ARIA 1.0: [aria-haspopup]
  • ARIA 1.0: [aria-hidden]
  • ARIA 1.0: [aria-invalid]
  • ARIA 1.0: [aria-label]
  • ARIA 1.0: [aria-labelledby]
  • ARIA 1.0: [aria-level]
  • ARIA 1.0: [aria-live]
  • ARIA 1.0: [aria-multiline]
  • ARIA 1.0: [aria-multiselectable]
  • ARIA 1.0: [aria-orientation]
  • ARIA 1.0: [aria-owns]
  • ARIA 1.0: [aria-posinset]
  • ARIA 1.0: [aria-pressed]
  • ARIA 1.0: [aria-readonly]
  • ARIA 1.0: [aria-relevant]
  • ARIA 1.0: [aria-required]
  • ARIA 1.0: [aria-selected]
  • ARIA 1.0: [aria-setsize]
  • ARIA 1.0: [aria-sort]
  • ARIA 1.0: [aria-valuemax]
  • ARIA 1.0: [aria-valuemin]
  • ARIA 1.0: [aria-valuenow]
  • ARIA 1.0: [aria-valuetext]
  • A
  • V
  • P1
  • A
  • V
  • P1
86 WIDGET_3: ARIA ID references must be valid IDRefs .containsAriaAttrIDREF
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [aria-controls]
  • ARIA 1.0: [aria-describedby]
  • ARIA 1.0: [aria-flowto]
  • ARIA 1.0: [aria-labelledby]
  • ARIA 1.0: [aria-owns]
  • A
  • V
  • P1
  • A
  • V
  • P1
87 WIDGET_4: ARIA attributes can only be used with certain roles .containsAriaAttrIDREF
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [aria-autocomplete]
  • ARIA 1.0: [aria-checked]
  • ARIA 1.0: [aria-expanded]
  • ARIA 1.0: [aria-level]
  • ARIA 1.0: [aria-multiline]
  • ARIA 1.0: [aria-multiselectable]
  • ARIA 1.0: [aria-orientation]
  • ARIA 1.0: [aria-posinset]
  • ARIA 1.0: [aria-pressed]
  • ARIA 1.0: [aria-readonly]
  • ARIA 1.0: [aria-required]
  • ARIA 1.0: [aria-selected]
  • ARIA 1.0: [aria-setsize]
  • ARIA 1.0: [aria-sort]
  • ARIA 1.0: [aria-valuemax]
  • ARIA 1.0: [aria-valuemin]
  • ARIA 1.0: [aria-valuenow]
  • ARIA 1.0: [aria-valuetext]
  • A
  • V
  • P1
  • A
  • V
  • P1
88 WIDGET_5: Roles must contain their required child roles *[@role]
  • ARIA 1.0: [role="button"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="grid"]
  • ARIA 1.0: [role="list"]
  • ARIA 1.0: [role="listbox"]
  • ARIA 1.0: [role="menu"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="tablist"]
  • ARIA 1.0: [role="tree"]
  • ARIA 1.0: [role="treegrid"]
  • A
  • V
  • P1
  • A
  • V
  • P1
89 WIDGET_6: Child roles must be contained by the proper parent role *[@role]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1
90 WIDGET_7: Required properties and states should be defined .containsAriaAttr
  • ARIA 1.0: [role="checkbox"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="complementary"]
  • ARIA 1.0: [role="contentinfo"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="navigation"]
  • ARIA 1.0: [role="radio"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="scrollbar"]
  • ARIA 1.0: [role="search"]
  • ARIA 1.0: [role="slider"]
  • ARIA 1.0: [role="spinbutton"]
  • A
  • V
  • P1
  • A
  • V
  • P1
91 WIDGET_8: Required properties and states must not be empty .containsAriaAttr
  • ARIA 1.0: [role="checkbox"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="complementary"]
  • ARIA 1.0: [role="contentinfo"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="navigation"]
  • ARIA 1.0: [role="radio"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="scrollbar"]
  • ARIA 1.0: [role="search"]
  • ARIA 1.0: [role="slider"]
  • ARIA 1.0: [role="spinbutton"]
  • A
  • V
  • P1
  • A
  • V
  • P1
92 WIDGET_9: Role value must be valid *[@role]
  • ARIA 1.0: [role="alert"]
  • ARIA 1.0: [role="alertdialog"]
  • ARIA 1.0: [role="application"]
  • ARIA 1.0: [role="article"]
  • ARIA 1.0: [role="banner"]
  • ARIA 1.0: [role="button"]
  • ARIA 1.0: [role="checkbox"]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="complementary"]
  • ARIA 1.0: [role="contentinfo"]
  • ARIA 1.0: [role="definition"]
  • ARIA 1.0: [role="dialog"]
  • ARIA 1.0: [role="directory"]
  • ARIA 1.0: [role="document"]
  • ARIA 1.0: [role="form"]
  • ARIA 1.0: [role="grid"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="group"]
  • ARIA 1.0: [role="heading"]
  • ARIA 1.0: [role="img"]
  • ARIA 1.0: [role="link"]
  • ARIA 1.0: [role="list"]
  • ARIA 1.0: [role="listbox"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="log"]
  • ARIA 1.0: [role="main"]
  • ARIA 1.0: [role="marquee"]
  • ARIA 1.0: [role="math"]
  • ARIA 1.0: [role="menu"]
  • ARIA 1.0: [role="menubar"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="navigation"]
  • ARIA 1.0: [role="note"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="presentation"]
  • ARIA 1.0: [role="progressbar"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="region"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="scrollbar"]
  • ARIA 1.0: [role="search"]
  • ARIA 1.0: [role="separator"]
  • ARIA 1.0: [role="slider"]
  • ARIA 1.0: [role="spinbutton"]
  • ARIA 1.0: [role="status"]
  • ARIA 1.0: [role="tab"]
  • ARIA 1.0: [role="tablist"]
  • ARIA 1.0: [role="tabpanel"]
  • ARIA 1.0: [role="textbox"]
  • ARIA 1.0: [role="timer"]
  • ARIA 1.0: [role="toolbar"]
  • ARIA 1.0: [role="tooltip"]
  • ARIA 1.0: [role="tree"]
  • ARIA 1.0: [role="treegrid"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1
93 WIDGET_10: Check that 'ARIA-' attributes are valid properties and states *
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [aria-autocomplete]
  • ARIA 1.0: [aria-busy]
  • ARIA 1.0: [aria-checked]
  • ARIA 1.0: [aria-controls]
  • ARIA 1.0: [aria-describedby]
  • ARIA 1.0: [aria-disabled]
  • ARIA 1.0: [aria-dropeffect]
  • ARIA 1.0: [aria-expanded]
  • ARIA 1.0: [aria-flowto]
  • ARIA 1.0: [aria-grabbed]
  • ARIA 1.0: [aria-haspopup]
  • ARIA 1.0: [aria-hidden]
  • ARIA 1.0: [aria-invalid]
  • ARIA 1.0: [aria-label]
  • ARIA 1.0: [aria-labelledby]
  • ARIA 1.0: [aria-level]
  • ARIA 1.0: [aria-live]
  • ARIA 1.0: [aria-multiline]
  • ARIA 1.0: [aria-multiselectable]
  • ARIA 1.0: [aria-orientation]
  • ARIA 1.0: [aria-owns]
  • ARIA 1.0: [aria-posinset]
  • ARIA 1.0: [aria-pressed]
  • ARIA 1.0: [aria-readonly]
  • ARIA 1.0: [aria-relevant]
  • ARIA 1.0: [aria-required]
  • ARIA 1.0: [aria-selected]
  • ARIA 1.0: [aria-setsize]
  • ARIA 1.0: [aria-sort]
  • ARIA 1.0: [aria-valuemax]
  • ARIA 1.0: [aria-valuemin]
  • ARIA 1.0: [aria-valuenow]
  • ARIA 1.0: [aria-valuetext]
  • A
  • V
  • P1
  • A
  • V
  • P1
94 WIDGET_11: Check that non-form and non-anchor elements with event handlers have valid roles. .nonfocusableElementsContainingEvents
  • ARIA 1.0: [role="alert"]
  • ARIA 1.0: [role="alertdialog"]
  • ARIA 1.0: [role="application"]
  • ARIA 1.0: [role="article"]
  • ARIA 1.0: [role="banner"]
  • ARIA 1.0: [role="button"]
  • ARIA 1.0: [role="checkbox"]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="combobox"]
  • ARIA 1.0: [role="complementary"]
  • ARIA 1.0: [role="contentinfo"]
  • ARIA 1.0: [role="definition"]
  • ARIA 1.0: [role="dialog"]
  • ARIA 1.0: [role="directory"]
  • ARIA 1.0: [role="document"]
  • ARIA 1.0: [role="form"]
  • ARIA 1.0: [role="grid"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="group"]
  • ARIA 1.0: [role="heading"]
  • ARIA 1.0: [role="img"]
  • ARIA 1.0: [role="link"]
  • ARIA 1.0: [role="list"]
  • ARIA 1.0: [role="listbox"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="log"]
  • ARIA 1.0: [role="main"]
  • ARIA 1.0: [role="marquee"]
  • ARIA 1.0: [role="math"]
  • ARIA 1.0: [role="menu"]
  • ARIA 1.0: [role="menubar"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="navigation"]
  • ARIA 1.0: [role="note"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="presentation"]
  • ARIA 1.0: [role="progressbar"]
  • ARIA 1.0: [role="radiogroup"]
  • ARIA 1.0: [role="region"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="scrollbar"]
  • ARIA 1.0: [role="search"]
  • ARIA 1.0: [role="separator"]
  • ARIA 1.0: [role="slider"]
  • ARIA 1.0: [role="spinbutton"]
  • ARIA 1.0: [role="status"]
  • ARIA 1.0: [role="tab"]
  • ARIA 1.0: [role="tablist"]
  • ARIA 1.0: [role="tabpanel"]
  • ARIA 1.0: [role="textbox"]
  • ARIA 1.0: [role="timer"]
  • ARIA 1.0: [role="toolbar"]
  • ARIA 1.0: [role="tooltip"]
  • ARIA 1.0: [role="tree"]
  • ARIA 1.0: [role="treegrid"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1
95 WIDGET_12: Check that elements with mouse event handlers also have key event handlers *[@aria-activedescendant]
  • ARIA 1.0: [aria-activedescendant]
  • A
  • V
  • P1
  • A
  • V
  • P1
96 WIDGET_13: Check that enabled elements with ACTIVE-DESCENDANT have valid tab index *[@aria-activedescendant]
  • ARIA 1.0: [aria-activedescendant]
  • A
  • V
  • P1
  • A
  • V
  • P1
97 WIDGET_14: Check that elements without 'aria-activedescendant' that have roles requiring a container have focusable children *[@aria-activedescendant]
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1
98 WIDGET_15: Check that elements without 'aria-activedescendant' that have roles requiring a container have key event handlers *[@aria-activedescendant]
  • ARIA 1.0: [aria-activedescendant]
  • ARIA 1.0: [role="columnheader"]
  • ARIA 1.0: [role="gridcell"]
  • ARIA 1.0: [role="listitem"]
  • ARIA 1.0: [role="menuitem"]
  • ARIA 1.0: [role="menuitemcheckbox"]
  • ARIA 1.0: [role="menuitemradio"]
  • ARIA 1.0: [role="option"]
  • ARIA 1.0: [role="row"]
  • ARIA 1.0: [role="rowgroup"]
  • ARIA 1.0: [role="rowheader"]
  • ARIA 1.0: [role="treeitem"]
  • A
  • V
  • P1
  • A
  • V
  • P1