Test: HTML role attribute test suite
Screen Reader support level: supported
Voice Control support level: partial (7/14)
On this page
- About this test
- Age of results
- Test HTML
- Dates and Versions of tested combinations
- Summary of screen reader support by expectation
- Summary of voice control support by expectation
- Detailed support tables
- History
- Related features
- Contribute and Feedback
About this test
A test for the HTML role attribute.
Age of results
Results in this test range from 3 years ago to 5 years ago. See detailed information about test dates and versions for more information.
Caution
Failing or partial results may be out of date. The oldest result is from 5 years ago. Consider running this test and contributing results.
Test HTML
Open the test case HTML fileHTML source is too long to display here.
Summary of Screen Reader support by expectation
* means that some support is hidden behind settings
Summary of Voice Control support by expectation
Expectation | Dragon Naturally Speaking | Voice Access (Android) | Voice Control (iOS) | Voice Control (MacOS) | Windows Speech Recognition | Windows Voice Access | ||
---|---|---|---|---|---|---|---|---|
Chrome | Chrome | Safari | Safari | Edge | Chrome | Edge | Chrome | |
MUST convey the presence of the role attribute applied to: div element | supported | supported | not applicable | supported | unknown | supported | unknown | unknown |
SHOULD process changes in role values applied to: div element | supported | supported | not applicable | supported | unknown | supported | unknown | unknown |
MUST support fallback roles applied to: div element | none | supported | not applicable | supported | unknown | supported | unknown | unknown |
* means that some support is hidden behind settings
Summary of Keyboard support by expectation
Expectation | Windows Keyboard | Mac Keyboard | iOS Keyboard | Android Keyboard | |||
---|---|---|---|---|---|---|---|
Chrome | Firefox | Edge | Chrome | Safari | Safari | Chrome | |
Not applicable |
* means that some support is hidden behind settings
Detailed support results by expectation
Expectation for the role attribute: lose the location of the browsing caret when a container role is changed - applied to the div element
This expectation is applied to the div element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the role attribute feature.
Rationale:
If a screen reader user is browsing the contents of a container element and the role of the container changes, the caret should stay in the same location so that the user can continue reading the document in a logical order.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: SHOULD NOT
- Voice Control: NA
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
When the role of an element changes, some AT and accessibility APIs may remove the element and all children and then replace them with the new container, which may result in the screen reader losing its caret position.
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | Chrome | not applicable | - |
JAWS | Chrome | yes |
|
JAWS | Edge | yes |
|
JAWS | Firefox | yes |
|
Narrator | Edge | yes |
|
NVDA | Chrome | yes |
|
NVDA | Edge | yes |
|
NVDA | Firefox | yes |
|
Orca | Firefox | yes |
|
TalkBack | Chrome | yes |
|
Voice Access (Android) | Chrome | not applicable | - |
Voice Control (iOS) | Safari | not applicable | - |
Voice Control (MacOS) | Safari | not applicable | - |
VoiceOver (iOS) | Safari | yes |
|
VoiceOver (macOS) | Safari | yes |
|
Windows Speech Recognition | Edge | not applicable | - |
Windows Speech Recognition | Chrome | not applicable | - |
Windows Voice Access | Edge | not applicable | - |
Windows Voice Access | Chrome | not applicable | - |
Windows Keyboard | Chrome | not applicable | - |
Windows Keyboard | Firefox | not applicable | - |
Windows Keyboard | Edge | not applicable | - |
Mac Keyboard | Chrome | not applicable | - |
Mac Keyboard | Safari | not applicable | - |
iOS Keyboard | Safari | not applicable | - |
Android Keyboard | Chrome | not applicable | - |
Extended Support for: role attribute: lose the location of the browsing caret when a container role is changed
These are less common combinations
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | IE | not applicable | - |
Dragon Naturally Speaking | Firefox | not applicable | - |
JAWS 2019.Windows 10 version 1909.28 | IE 11 | yes |
|
Narrator | Firefox | unknown | - |
Narrator | Chrome | unknown | - |
Narrator | IE | unknown | - |
NVDA | IE | unknown | - |
TalkBack | Firefox | unknown | - |
Voice Access (Android) | Firefox | not applicable | - |
VoiceOver (iOS) | Chrome | unknown | - |
VoiceOver (macOS) | Chrome | unknown | - |
VoiceOver (macOS) | Firefox | unknown | - |
Orca | Chrome | unknown | - |
Voice Control (MacOS) | Chrome | not applicable | - |
Voice Control (MacOS) | Firefox | not applicable | - |
Mac Keyboard | Firefox | not applicable | - |
Android Keyboard | Firefox | not applicable | - |
Expectation for the role attribute: convey the presence of the role attribute - applied to the div element
This expectation is applied to the div element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the role attribute feature.
Rationale:
The user needs to know when a role is defined.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: MUST
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
The expectation is that a valid role value is conveyed to end users. This expectation does not check the correctness of the role conveyed, but only that a role is conveyed. Note that roles can be conveyed in a way that is implied by context and that AT have discretion in how to actually convey the role value. For example, some screen readers may convey the actual value of the role, and others may choose to convey a slightly different value. The correctness of role values is tested on a per-value bases elsewhere in this project.
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | Chrome | yes |
|
JAWS | Chrome | yes |
|
JAWS | Edge | yes |
|
JAWS | Firefox | yes |
|
Narrator | Edge | yes |
|
NVDA | Chrome | yes |
|
NVDA | Edge | yes |
|
NVDA | Firefox | yes |
|
Orca | Firefox | yes |
|
TalkBack | Chrome | yes |
|
Voice Access (Android) | Chrome | yes |
|
Voice Control (iOS) | Safari | not applicable | - |
Voice Control (MacOS) | Safari | yes |
|
VoiceOver (iOS) | Safari | yes |
|
VoiceOver (macOS) | Safari | yes |
|
Windows Speech Recognition | Edge | unknown | - |
Windows Speech Recognition | Chrome | yes |
|
Windows Voice Access | Edge | unknown | - |
Windows Voice Access | Chrome | unknown | - |
Windows Keyboard | Chrome | not applicable | - |
Windows Keyboard | Firefox | not applicable | - |
Windows Keyboard | Edge | not applicable | - |
Mac Keyboard | Chrome | not applicable | - |
Mac Keyboard | Safari | not applicable | - |
iOS Keyboard | Safari | not applicable | - |
Android Keyboard | Chrome | not applicable | - |
Extended Support for: role attribute: convey the presence of the role attribute
These are less common combinations
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | IE | unknown | - |
Dragon Naturally Speaking | Firefox | unknown | - |
JAWS 2019.Windows 10 version 1909.28 | IE 11 | yes |
|
Narrator | Firefox | unknown | - |
Narrator | Chrome | unknown | - |
Narrator | IE | unknown | - |
NVDA | IE | unknown | - |
TalkBack | Firefox | unknown | - |
Voice Access (Android) | Firefox | unknown | - |
VoiceOver (iOS) | Chrome | unknown | - |
VoiceOver (macOS) | Chrome | unknown | - |
VoiceOver (macOS) | Firefox | unknown | - |
Orca | Chrome | unknown | - |
Voice Control (MacOS) | Chrome | unknown | - |
Voice Control (MacOS) | Firefox | unknown | - |
Mac Keyboard | Firefox | not applicable | - |
Android Keyboard | Firefox | not applicable | - |
Expectation for the role attribute: process changes in role values - applied to the div element
This expectation is applied to the div element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the role attribute feature.
Rationale:
If the role of an element changes, users need to be able to determine the new role
Strength of this expectation for different types of assistive technologies:
- Screen Readers: SHOULD
- Voice Control: SHOULD
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
Due to the way that accessibility APIs and caching mechanisms work, this may not be supported. ARIA explicitly forbids authors from changing roles in this way.
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | Chrome | yes |
|
JAWS | Chrome | yes |
|
JAWS | Edge | yes |
|
JAWS | Firefox | yes |
|
Narrator | Edge | yes |
|
NVDA | Chrome | yes |
|
NVDA | Edge | yes |
|
NVDA | Firefox | yes |
|
Orca | Firefox | yes |
|
TalkBack | Chrome | yes |
|
Voice Access (Android) | Chrome | yes |
|
Voice Control (iOS) | Safari | not applicable | - |
Voice Control (MacOS) | Safari | yes |
|
VoiceOver (iOS) | Safari | none |
|
VoiceOver (macOS) | Safari | yes |
|
Windows Speech Recognition | Edge | unknown | - |
Windows Speech Recognition | Chrome | yes |
|
Windows Voice Access | Edge | unknown | - |
Windows Voice Access | Chrome | unknown | - |
Windows Keyboard | Chrome | not applicable | - |
Windows Keyboard | Firefox | not applicable | - |
Windows Keyboard | Edge | not applicable | - |
Mac Keyboard | Chrome | not applicable | - |
Mac Keyboard | Safari | not applicable | - |
iOS Keyboard | Safari | not applicable | - |
Android Keyboard | Chrome | not applicable | - |
Extended Support for: role attribute: process changes in role values
These are less common combinations
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | IE | unknown | - |
Dragon Naturally Speaking | Firefox | unknown | - |
JAWS 2019.Windows 10 version 1909.28 | IE 11 | yes |
|
Narrator | Firefox | unknown | - |
Narrator | Chrome | unknown | - |
Narrator | IE | unknown | - |
NVDA | IE | unknown | - |
TalkBack | Firefox | unknown | - |
Voice Access (Android) | Firefox | unknown | - |
VoiceOver (iOS) | Chrome | unknown | - |
VoiceOver (macOS) | Chrome | unknown | - |
VoiceOver (macOS) | Firefox | unknown | - |
Orca | Chrome | unknown | - |
Voice Control (MacOS) | Chrome | unknown | - |
Voice Control (MacOS) | Firefox | unknown | - |
Mac Keyboard | Firefox | not applicable | - |
Android Keyboard | Firefox | not applicable | - |
Expectation for the role attribute: support fallback roles - applied to the div element
This expectation is applied to the div element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the role attribute feature.
Rationale:
If multiple roles are defined, the user needs to be made aware of the first supported role value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: MUST
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
Authors can list multiple role values within a role attribute, and each role is separated by white space. The first recognized role will be used used. This can be helpful when authors want to use a new role that is not widely supported yet, and fall back to an older role with wider support.
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | Chrome | none |
|
JAWS | Chrome | yes |
|
JAWS | Edge | yes |
|
JAWS | Firefox | yes |
|
Narrator | Edge | yes |
|
NVDA | Chrome | yes |
|
NVDA | Edge | yes |
|
NVDA | Firefox | yes |
|
Orca | Firefox | yes |
|
TalkBack | Chrome | yes |
|
Voice Access (Android) | Chrome | yes |
|
Voice Control (iOS) | Safari | not applicable | - |
Voice Control (MacOS) | Safari | yes |
|
VoiceOver (iOS) | Safari | yes |
|
VoiceOver (macOS) | Safari | yes |
|
Windows Speech Recognition | Edge | unknown | - |
Windows Speech Recognition | Chrome | yes |
|
Windows Voice Access | Edge | unknown | - |
Windows Voice Access | Chrome | unknown | - |
Windows Keyboard | Chrome | not applicable | - |
Windows Keyboard | Firefox | not applicable | - |
Windows Keyboard | Edge | not applicable | - |
Mac Keyboard | Chrome | not applicable | - |
Mac Keyboard | Safari | not applicable | - |
iOS Keyboard | Safari | not applicable | - |
Android Keyboard | Chrome | not applicable | - |
Extended Support for: role attribute: support fallback roles
These are less common combinations
AT | Browser | Has Support | Output |
---|---|---|---|
Dragon Naturally Speaking | IE | unknown | - |
Dragon Naturally Speaking | Firefox | unknown | - |
JAWS 2019.Windows 10 version 1909.28 | IE 11 | none |
|
Narrator | Firefox | unknown | - |
Narrator | Chrome | unknown | - |
Narrator | IE | unknown | - |
NVDA | IE | unknown | - |
TalkBack | Firefox | unknown | - |
Voice Access (Android) | Firefox | unknown | - |
VoiceOver (iOS) | Chrome | unknown | - |
VoiceOver (macOS) | Chrome | unknown | - |
VoiceOver (macOS) | Firefox | unknown | - |
Orca | Chrome | unknown | - |
Voice Control (MacOS) | Chrome | unknown | - |
Voice Control (MacOS) | Firefox | unknown | - |
Mac Keyboard | Firefox | not applicable | - |
Android Keyboard | Firefox | not applicable | - |
Dates and Versions of tested combinations
AT | AT Version | Browser | Browser version | OS version | Date tested |
---|---|---|---|---|---|
Dragon Naturally Speaking | 15.30 | Chrome | 78 | Windows 10 version 1903 | 2019-11-27 |
JAWS | 2021.2107.12 | Chrome | 92 | Windows 10 version 21h1 | 2021-08-07 |
JAWS | 2021.2107.12 | Edge | 92 | Windows 10 version 21h1 | 2021-08-07 |
JAWS | 2019.Windows 10 version 1909.28 | Firefox | 70 | Windows 10 version 1903 | 2019-11-27 |
Narrator | Windows 10 version 1903 | Edge | 44 | Windows 10 version 1903 | 2019-11-27 |
NVDA | 2021.1 | Chrome | 92 | Windows 10 version 21h1 | 2021-08-07 |
NVDA | 2021.1 | Edge | 92 | Windows 10 version 21h1 | 2021-08-07 |
NVDA | 2019.2.1 | Firefox | 70 | Windows 10 version 1903 | 2019-11-27 |
Orca | 3.31.4 | Firefox | 70 | Ubuntu 19.04 | 2019-11-27 |
TalkBack | 8.1 | Chrome | 78 | 10 | 2019-11-27 |
Voice Access (Android) | 3.1 | Chrome | 78 | 10 | 2019-11-27 |
Voice Control (iOS) | 13.2.3 | Safari | 13.2.3 | 13.2.3 | 2019-11-27 |
Voice Control (MacOS) | 10.15 | Safari | 13.0.3 | 10.15 | 2019-11-27 |
VoiceOver (iOS) | 13.2.3 | Safari | 13.2.3 | 13.2.3 | 2019-11-27 |
VoiceOver (macOS) | 10.15 | Safari | 13.0.3 | 10.15 | 2019-11-27 |
Windows Speech Recognition | Windows 10 version 1903 | Chrome | 78 | Windows 10 version 1903 | 2019-11-27 |
History
- 2019-11-25 Create test
- 2019-11-27 Add results for browse_caret_not_lost
- 2021-08-07 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.