From MemberWiki
OAA Rules Home |
WCAG 2.0 Summary of Rules |
Rule Category Summary of Rules |
Abbreviation Rules |
Audio Rules |
Color Rules |
Embedded Application Rules |
Form Control Rules |
Heading Rules |
Image Rules |
Landmark Rules |
Language Rules |
Layout Rules |
List Rules |
Link Rules |
Page Navigation Rules |
Scripting Rules |
Table Rules |
Timing Rules |
Title Rules |
Video Rules |
Widget Rules
Widget Rule Details
Keyboard Rule 1: Widgets must/should support keyboard
| Property
| Value(s)
| Up To Date
|
| Definition
| Widget elements must/should have keyboard event handlers
| yes
|
| Summary
| Widgets must/should support keyboard
| yes
|
| Purpose
|
- Keyboard support is required by people who cannot use the mouse to interact with a widget
| yes
|
| Rule ID
| KEYBOARD_1
| yes
|
| NLS Rule ID
| Keyboard Rule 1
| yes
|
| Techniques
|
- Use the KEYUP, KEYDOWN and KEYPRESS events to support keyboard interaction with widgets
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 2.1.1
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widget elements
| yes
|
| Resource Properties
|
- role
- tab_index
- is_owned
- has_key_down
- has_key_press
- has_key_up
- ancestor_has_key_down
- ancestor_has_key_press
- ancestor_has_key_up
| yes
|
Keyboard Rule 1: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| The widget element has keyboard event handlers
| yes
|
| All Pass: Plural
| All %N_P widget elements have keyboard event handlers
| yes
|
| Manual Check: Singular
| Verify the widget element has keyboard event handlers through is parent elements, owner widget (i.e. aria-activedescendant) or required child widgets
| yes
|
| Manual Check: Plural
| Verify the %N_MC widgets have keyboard event handlers through is parent elements, owner widget (i.e. aria-activedescendant) or required child widgets
| yes
|
| Some Fail
| %N_F out of %N_T widget elements do NOT have keyboard event handlers
| yes
|
| All Fail: Singular
| The widget element does NOT have keyboard event handlers
| yes
|
| All Fail: Plural
| All %N_F widget elements do NOT have keyboard event handlers
| yes
|
| Corrective Action: Singular
| add event handler to the widget to support keyboard operation of the widget
| yes
|
| Corrective Action: Plural
| add event handler to the %N_F widgets to support keyboard operation of each widget
| yes
|
| Not Applicable
| No widgets on the page
| yes
|
Keyboard Rule 1: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget has keyboard support through event handlers on the widget element
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| Verify the %1 widget has keyboard support through keyboard event handlers on a parent widget element
| yes
|
| Manual Check 2
| Verify the %1 widget has keyboard support through keyboard event handlers through ARIA-ACTIVEDESCENDANT support on its %2 owner widget
| yes
|
| Manual Check 3
| Verify the %1 widget has keyboard support through keyboard event handlers on a required child widgets
| yes
|
| Corrective Action 1
| Add keyboard event handlers to the %1 widget to support keyboard interaction with the widget
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Keyboard Rule 2: Tabindex for focus
| Property
| Value(s)
| Up To Date
|
| Definition
| Widget elements must/should use tabindex to add keyboard focus support on non-interactive elements.
Any ancestor with aria-activedescendant can also pass this rule, does not need to be on parent widget role
| NO
|
| Summary
| Tabindex for focus
| yes
|
| Purpose
|
- Keyboard support is required by people who cannot use the mouse to interact with a widget
| yes
|
| Rule ID
| KEYBOARD_2
| yes
|
| NLS Rule ID
| Keyboard Rule 2
| yes
|
| Techniques
|
- The TABINDEX enables non-interactive elements (i.e. DIV, LI, SPAN ...) to receive and process focus
- The TABINDEX enables non-interactive elements (i.e. DIV, LI, SPAN ...) to receive and process focus
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 2.1.1
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widget elements
| yes
|
| Resource Properties
|
- role
- tab_index
- aria_activedescendant
- ancestor_has_activedescendant
| yes
|
Keyboard Rule 2: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| The widget element has tabindex value or is a child of a widget using aria-activedescendant
| yes
|
| All Pass: Plural
| All %N_P widget elements have tabindex value or is a child of a widget using aria-activedescendant
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T widget elements do NOT have a TABINDEX value or do NOT a child of a widget using aria-activedescendant
| yes
|
| All Fail: Singular
| The widget element does NOT have a TABINDEX value or is a child of a widget using aria-activedescendant
| yes
|
| All Fail: Plural
| All %N_F widget elements do NOT have a TABINDEX value or are NOT a child of a widget using aria-activedescendant
| yes
|
| Corrective Action: Singular
| add TABINDEX2 VALUE TO THE WIDGET OR ADD aria-activedescendant SUPPORT TO AN ANCESTOR WIDGET TO PROVIDE KEYBOARD FOCUS SUPPORT TO THE WIDGET
| yes
|
| Corrective Action: Plural
| add TABINDEX value to the widget or add ARIA-ACTIVEDESCENDANT support to an ancestor widget to provide keyboard focus support to the %N_F widgets
| yes
|
| Not Applicable
| No widgets on the page
| yes
|
Keyboard Rule 2: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget is on a %2 element that can receive keyboard focus
| yes
|
| Pass 2
| %1 widget has a TABINDEX value that supports receiving keyboard focus
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| %1 widget is the child of a widget that has an ARIA-ACTIVEDESCENDANT attribute, verify the ARIA-ACTIVEDESCENDANT supports references to the ID=%2 of this widget
| yes
|
| Manual Check 2
| Verify the child widgets of the %1 element with an onClick event of accurately represent the interactive features of this section of the web page
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Add TABINDEX value to the widget or add ARIA-ACTIVEDESCENDANT support to an ancestor widget to provide keyboard focus support
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 1: Widget must/should have name
| Property
| Value(s)
| Up To Date
|
| Definition
| Widgets must/should have an accessible name
| yes
|
| Summary
| Widget must/should have name
| yes
|
| Purpose
|
- A name associated with a widget insures that information about the widget is spoken by screen readers when it receives focus
| yes
|
| Rule ID
| WIDGET_1
| yes
|
| NLS Rule ID
| Widget Rule 1
| yes
|
| Techniques
|
- In some cases the child text nodes and ALT from descendant image elements will be used as the name for a widget
- Use ARIA-LABELLEDBY attribute to reference the id(s) of the elements on the page that describe the purpose of the widget
- Use ARIA-LABEL attribute to provide a explicit text description of the purpose of the widget
- Elements that have container widget roles typically do not receive keyboard focus, but giving them an accessible name provides assistive technologies a more accurate description of the purpose of the widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| true
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Elements with ROLE attribute values that are defined as widgets
| yes
|
| Resource Properties
|
- accessible_name
- accessible_description
- computed_label_source
| yes
|
Widget Rule 1: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Widget has an accessible name
| yes
|
| All Pass: Plural
| %N_P widgets have an accessible name
| yes
|
| Manual Check: Singular
| %N_MC widget may need an accessible name
| yes
|
| Manual Check: Plural
| %N_MC widgets may need an accessible name
| yes
|
| Some Fail
| %N_F out of %N_T widgets do NOT have an accessible name
| yes
|
| All Fail: Singular
| Widget does NOT has an accessible name
| yes
|
| All Fail: Plural
| All %N_F widgets do NOT have an accessible name
| yes
|
| Corrective Action: Singular
| add accessible name to widget
| yes
|
| Corrective Action: Plural
| add accessible name to each of the %N_F widgets
| yes
|
| Not Applicable
| No form controls on this page
| yes
|
Widget Rule 1: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget has accessible name
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| %1 widget may require an accessible name depending on context (i.e multiple widgets with the same role) in the page, adding an accessible name will improve accessibility
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Add accessible name to %1 widget
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies.
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 2: onClick must/should have role
| Property
| Value(s)
| Up To Date
|
| Definition
| Elements with ONCLICK events must/should be a link, button or have a widget role
| yes
|
| Summary
| ONCLICK must/should have role
| yes
|
| Purpose
|
- Elements with ONCLICK event handlers must be a link, form control or have a widget role
| yes
|
| Rule ID
| WIDGET_2
| yes
|
| NLS Rule ID
| Widget Rule 2
| yes
|
| Techniques
|
- Use ARIA widget role on non-form controls to describe their function on the page
- Use TABINDEX attribute of "0" if the role of the element is a button or link
- Use TABINDEX attribute of "-1" if the role of the element is NOT a buton or link, provide keyboard event handlers to control selection of elements in the widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| true
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Elements with ONCLICK attribute values that are defined as widgets
| yes
|
| Resource Properties
|
- tag_name
- role
- has_click
- is_widget
| yes
|
Widget Rule 2: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Element with a ONCLICK event is a link, form control or has a widget role
| yes
|
| All Pass: Plural
| All %N_P elements with an ONCLICK event are either a link, form control or have a widget role
| yes
|
| Manual Check: Singular
| 1 container element with an ONCLICK event requires verification that any child elements that can respond to the ONCLICK event are a link, form control or has a widget role, and can be accessd with the keyboard alone
| yes
|
| Manual Check: Plural
| %N_MC container elements with an ONCLICK event require verification that any child elements that can respond to the ONCLICK event are a link, form control or has a widget role, and can be accessd with the keyboard alone
| yes
|
| Some Fail
| %N_F out of %N_T elements with an ONCLICK event are NOT a link, form control or have a widget role
| yes
|
| All Fail: Singular
| Element with a ONCLICK event is NOT a link, form control or has a widget role
| yes
|
| All Fail: Plural
| All %N_F elements with an ONCLICK event are NOT a link, form control or have a widget role
| yes
|
| Corrective Action: Singular
| add widget role name to element
| yes
|
| Corrective Action: Plural
| add widget roles to each of the %N_F elements
| yes
|
| Not Applicable
| No elements with ONCLICK events on this page
| yes
|
Widget Rule 2: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 element has a widget role
| yes
|
| Pass 2
| %1 element is a form control
| yes
|
| Pass 3
| %1 element is a link
| yes
|
| Manual Check 1
| The %1 element has an ONCLICK event, verify any child elements that can respond to the ONCLICK event are a link, form control or have a widget role, and can be accessd with the keyboard alone
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Add a TABINDEX attribute with a numeric value to make with %1 element with %2 widget role keyboard accessible
| yes
|
| Corrective Action 2
| Add widget role to the %1 element
| yes
|
| Corrective Action 3
| Add widget role to the %1 element and a TABINDEX attribute with a numeric value to make it keyboard accessible
| yes
|
| Hidden (i.e. thru css)
| %1 element with ONCLICK event is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 3: role must/should be valid
| Property
| Value(s)
| Up To Date
|
| Definition
| ROLE attribute value must/should be a widget, section, landmark or live region role
| yes
|
| Summary
| ROLE must/should be valid
| yes
|
| Purpose
|
- Elements with ROLE attributes describe the section of a document (i.e landmarks) and the types of interactive elements (i.e. widgets) to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_3
| yes
|
| NLS Rule ID
| Widget Rule 3
| yes
|
| Techniques
|
- Use ARIA landmark roles to describe the sections of a web page
- Use ARIA widget roles to describe interactive elements on a web page
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Elements with ROLE attribute values
| yes
|
| Resource Properties
|
| yes
|
Widget Rule 3: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Element with a ROLE attribute is a widget, section, landmark or live region role
| yes
|
| All Pass: Plural
| All %N_P elements with ROLE attributes have a widget, section, landmark or live region role
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T elements with ROLE attributes have a widget, section, landmark or live region role
| yes
|
| All Fail: Singular
| Element with ROLE attribute does NOT have a widget, section, landmark or live region role
| yes
|
| All Fail: Plural
| All %N_F elements with ROLE attribute does NOT have a widget, section, landmark or live region role
| yes
|
| Corrective Action: Singular
| add widget, section, landmark or live region role name to element
| yes
|
| Corrective Action: Plural
| add widget, section, landmark or live region roles to each of the %N_F elements
| yes
|
| Not Applicable
| No elements with ROLE attribute on this page
| yes
|
Widget Rule 3: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 is a widget role
| yes
|
| Pass 2
| %1 is a landmark role
| yes
|
| Pass 3
| %1 is a live region role
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| %1 is an abstract ARIA role, change the role attribute to a widget, landmark or live region role
| yes
|
| Corrective Action 2
| The ROLE attribute is an empty string, change the ROLE attribute value to an appropriate widget, landmark or live region role
| yes
|
| Corrective Action 3
| %1 is not a defined ARIA role, change the ROLE attribute value to an appropriate widget, landmark or live region role
| yes
|
| Hidden (i.e. thru css)
| %1 element with ROLE attribute with the value %2 is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 4: ARIA values must/should be valid
| Property
| Value(s)
| Up To Date
|
| Definition
| ARIA property and state values must/should be valid types
| yes
|
| Summary
| ARIA values must/should be valid
| yes
|
| Purpose
|
- ARIA attributes must be a vaild type to accurately describe web content to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_4
| yes
|
| NLS Rule ID
| Widget Rule 4
| yes
|
| Techniques
|
- Use valid values for ARIA attributes
- Check W3C WAI Accessible Rich Internet Applications specifications for allowed values for ARIA attributes
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
- [aria-atomic]
- [aria-autocomplete]
- [aria-busy]
- [aria-checked]
- [aria-controls]
- [aria-describedby]
- [aria-disabled]
- [aria-dropeffect]
- [aria-expanded]
- [aria-flowto]
- [aria-grabbed]
- [aria-haspopup]
- [aria-hidden]
- [aria-invalid]
- [aria-label]
- [aria-labelledby]
- [aria-level]
- [aria-live]
- [aria-multiline]
- [aria-multiselectable]
- [aria-orientation]
- [aria-owns]
- [aria-pressed]
- [aria-readonly]
- [aria-relevant]
- [aria-required]
- [aria-selected]
- [aria-sort]
- [aria-valuemax]
- [aria-valuemin]
- [aria-valuenow]
- [aria-valuetext]
| yes
|
| Target Resources Description
| Elements with aria attributes
| yes
|
| Resource Properties
| none
| yes
|
Widget Rule 4: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| ARIA attribute has a value that is a valid type
| yes
|
| All Pass: Plural
| All %N_P ARIA attributes have values that are valid types
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T with ARIA attributes have values that are valid types
| yes
|
| All Fail: Singular
| ARIA attribute does NOT have a value that is a valid type
| yes
|
| All Fail: Plural
| All %N_F ARIA attribute do NOT have a value that is a valid type
| yes
|
| Corrective Action: Singular
| change ARIA attribute to a vaild type
| yes
|
| Corrective Action: Plural
| change all %N_F ARIA attributes to a vaild types
| yes
|
| Not Applicable
| No ARIA attributes on this page
| yes
|
Widget Rule 4: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| The %1 attribute with the value "%2" is a valid token
| yes
|
| Pass 2
| The %1 attribute with the value "%2" is a valid "%3" type
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| The %1 attribute with the value "%2" must change to one of the following values: %3
| yes
|
| Corrective Action 2
| The %1 attribute with the value "%2" must change to one or more of the following values: %3
| yes
|
| Corrective Action 3
| The %1 attribute with the value "%2" must change to a value with type of "%3"
| yes
|
| Hidden (i.e. thru css)
| %1 attribute with the value "%2" is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 5: ARIA attribute must/should be defined
| Property
| Value(s)
| Up To Date
|
| Definition
| ARIA property or state must/should be defined
| yes
|
| Summary
| ARIA attribute must/should be defined
| yes
|
| Purpose
|
- ARIA attributes must be defined properties or states to accurately describe web content to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_5
| yes
|
| NLS Rule ID
| Widget Rule 5
| yes
|
| Techniques
|
- Use defined ARIA properties and states in the ARIA specfication
- Check W3C WAI Accessible Rich Internet Applications specifications for allowed values for ARIA attributes
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
- [aria-atomic]
- [aria-autocomplete]
- [aria-busy]
- [aria-checked]
- [aria-controls]
- [aria-describedby]
- [aria-disabled]
- [aria-dropeffect]
- [aria-expanded]
- [aria-flowto]
- [aria-grabbed]
- [aria-haspopup]
- [aria-hidden]
- [aria-invalid]
- [aria-label]
- [aria-labelledby]
- [aria-level]
- [aria-live]
- [aria-multiline]
- [aria-multiselectable]
- [aria-orientation]
- [aria-owns]
- [aria-pressed]
- [aria-readonly]
- [aria-relevant]
- [aria-required]
- [aria-selected]
- [aria-sort]
- [aria-valuemax]
- [aria-valuemin]
- [aria-valuenow]
- [aria-valuetext]
| yes
|
| Target Resources Description
| Elements with aria attributes
| yes
|
| Resource Properties
| none
| yes
|
Widget Rule 5: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| ARIA attribute is defined property or state in the ARIA specification
| yes
|
| All Pass: Plural
| All %N_P ARIA attributes are defined defined properties or states in the ARIA specification
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T with ARIA attributes are NOT defined defined properties or states in the ARIA specification
| yes
|
| All Fail: Singular
| ARIA attribute is NOT a defined property or state in the ARIA specification
| yes
|
| All Fail: Plural
| All %N_F ARIA attribute do NOT have a value that is a valid type in the ARIA specification
| yes
|
| Corrective Action: Singular
| change ARIA attribute to a defined property or state
| yes
|
| Corrective Action: Plural
| change all %N_F ARIA attributes to a defined properties or states
| yes
|
| Not Applicable
| No undefined ARIA attributes on this page
| yes
|
Widget Rule 5: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| The %1 attribute is a defined ARIA property or state
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| The %1 attribute must be changed to a defined ARIA property or state
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 attribute with the value "%2" is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 6: Widgets must/should have properties
| Property
| Value(s)
| Up To Date
|
| Definition
| Widgets must/should define required properties and states
| yes
|
| Summary
| Widgets must/should have properties
| yes
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_6
| yes
|
| NLS Rule ID
| Widget Rule 6
| yes
|
| Techniques
|
- Use required ARIA properties to describe the features and options of a widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widgets with required properties and states
| yes
|
| Resource Properties
|
| yes
|
Widget Rule 6: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Widget has required properties and states
| yes
|
| All Pass: Plural
| All %N_P have required properties and states
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T widgets do NOT have required properties and states
| yes
|
| All Fail: Singular
| Widget does NOT have required properties and states
| yes
|
| All Fail: Plural
| All %N_F widget do NOT have required properties and states
| yes
|
| Corrective Action: Singular
| add required properties and states to widget
| yes
|
| Corrective Action: Plural
| add required properties and states to the %N_F widgets
| yes
|
| Not Applicable
| No widgets with required properties and states on this page
| yes
|
Widget Rule 6: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget has the following required ARIA properties and states: %2
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Add one or more of the required ARIA properties and states (i.e. "%2") to the %1 widget
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 7: Widgets must/should have child roles
| Property
| Value(s)
| Up To Date
|
| Definition
| Widgets must/should have required child roles
| yes
|
| Summary
| Widgets must/should have child roles
| yes
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_7
| yes
|
| NLS Rule ID
| Widget Rule 7
| yes
|
| Techniques
|
- Use required ARIA owned elements to describe the features and options of a widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widgets with required owned elements
| yes
|
| Resource Properties
|
| yes
|
Widget Rule 7: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Widget has required child roles
| yes
|
| All Pass: Plural
| All %N_P have required required child roles
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T widgets do NOT have required child roles
| yes
|
| All Fail: Singular
| Widget does NOT have required child roles
| yes
|
| All Fail: Plural
| All %N_F widgets do NOT have required child roles
| yes
|
| Corrective Action: Singular
| add required child roles to child elements in the widget
| yes
|
| Corrective Action: Plural
| add required child roles to child elements in the %N_F widgets
| yes
|
| Not Applicable
| No widgets with required child ARIA elements on this page
| yes
|
Widget Rule 7: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget has at least one required owned elements: %2
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| %1 widget is MISSING one or more of following required owned elements: %2
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 8: Widgets must/should have parent
| Property
| Value(s)
| Up To Date
|
| Definition
| Widgets must/should have required parent role
| yes
|
| Summary
| Widgets must/should have parent
| yes
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_8
| yes
|
| NLS Rule ID
| Widget Rule 8
| yes
|
| Techniques
|
- Use required parent roles to describe the features and options of a widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widgets with required parent role
| yes
|
| Resource Properties
|
| yes
|
Widget Rule 8: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Widget has required parent role
| yes
|
| All Pass: Plural
| All %N_P have required required parent role
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T widgets do NOT have required role
| yes
|
| All Fail: Singular
| Widget does NOT have required parent role
| yes
|
| All Fail: Plural
| All %N_F widgets do NOT have required parent role
| yes
|
| Corrective Action: Singular
| add required parent role to the widget
| yes
|
| Corrective Action: Plural
| add required parent to the %N_F widgets
| yes
|
| Not Applicable
| No widgets with required parent role on this page
| yes
|
Widget Rule 8: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget is a child of the a %2 role
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Create a parent widget with the role of %1 for this %2 widget
| yes
|
| Corrective Action 2
| Create a parent widget with the one of the required roles (i.e. %1) for this %2 widget
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 widget is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 9: Only one owner
| Property
| Value(s)
| Up To Date
|
| Definition
| Widgets must/should be owned by only one parent widget
| yes
|
| Summary
| Only one owner
| yes
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_9
| yes
|
| NLS Rule ID
| Widget Rule 9
| yes
|
| Techniques
|
- Parent widget roles with aira-owns must accurately decribe the parent relationships, a child widget can only have one parent widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
| yes
|
| Target Resources Description
| Widgets with required parent roles
| yes
|
| Resource Properties
|
| yes
|
Widget Rule 9: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Child widget is only referenced once by parent widget with aria-owns
| yes
|
| All Pass: Plural
| All %N_P child widget are only referenced once by parent widgets with aria-owns
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T child widgets are referenced MORE than once by parent widgets with aria-owns
| yes
|
| All Fail: Singular
| Child widget is referenced MORE that once by parent widgets with aria-owns
| yes
|
| All Fail: Plural
| All %N_F child widgets are referenced MORE that once by parent widgets with aria-owns
| yes
|
| Corrective Action: Singular
| update parent widget with aria-owns to make sure it not references a child widget only once
| yes
|
| Corrective Action: Plural
| update %N_F parent widgets with aria-owns to make sure they reference a child widget only once
| yes
|
| Not Applicable
| No parent widgets using aria-owns on this page
| yes
|
Widget Rule 9: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 child widget is referenced only by %2 parent widget with aria-owns
| yes
|
| Pass 2
| empty string
| yes
|
| Pass 3
| empty string
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Update references of %1 parent widgets with aria-owns to reference %2 child widget only once
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 parent widget with aria-owns is hidden from assistive technologies and not visible on screen
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 10: Value in range
| Property
| Value(s)
| Up To Date
|
| Definition
| Range widget must/should have value between minimum and maximum values
| yes
|
| Summary
| Value in range
| yes
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_10
| yes
|
| NLS Rule ID
| Widget Rule 10
| yes
|
| Techniques
|
- Use the ARIA-VALUENOW, ARIA-VALUEMIN and ARIA-VALUEMAX are accurately defined
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| false
| yes
|
| Target Resources
|
- [role="slider"]
- [role="progress"]
- [role="scrollbar"]
- [role="spinbutton"]
| yes
|
| Target Resources Description
| Range widgets
| yes
|
| Resource Properties
|
- aria-valuemin
- aria-valuenow
- aria-valuemax
| yes
|
Widget Rule 10: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| The value of the ARIA-VALUENOW attribute is in the range defined by ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| All Pass: Plural
| All %N_P values of the ARIA-VALUENOW attributes are in their ranges defined by the widget's ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T values of the ARIA-VALUENOW attributes are NOT in their ranges defined by the widget's ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| All Fail: Singular
| The value with the ARIA-VALUENOW attribute is NOT in the range defined by ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| All Fail: Plural
| All %N_F values of range widgets with the ARIA-VALUENOW attribute are NOT in the range defined by ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| Corrective Action: Singular
| update range attributes of the widget so the ARIA-VALUENOW attribute is in the range defined by ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| Corrective Action: Plural
| update range attributes of the %N_F widgets so the ARIA-VALUENOW attribute of each widget is in the range defined by ARIA-VALUEMIN and ARIA-VALUEMAX attributes
| yes
|
| Not Applicable
| No range widgets on the page
| yes
|
Widget Rule 10: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget is using ARIA-VALUETEXT attribute which overrides the ARIA-VALUENOW attribute for describing the value of the range
| yes
|
| Pass 2
| %1 widget value of %2 is in the range %3 and %4
| yes
|
| Pass 3
| %1 widget has the range %3 and %4, and by not including the ARIA-VALUENOW attribute the value of the progressbar is considered indeterminate
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Update the numeric values of ARIA-VALUENOW (%1), ARIA-VALUEMIN (%2) and ARIA-VALUEMAX (%3) so the ARIA-VALUENOW value is in range
| yes
|
| Corrective Action 2
| Update the numeric values of ARIA-VALUEMIN (%1) and ARIA-VALUEMAX (%2) so the ARIA-VALUEMIN value is less than the ARIA-VALUEMAX value
| yes
|
| Corrective Action 3
| For progresss bar update the numeric values or add ARIA-VALUEMIN (%2) and ARIA-VALUEMAX (%3) attributes and when state of progress is known use the ARIA-VALUENOW attribute value to communicate the current state of progress
| yes
|
| Hidden (i.e. thru css)
| %1 range widget is hidden from assistive technologies
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Widget Rule 11: Mouse/drag/keyboard events must/should have roles
| Property
| Value(s)
| Up To Date
|
| Definition
| Elements with mouse, drag or keyboard event handlers must/should have widget roles or interactive elements (i.e. form controls or links)
| NO
|
| Summary
| Input event handlers must/should have roles
| No
|
| Purpose
|
- ARIA roles, properties and states describes the features of interactive widgets to users of assistive technologies, especially screen reader users
| yes
|
| Rule ID
| WIDGET_11
| yes
|
| NLS Rule ID
| Widget Rule 11
| yes
|
| Techniques
|
- Use the ROLE attrbute to describe the type of widget associated with the mouse events
- Use ARIA properties and states attributes to describe features of each widget
| yes
|
| Manual Checks
| none
| yes
|
| Scope
| Element
| yes
|
| WCAG 2.0 Primary
| 4.1.2
| yes
|
| WCAG 2.0 Related
|
| yes
|
| Language Dependency
| empty string
| yes
|
| Rule Category
| Widget
| yes
|
| Triage
| true
| yes
|
| Target Resources
|
- [onmousedown]
- [onmouseup]
- [onmousemove]
- [onkeydown]
- [onkeyup]
- [onkeypress]
- on drag events
- on mouse enter and leave events
| NO
|
| Target Resources Description
| Elements with mouse events
| yes
|
| Resource Properties
|
- has_mouse_down
- has_mouse_move
- has_mouse_up
- ancestor_has_mouse_down
- ancestor_has_mouse_move
- ancestor_has_mouse_up
| yes
|
Widget Rule 11: Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| Element with mouse or drag event or its descendants has a role attribute or is an interactive element
| yes
|
| All Pass: Plural
| All %N_P elements with mouse or drag events or their descendants have a widget role or are an interactive elements
| yes
|
| Manual Check: Singular
| empty string
| yes
|
| Manual Check: Plural
| empty string
| yes
|
| Some Fail
| %N_F out of %N_T elements with mouse or drag events or their descendants do NOT have a widget role or are an interactive elements
| yes
|
| All Fail: Singular
| Element with mouse or drag event or its descendants does not have a widget role and/or an interactive element
| yes
|
| All Fail: Plural
| All %N_F Element with mouse or drag events or their descendants do not have a widget role and/or interactive elements
| yes
|
| Corrective Action: Singular
| add ARIA widget role to the element or child elements that accurately describe the user options and actions available
| yes
|
| Corrective Action: Plural
| add ARIA widget roles to the %N_F elements or their child elements that accurately describe the user options and actions available
| yes
|
| Not Applicable
| No elements with mouse or drag events found on this page
| yes
|
Widget Rule 11: Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| %1 widget has the following mouse or drag event(s): %2
| yes
|
| Pass 2
| %1 interactive element has the following mouse or drag event(s): %2
| yes
|
| Pass 3
| %1 element with the following mouse or drag event(s): %2 ; has descendant elements with widget roles or interactive elements
| yes
|
| Manual Check 1
| empty string
| yes
|
| Manual Check 2
| empty string
| yes
|
| Manual Check 3
| empty string
| yes
|
| Corrective Action 1
| Add widget role(s) to the element and/or its descendants that accurately describe the user options and actions of the %1 element with the following mouse events: %2
| yes
|
| Corrective Action 2
| empty string
| yes
|
| Corrective Action 3
| empty string
| yes
|
| Hidden (i.e. thru css)
| %1 element is hidden from assistive technologies with following mouse or drag events: %2
| yes
|
| Presentation (i.e. role=presentation)
| empty string
| yes
|
| Other
| empty string
| yes
|
Keyboard Rule 3: Support the keyboard
| Property
| Value(s)
| Up To Date
|
| Definition
| All user actions triggered by mouse are also available via the keyboard. This may change the widget rules being recommendations, or required.
| NO
|
| Summary
| summary
| NO
|
| Purpose
|
- purpose 1
- purpose 2
- purpose 3
- purpose 4
| NO
|
| Rule ID
| rule id
| NO
|
| NLS Rule ID
| rule nls id
| NO
|
| Techniques
|
- technique 1
- technique 1 url
- technique 2
- technique 2 url
- technique 3
- technique 3 url
- technique 4
- technique 4 url
| NO
|
| Manual Checks
|
- manual check 1
- manual 1 url
- manual check 2
- manual 2 url
- manual check 3
- manual 3 url
- manual check 4
- manual 4 url
| NO
|
| Scope
| Element or Page
| NO
|
| WCAG 2.0 Primary
| X.X.X
| NO
|
| WCAG 2.0 Related
|
| NO
|
| Language Dependency
| empty string
| NO
|
| Rule Category
| Widget
| NO
|
| Target Resources
|
| NO
|
| Target Resources Description
| target resource nls description
| NO
|
| Resource Properties
|
| NO
|
new rule nls id : Rule Result Messages
| Property
| Value(s)
| Up To Date
|
| All Pass: Singular
| empty string
| NO
|
| All Pass: Plural
| empty string
| NO
|
| Manual Check: Singular
| empty string
| NO
|
| Manual Check: Plural
| empty string
| NO
|
| Some Fail
| empty string
| NO
|
| All Fail: Singular
| empty string
| NO
|
| All Fail: Plural
| empty string
| NO
|
| Corrective Action: Singular
| empty string
| NO
|
| Corrective Action: Plural
| empty string
| NO
|
| Not Applicable
| empty string
| NO
|
new rule nls id : Node Result Messages
| Property
| Value(s)
| Up To Date
|
| Pass 1
| empty string
| NO
|
| Pass 2
| empty string
| NO
|
| Pass 3
| empty string
| NO
|
| Manual Check 1
| empty string
| NO
|
| Manual Check 2
| empty string
| NO
|
| Manual Check 3
| empty string
| NO
|
| Corrective Action 1
| empty string
| NO
|
| Corrective Action 2
| empty string
| NO
|
| Corrective Action 3
| empty string
| NO
|
| Hidden (i.e. thru css)
| empty string
| NO
|
| Presentation (i.e. role=presentation)
| empty string
| NO
|
| Other
| empty string
| NO
|