| 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]
|
|
|
|
|
|
|
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]
|
|
|
|
|
|
|
none
|
| 3 |
TABLES_1: Data tables must use summary attribute.
|
.dataTable |
- HTML4: table
- HTML4: table[summary]
|
|
|
|
|
|
|
|
| 4 |
TABLES_2: Data tables must use th elements
|
.dataTable |
|
|
|
|
|
|
|
|
| 5 |
TABLES_3: Summary attribute content must be unique.
|
table[@summary] |
- HTML4: table
- HTML4: table[summary]
|
|
|
|
|
|
|
|
| 6 |
TABLES_4: Complex data tables must have ids on th elements.
|
.complexDataTable |
- HTML4: table
- HTML4: th[id]
|
|
|
|
|
|
|
|
| 7 |
TABLES_5: For complex data tables table ids must be unique.
|
.complexDataTable |
- HTML4: table
- HTML4: th[id]
|
|
|
|
|
|
|
|
| 8 |
TABLES_6: Complex data table td elements must have header attributes.
|
.complexDataTable |
- HTML4: table
- HTML4: td[headers]
|
|
|
|
|
|
|
|
| 9 |
TABLES_7: Complex data tables header ids must be on the page.
|
.complexDataTable |
- HTML4: table
- HTML4: td[headers]
- HTML4: th[id]
|
|
|
|
|
|
|
|
| 10 |
FRAME_1: Frame element must have a title attribute.
|
frame | iframe |
- HTML4: frame
- HTML4: frame[title]
- HTML4: iframe[title]
|
|
|
|
|
|
|
none
|
| 11 |
FRAME_2: Title attributes for frames must be unique.
|
frameset |
- HTML4: frame
- HTML4: frame[title]
- HTML4: iframe[title]
|
|
|
|
|
|
|
none
|
| 12 |
FRAME_3: Frames should not be hidden or empty.
|
frame | iframe |
|
|
|
|
|
|
|
none
|
| 13 |
HEADING_1: Title element should not be empty.
|
document |
|
|
|
|
|
|
|
|
| 14 |
HEADING_2: Missing or empty H1 element.
|
document |
|
|
|
|
|
|
|
|
| 15 |
HEADING_3: H1 element content should not come only from the alt text of an image.
|
h1 |
- HTML4: h1
- HTML4: img[alt]
|
|
|
|
|
|
|
|
| 16 |
HEADING_4: H1 should match a subset of the words in the title element.
|
document |
|
|
|
|
|
|
|
|
| 17 |
HEADING_5: No more than two h1 elements.
|
document |
|
|
|
|
|
|
|
|
| 18 |
HEADING_6: Headings must have text content.
|
h1 | h2 | h3 | h4 | h5 | h6 |
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 20 |
HEADING_8: Heading content should be concise.
|
h2 | h3 | h4 | h5 | h6 |
|
|
|
|
|
|
|
|
| 21 |
HEADING_9: Heading elements should be properly nested.
|
h2 | h3 | h4 | h5 | h6 |
|
|
|
|
|
|
|
|
| 22 |
HEADING_10: The content of the headings of the same level within the same section should be unique.
|
document |
|
|
|
|
|
|
|
|
| 23 |
HEADING_11: Heading elements (h1..h6) should be used for structuring information on the page.
|
document |
|
|
|
|
|
|
|
none
|
| 24 |
HEADING_12: Title content should be concise.
|
document |
|
|
|
|
|
|
|
|
| 25 |
HEADING_13: Title text must contain more than one word.
|
document |
|
|
|
|
|
|
|
|
| 26 |
IMAGES_1: Images must have valid alt text.
|
img[@role != "presentation"] |
- HTML4: img[alt]
- ARIA 1.0: [role="presentation"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
none
|
| 29 |
IMAGES_4: Length of alt text.
|
img[@role != "presentation"] |
- HTML4: area[alt]
- HTML4: img[alt]
- ARIA 1.0: [role="presentation"]
|
|
|
|
|
|
|
|
| 30 |
IMAGES_5: Longdesc must have valid URI.
|
img[@longdesc][@role != "presentation"] |
- HTML4: img[longdesc]
- ARIA 1.0: [role="presentation"]
|
|
|
|
|
|
|
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"]
|
|
|
|
|
|
|
|
| 32 |
IMAGES_7: ALT text must describe content or purpose of image
|
img[@role != "presentation"] |
- HTML4: img[alt]
- ARIA 1.0: [role="presentation"]
|
|
|
|
|
|
|
none
|
| 33 |
IMAGES_8: Verify that images are not being used only to stylize text.
|
document |
- HTML4: font
- CSS21: font
- CSS21: font-size
|
|
|
|
|
|
|
none
|
| 34 |
LANG_1: Each page must have a lang attribute on its html element.
|
document |
|
|
|
|
|
|
|
|
| 35 |
LANG_2: lang attribute on html element must have a valid two-character language code.
|
html[@lang] |
|
|
|
|
|
|
|
|
| 36 |
LAYOUT_1: Do not use nested tables for positioning.
|
document |
|
|
|
|
|
|
|
|
| 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
|
|
|
|
|
|
|
none
|
| 38 |
LINK_1: Link text should be as least four 4 characters long.
|
a |
|
|
|
|
|
|
|
|
| 39 |
LINK_2: Links with the same HREF should have the same link text.
|
document |
- HTML4: a[href]
- HTML4: area[href]
|
|
|
|
|
|
|
|
| 40 |
LINK_3: Links that point to different HREFs should have different link text context.
|
document |
- HTML4: a[href]
- HTML4: area[href]
|
|
|
|
|
|
|
|
| 41 |
LINK_4: Links that point to different HREFs should have different link text.
|
document |
- HTML4: a[href]
- HTML4: area[href]
|
|
|
|
|
|
|
|
| 42 |
LINK_5: Images should be at least 16 pixels by 16 pixels when used as links.
|
a |
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 44 |
LINK_7: Purpose of link must be determined from context.
|
a |
|
|
|
|
none |
none |
none |
none
|
| 45 |
LINK_8: Purpose of link must be determined from link text.
|
a |
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
none
|
| 48 |
MEDIA_3: Prerecorded video with audio track needs synchronized captions.
|
document |
- HTML4: applet
- HTML4: embed
- HTML4: object
- html5: video
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
none
|
| 51 |
MEDIA_6: Synchronized audio descriptons of video.
|
document |
- HTML4: applet
- HTML4: embed
- HTML4: object
- html5: video
|
|
|
|
|
|
|
none
|
| 52 |
MEDIA_7: Synchronized sign language for audio track.
|
document |
- HTML4: applet
- HTML4: embed
- HTML4: object
- html5: audio
- html5: video
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
none
|
| 54 |
MEDIA_9: Text alternative to audio and video content
|
document |
- HTML4: applet
- HTML4: embed
- HTML4: object
- html5: video
|
|
|
|
|
|
|
none
|
| 55 |
MEDIA_10: Provide text alternatives to live audio
|
document |
- HTML4: applet
- HTML4: embed
- HTML4: object
- html5: video
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
none
|
| 58 |
MEDIA_13: Verify only relative font sizes are used to define font sizes.
|
document |
- HTML4: font
- CSS21: font
- CSS21: font-size
|
|
|
|
|
|
|
none
|
| 59 |
SCRIPT_1: Focusable elements with MouseOver should also have OnFocus event handlers.
|
.focusableMouseover |
|
|
|
|
|
|
|
none
|
| 60 |
SCRIPT_2: Focusable elements with an OnMouseOut should also have OnBlur event handlers.
|
.focusableMouseout |
|
|
|
|
|
|
|
none
|
| 61 |
SCRIPT_3: Every onClick event handler should be on a focusable element.
|
.nonFocusableOnclick |
|
|
|
|
|
|
|
none
|
| 62 |
SCRIPT_4: OnChange event handler should not be used with the select element.
|
* |
|
|
|
|
|
|
|
none
|
| 63 |
SCRIPT_5: onmousedown, onmouseup and onmousemove event handlers should have keyboard equivalents.
|
.mouseUpDownMove |
- HTML4: all[onmousedown]
- HTML4: all[onmousemove]
- HTML4: all[onmouseup]
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
none
|
| 65 |
STYLE_2: Color contrast ratio must be > 3 for large text
|
#text |
|
|
|
|
|
|
|
|
| 66 |
STYLE_3: Color contrast ratio should be > 4.5
|
#text |
|
|
|
|
|
|
|
|
| 67 |
STYLE_4: Do not use the FONT element to style text
|
font |
|
|
|
|
|
|
|
|
| 68 |
STYLE_5: The blink and marquee elements must not be used.
|
blink | marquee |
- HTML4: blink
- HTML4: marquee
|
|
|
|
|
|
|
|
| 69 |
STYLE_6: Do not use the B element.
|
document |
|
|
|
|
|
|
|
|
| 70 |
STYLE_7: Do not use the I element.
|
document |
|
|
|
|
|
|
|
|
| 71 |
STYLE_8: Do not use the U element.
|
document |
|
|
|
|
|
|
|
|
| 72 |
FORM_1: Instructions and operation must be accessible and not depend on solely on color, size, location or sound .
|
document |
|
|
|
|
none |
none |
none |
none
|
| 73 |
FORM_2: Each fieldset element should contain a legend element.
|
fieldset |
- HTML4: fieldset
- HTML4: legend
|
|
|
|
|
|
|
|
| 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
|
|
|
|
|
|
|
|
| 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
|
|
|
|
|
|
|
|
| 76 |
FORM_5: Inputs element of type=[image] must have an alt or a title attribute.
|
input[@type == "image"] |
- HTML4: input[type="image"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 78 |
FORM_7: Each button element must contain content.
|
button |
|
|
|
|
|
|
|
|
| 79 |
FORM_8: Effective labels should be unique.
|
document |
- HTML4: label
- HTML4: legend
|
|
|
|
|
|
|
|
| 80 |
FORM_9: Labels must have text content.
|
label |
|
|
|
|
|
|
|
|
| 81 |
FORM_10: Legends must have text content.
|
legend |
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 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
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 95 |
WIDGET_12: Check that elements with mouse event handlers also have key event handlers
|
*[@aria-activedescendant] |
- ARIA 1.0: [aria-activedescendant]
|
|
|
|
|
|
|
|
| 96 |
WIDGET_13: Check that enabled elements with ACTIVE-DESCENDANT have valid tab index
|
*[@aria-activedescendant] |
- ARIA 1.0: [aria-activedescendant]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|
| 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"]
|
|
|
|
|
|
|
|