menu role (aria)
Screen Reader support level: partial (28/33)
On this page
About this feature
A type of widget that offers a list of choices to the user.
Age of results
Results across all tests for this feature range from 3 years ago to 5 years ago. Detailed dates and version information can be found in associated tests.
Caution
Failing or partial results may be out of date. The oldest result is from 3 years ago. Consider running the associated tests and contributing results.
Expectations
Screen Reader support by expectation
Expectation | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
MUST convey its role | supported | supported | supported | supported | supported | supported | supported | supported | supported | none | supported |
MUST convey the name if named | supported | supported | supported | supported | none | none | supported | supported | supported | none | none |
MUST convey the boundaries of the menu | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported |
Expectation: convey its role
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
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
APG Actions Menu Button Example Using aria-activedescendant | supported | supported | supported | supported | supported | supported | supported | supported | supported | none | supported |
Expectation: convey the name if named
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.
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
APG Actions Menu Button Example Using aria-activedescendant | supported | supported | supported | supported | none | none | supported | supported | supported | none | none |
Expectation: convey the boundaries of the menu
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
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
APG Actions Menu Button Example Using aria-activedescendant | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported |