Showing content from https://a11ysupport.io/tests/apg__menu-button-actions-active-descendant below:
Test: APG Actions Menu Button Example Using aria-activedescendant
Test: APG Actions Menu Button Example Using aria-activedescendant
Screen Reader support level: partial (98/117)
Voice Control support level: partial (15/30)
On this page
About this test
This example demonstrates how the menu button design pattern can be used to create a button that opens an actions menu. Note: not all features present in this example are tested, as they are tested elsewhere in this project.
Submit new test results Age of results
Results in this test range from 4 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 HTMLview the external test Summary of Screen Reader support by expectation
* means that some support is hidden behind settings
Summary of Voice Control support by expectation aria-activedescendant attribute 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 Not applicable aria-controls attribute 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 Not applicable aria-haspopup attribute 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 Not applicable menu role 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 Not applicable
* means that some support is hidden behind settings
Summary of Keyboard support by expectation aria-activedescendant attribute Expectation Windows Keyboard Mac Keyboard iOS Keyboard Android Keyboard Chrome Firefox Edge Chrome Safari Safari Chrome Not applicable aria-controls attribute Expectation Windows Keyboard Mac Keyboard iOS Keyboard Android Keyboard Chrome Firefox Edge Chrome Safari Safari Chrome Not applicable aria-haspopup attribute Expectation Windows Keyboard Mac Keyboard iOS Keyboard Android Keyboard Chrome Firefox Edge Chrome Safari Safari Chrome Not applicable menu role Expectation Windows Keyboard Mac Keyboard iOS Keyboard Android Keyboard Chrome Firefox Edge Chrome Safari Safari Chrome Not applicable menuitem role Expectation Windows Keyboard Mac Keyboard iOS Keyboard Android Keyboard Chrome Firefox Edge Chrome Safari Safari Chrome Not applicable button element 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
This expectation is applied to the menu role. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the aria-activedescendant attribute feature.
Rationale:
A screen reader user needs to be aware of which descendant is currently active
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Examples:
- When navigating to an element with this attribute, screen readers will also announce the referenced element
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use double tap (or alt+enter) (Activate button) to navigate forward to `*[role="menu"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
double tap (or alt+enter)
(Activate button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 1, menu item, expanded, double tap to activate"
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: aria-activedescendant attribute: convey the referenced element as active
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use Enter or Space (Activate Button) to navigate forward to `*[role="menu"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Enter or Space
(Activate Button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "menu, Action 1, To move through items press up or down arrow."
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
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 - Back to top
This expectation is applied to the menu role. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the aria-activedescendant attribute feature.
Rationale:
A screen reader user needs to be aware of which descendant is currently active
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Examples:
- When navigating within an element with this attribute, screen readers will also announce the referenced element as the reference changes
Grading method:
All of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome not applicable
- Result: (na)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[role="menuitem"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3, menu item, double tap to activate"
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: aria-activedescendant attribute: convey when the referenced element changes
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use <keyboard command> (Keyboard command while in forms or application mode) to navigate forward to `*[role="menuitem"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
<keyboard command>
(Keyboard command while in forms or application mode)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3"
- Command Notes: press up and down arrows to navigate menu items
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 - Back to top Expectation for the aria-controls attribute: allow the user to jump to the controlled element - applied to the button element
This expectation is applied to the button element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the aria-controls attribute feature.
Rationale:
The controlled element might not be close to the element with aria-controls and the user might find it convenient to jump directly to the controlled element.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output Dragon Naturally Speaking Chrome not applicable - JAWS Chrome not applicable
- Result: (na)
- Test Case: unknown
- Launch JAWS and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button[aria-expanded="true"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: target
- Keyboard focus is: target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Insert + alt + M
(Jump to controlled element)
- After issuing the command, virtual focus should be: after target
- Record results for the relevant expectations
- Output: ""
- Command Notes: unable to navigate to the button with the menu expanded
JAWS Edge not applicable
- Result: (na)
- Test Case: unknown
- Launch JAWS and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button[aria-expanded="true"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: target
- Keyboard focus is: target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Insert + alt + M
(Jump to controlled element)
- After issuing the command, virtual focus should be: after target
- Record results for the relevant expectations
- Output: ""
- Command Notes: unable to navigate to the button with the menu expanded
JAWS Firefox yes
- Result: (pass)
- Test Case: unknown
- Launch JAWS and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button[aria-expanded="true"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: target
- Keyboard focus is: target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Insert + alt + M
(Jump to controlled element)
- After issuing the command, virtual focus should be: after target
- Record results for the relevant expectations
- Output: "move to controlled element, action 1, menu"
- Command Notes: tab to the button with it expanded, then execute this command
Narrator Edge none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Narrator and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Chrome none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Edge none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Firefox none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, submenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Orca Firefox none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Orca and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, push button, focus mode"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. TalkBack Chrome none
- Result: (fail)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `button:not([aria-expanded])`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Voice Access (Android) Chrome not applicable - Voice Control (iOS) Safari not applicable - Voice Control (MacOS) Safari not applicable - VoiceOver (iOS) Safari none
- Result: (fail)
- Test Case: Use Swipe Right (Next item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (iOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe Right
(Next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button, menu popup"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. VoiceOver (macOS) Safari none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (macOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu popup button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. 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: aria-controls attribute: allow the user to jump to the controlled element
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: unknown
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button[aria-expanded="true"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: target
- Keyboard focus is: target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Insert + alt + M
(Jump to controlled element)
- After issuing the command, virtual focus should be: after target
- Record results for the relevant expectations
- Output: "move to controlled element, action 1, menu"
- Command Notes: tab to the button with it expanded, then execute this command
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 - Back to top Expectation for the aria-controls attribute: convey the presence of the aria-controls attribute - applied to the button element
This expectation is applied to the button element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the aria-controls attribute feature.
Rationale:
Users need to be aware that an element has aria-controls functionality. If the presence of the attribute is not explicitly conveyed, then users may not be aware of the functionality. However, some screen readers may choose to not convey the presence by default since the controlled element is usually directly after the controlling element in the reading order and easily findable. In these situations, explicitly conveying the presence could be unnecessarily verbose.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: SHOULD
- Voice Control: NA
Examples:
- When supported, screen readers will often hint that an element controls another element, and may even announce the keyboard shortcut to jump to the controlled element
- Most screen readers either do not support this attribute or the setting to convey the presence is turned off by default. This is because in the vast majority of cases, the controlled element is adjacent to the element with aria-controls, and thus announcing the presence is redundant and add extra verbosity.
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
This is not a MUST requirement, because the functionality could still be discoverable via the screen reader's command to jump to the controlled element. If the command fails, the attribute is not present.
AT Browser Has Support Output Dragon Naturally Speaking Chrome not applicable - JAWS Chrome none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. JAWS Edge none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. JAWS Firefox none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Narrator Edge none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Narrator and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Chrome none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Edge none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. NVDA Firefox none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, submenu"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Orca Firefox none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Orca and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, push button, focus mode"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. TalkBack Chrome none
- Result: (fail)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `button:not([aria-expanded])`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Voice Access (Android) Chrome not applicable - Voice Control (iOS) Safari not applicable - Voice Control (MacOS) Safari not applicable - VoiceOver (iOS) Safari none
- Result: (fail)
- Test Case: Use Swipe Right (Next item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (iOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe Right
(Next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button, menu popup"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. VoiceOver (macOS) Safari none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (macOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu popup button"
- Command Notes: tab to the button with it collapsed
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. 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: aria-controls attribute: convey the presence of the aria-controls attribute
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 none
- Result: (fail)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action button, menu"
- Command Notes: tab to the button with it collapsed
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 - Back to top
This expectation is applied to the button element. Expectations and results might differ when the the feature is applied to different roles.
This expectation is from the aria-haspopup attribute feature.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Grading method:
Just one of the listed commands must pass for the expectation to pass.
Notes:
Since ARIA 1.1, the "true" value must be conveyed as the "menu" value. In ARIA 1.0, the "true" value simply conveys that a popup is available (not the type of popup). If applied to an ARIA 1.0 combobox, this should pass if the screen reader conveys that there is a popup.
AT Browser Has Support Output TalkBack Chrome partial
- Result: (partial)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `button:not([aria-expanded])`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button"
- Command Notes: tab to the button with it collapsed
- Result Notes: not announced as a menu popup
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: aria-haspopup attribute: convey the "true" value (see note)
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action button, menu"
- Command Notes: tab to the button with it collapsed
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 - Back to top
This expectation is from the menu role feature.
Rationale:
A screen reader user needs to be aware of the name of menu
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Examples:
- The accessible name of the menu is announced when entering the menu.
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use double tap (or alt+enter) (Activate button) to navigate forward to `*[role="menu"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
double tap (or alt+enter)
(Activate button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 1, menu item, expanded, double tap to activate"
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: menu role: convey the name if named
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 none
- Result: (fail)
- Test Case: Use Enter or Space (Activate Button) to navigate forward to `*[role="menu"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Enter or Space
(Activate Button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "menu, Action 1, To move through items press up or down arrow."
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
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 - Back to top
This expectation is from the menu role feature.
Rationale:
A screen reader user needs to be aware that elements are within a menu
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Examples:
- Some screen readers will explicitly convey the menu role as something like "<name> menu"
- The role may be implied by the presence of menuitem children
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use double tap (or alt+enter) (Activate button) to navigate forward to `*[role="menu"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
double tap (or alt+enter)
(Activate button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 1, menu item, expanded, double tap to activate"
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: menu role: convey its role
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use Enter or Space (Activate Button) to navigate forward to `*[role="menu"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Enter or Space
(Activate Button)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "menu, Action 1, To move through items press up or down arrow."
- Command Notes: activate the menu button, and focus will be sent to the target (menu)
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 - Back to top
This expectation is from the menu role feature.
Rationale:
A screen reader user needs to be aware when they enter and exit a menu
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Examples:
- Boundaries may be implied by posinset information
- Boundaries may be implied by no longer conveying the menu item role (if the role is explicitly conveyed)
- Boundaries may be implied by looping back to the top of the menu
- Boundaries may be explicitly conveyed by announcing something like "<name> menu" when entering and "exiting menu" when leaving
Grading method:
All of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forwards out of `ul[role="menu"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
ul[role="menu"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: within target
- Keyboard focus is: within target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: after target
- Record results for the relevant expectations
- Output: The next element was announced
- Command Notes: swipe to the element after the open menu
- Result Notes: implied by navigating to an element that is not announced as a menu item
Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: menu role: convey the boundaries of the menu
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use <keyboard command> (Keyboard command while in forms or application mode) to navigate forward to `*[role="menuitem"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
<keyboard command>
(Keyboard command while in forms or application mode)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3"
- Command Notes: press up and down arrows to navigate menu items
- Result Notes: Implied by looping back to the first item
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 - Back to top
This expectation is from the menuitem role feature.
Rationale:
A screen reader user needs to know what the menu item does
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.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[role="menuitem"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3, menu item, double tap to activate"
Voice Access (Android) Chrome yes
- Result: (pass)
- Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
- Launch Voice Access (Android) and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Tap <text>" or just "<text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: button was activated
- Command Notes: said "tap action 3"
Android Keyboard Chrome not applicable - Extended Support for: menuitem role: convey the name
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE unknown - Dragon Naturally Speaking Firefox unknown - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use <keyboard command> (Keyboard command while in forms or application mode) to navigate forward to `*[role="menuitem"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
<keyboard command>
(Keyboard command while in forms or application mode)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3"
- Command Notes: press up and down arrows to navigate menu items
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 - Back to top
This expectation is from the menuitem role feature.
Rationale:
A screen reader user needs to be aware that they are interacting with a menu item
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: MUST
Examples:
- The role may be explicitly conveyed as something like "menu item"
- The role may be implied by the announcement of a menu context
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome yes
- Result: (pass)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[role="menuitem"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3, menu item, double tap to activate"
Voice Access (Android) Chrome yes
- Result: (pass)
- Test Case: Use "Show numbers" (Turn on the numbers overlay)
- Launch Voice Access (Android) and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Show numbers"
(Turn on the numbers overlay)
- Record results for the relevant expectations
- Output: items were flagged
Android Keyboard Chrome not applicable - Extended Support for: menuitem role: convey its role
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE unknown - Dragon Naturally Speaking Firefox unknown - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use <keyboard command> (Keyboard command while in forms or application mode) to navigate forward to `*[role="menuitem"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
<keyboard command>
(Keyboard command while in forms or application mode)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3"
- Command Notes: press up and down arrows to navigate menu items
- Result Notes: implied by menu context
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 - Back to top
This expectation is from the menuitem role feature.
Rationale:
The user should be able to determine how many options are in the list and where they are in the list
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MAY
- Voice Control: NA
Examples:
- A screen reader might announce "<name> <role> <2 of 10>" when navigating through a menu
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output TalkBack Chrome none
- Result: (fail)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[role="menuitem"]`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3, menu item, double tap to activate"
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. Voice Access (Android) Chrome not applicable - Android Keyboard Chrome not applicable - Extended Support for: menuitem role: convey information about the position the menu item in the menu
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE not applicable - Dragon Naturally Speaking Firefox not applicable - JAWS 2020.2003.13 IE 11 none
- Result: (fail)
- Test Case: Use <keyboard command> (Keyboard command while in forms or application mode) to navigate forward to `*[role="menuitem"]`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
<keyboard command>
(Keyboard command while in forms or application mode)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action 3"
- Command Notes: press up and down arrows to navigate menu items
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 - Back to top Expectation for the button element: convey its name
This expectation is from the button element feature.
Rationale:
A screen reader user needs to know what to enter.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: MUST
Examples:
- A screen reader might announce the button as something like "<name>, button".
- Voice control software will let the user say something like "click <name>" to activate the control.
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output Dragon Naturally Speaking Chrome yes
- Result: (pass)
- Test Case: Use "Click <text>" (Activate item by name)
- Launch Dragon Naturally Speaking and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Click <text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: button was activated and command was recognized. However, the menu opened and then immediately closed. This appears to be a bug with the example.
- Command Notes: said "click actions"
JAWS Chrome yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
JAWS Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
JAWS Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
Narrator Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Narrator and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button"
- Command Notes: tab to the button with it collapsed
NVDA Chrome yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
NVDA Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
NVDA Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, submenu"
- Command Notes: tab to the button with it collapsed
Orca Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Orca and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, push button, focus mode"
- Command Notes: tab to the button with it collapsed
TalkBack Chrome yes
- Result: (pass)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `button:not([aria-expanded])`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button"
- Command Notes: tab to the button with it collapsed
Voice Access (Android) Chrome yes
- Result: (pass)
- Test Case: Use "Tap <text>" or just "<text>" (Activate item by name)
- Launch Voice Access (Android) and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Tap <text>" or just "<text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: button was activated
- Command Notes: said "tap actions"
Voice Control (iOS) Safari yes
- Result: (pass)
- Test Case: Use "Tap <text>" (Activate item by name)
- Launch Voice Control (iOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Tap <text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: button was activated
- Command Notes: said "tap actions"
Voice Control (MacOS) Safari none
- Result: (fail)
- Test Case: Use "Click <text>" (Activate item by name)
- Launch Voice Control (MacOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Click <text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: Other links on the page were clicked. Could not get it to click the button
- Command Notes: said "click actions"
- Grading note: This command may be expected to fail. This result simply indicates that it did not yield support.
Grading Note: There is no known/documented support. There may still be support for this expectation, but it is undocumented. If this is the case, please report this issue. VoiceOver (iOS) Safari yes
- Result: (pass)
- Test Case: Use Swipe Right (Next item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (iOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe Right
(Next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button, menu popup"
- Command Notes: tab to the button with it collapsed
VoiceOver (macOS) Safari yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (macOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu popup button"
- Command Notes: tab to the button with it collapsed
Windows Speech Recognition Edge unknown - Windows Speech Recognition Chrome yes
- Result: (pass)
- Test Case: Use "Click <text>" (Activate item by name)
- Launch Windows Speech Recognition and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Click <text>"
(Activate item by name)
- Record results for the relevant expectations
- Output: "button was activated and command was recognized. However, the menu opened and then immediately closed. This appears to be a bug with the example."
- Command Notes: said "click actions"
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: button element: convey its name
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE unknown - Dragon Naturally Speaking Firefox unknown - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action button, menu"
- Command Notes: tab to the button with it collapsed
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 - Back to top Expectation for the button element: convey its role
This expectation is from the button element feature.
Rationale:
A screen reader user needs to know how they can interact with the element. Voice control software might use the role to help users activate controls that do not have a visible name.
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: MUST
Examples:
- A screen reader might be announce the role as something like "button".
- Voice control software will let the user say something like "click button".
Grading method:
Just one of the listed commands must pass for the expectation to pass.
AT Browser Has Support Output Dragon Naturally Speaking Chrome yes
- Result: (pass)
- Test Case: Use Click <role> (Click Type)
- Launch Dragon Naturally Speaking and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
Click <role>
(Click Type)
- Record results for the relevant expectations
- Output: button was activated and command was recognized. However, the menu opened and then immediately closed. This appears to be a bug with the example.
- Command Notes: said "click button"
JAWS Chrome yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
JAWS Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
JAWS Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button, menu"
- Command Notes: tab to the button with it collapsed
Narrator Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Narrator and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, button"
- Command Notes: tab to the button with it collapsed
NVDA Chrome yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
NVDA Edge yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Edge.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, subMenu"
- Command Notes: tab to the button with it collapsed
NVDA Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch NVDA and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu button, submenu"
- Command Notes: tab to the button with it collapsed
Orca Firefox yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch Orca and Firefox.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, push button, focus mode"
- Command Notes: tab to the button with it collapsed
TalkBack Chrome yes
- Result: (pass)
- Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `button:not([aria-expanded])`
- Launch TalkBack and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe right (or alt+right arrow)
(Read next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button"
- Command Notes: tab to the button with it collapsed
Voice Access (Android) Chrome yes
- Result: (pass)
- Test Case: Use "Show numbers" (Turn on the numbers overlay)
- Launch Voice Access (Android) and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Show numbers"
(Turn on the numbers overlay)
- Record results for the relevant expectations
- Output: items were flagged
Voice Control (iOS) Safari not applicable - Voice Control (MacOS) Safari yes
- Result: (pass)
- Test Case: Use "Show numbers" (Turn on the numbers overlay)
- Launch Voice Control (MacOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Show numbers"
(Turn on the numbers overlay)
- Record results for the relevant expectations
- Output: button was flagged, but when the menu was opened, nothing was flagged
VoiceOver (iOS) Safari yes
- Result: (pass)
- Test Case: Use Swipe Right (Next item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (iOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Swipe Right
(Next item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, popup button, menu popup"
- Command Notes: tab to the button with it collapsed
VoiceOver (macOS) Safari yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch VoiceOver (macOS) and Safari.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "actions, menu popup button"
- Command Notes: tab to the button with it collapsed
Windows Speech Recognition Edge unknown - Windows Speech Recognition Chrome yes
- Result: (pass)
- Test Case: Use "Show numbers" (Turn on the numbers overlay)
- Launch Windows Speech Recognition and Chrome.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
*[role="menuitem"]
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Issue the command:
"Show numbers"
(Turn on the numbers overlay)
- Record results for the relevant expectations
- Output: menu items were flagged with numbers
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: button element: convey its role
These are less common combinations
AT Browser Has Support Output Dragon Naturally Speaking IE unknown - Dragon Naturally Speaking Firefox unknown - JAWS 2020.2003.13 IE 11 yes
- Result: (pass)
- Test Case: Use Tab (Read next focusable item) to navigate forward to `button:not([aria-expanded])`
- Launch JAWS and IE.
- Navigate to the test page.
- Find the target element(s) that you will test against. Identify all elements that match this selector:
button:not([aria-expanded])
- If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
- Position and configure the screen reader so that the following conditions are met
- Virtual focus is: before target
- Keyboard focus is: before target
- Mode is: auto (do not explicitly change the mode)
- Issue the command:
Tab
(Read next focusable item)
- After issuing the command, virtual focus should be: target
- Record results for the relevant expectations
- Output: "action button, menu"
- Command Notes: tab to the button with it collapsed
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 - Back to top Dates and Versions of tested combinations AT AT Version Browser Browser version OS version Date tested Dragon Naturally Speaking 15.30 Chrome 80 Windows 10 version 1909 2020-03-30 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 2020.2003.13 Firefox 74 Windows 10 version 1909 2020-11-09 Narrator Windows 10 version 1909 Edge 44 Windows 10 version 1909 2020-03-30 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.3.1 Firefox 74 Windows 10 version 1909 2020-03-30 Orca 3.34.0 Firefox 74 Ubuntu 19.10 2020-03-30 TalkBack 8.1 Chrome 80 10 2020-03-30 Voice Access (Android) 3.1 Chrome 80 10 2020-03-30 Voice Control (iOS) 13.3.1 Safari 13.3.1 13.3.1 2020-03-30 Voice Control (MacOS) 10.15.3 Safari 13.0.5 10.15.3 2020-03-30 VoiceOver (iOS) 15.0.2 Safari 15.0.2 15.0.2 2021-11-10 VoiceOver (macOS) 12.0.1 Safari 15.1 12.0.1 2021-11-10 Windows Speech Recognition Windows 10 version 1909 Chrome 80 Windows 10 version 1909 2020-03-30 History
- 2020-03-30 Draft test
- 2020-11-09 Update JAWS support for aria-controls. JAWS 2020 no longer has a setting to convey the presence of the attribute.
- 2021-08-07 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.
- 2021-11-10 Retested with VoiceOver. No major changes.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4