aria-haspopup attribute (aria)
Screen reader support level: partial (46/100)
Voice Control support level: unknown
On this page
- About this feature
- Age of results
- Expectations
- Related tests
- Related AT or browser issues
- Is something not right?
About this feature
This attribute indicates the availability and type of interactive popup element, such as menu or dialog.
Aria 1.0 values are well supported, such as true
, false
, and menu
(which is the same as true
). New values such as dialog
, grid
, listbox
, and tree
are not supported. This lack of support might cause significant issues for screen reader users. For example, aria-haspopup="listbox"
being announced as aria-haspopup="menu"
could lead users to think that something the behaves like a native <select>
(listbox
) is a menu
.
Age of results
Results across all tests for this feature range from 2 years ago to 4 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 4 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 the "false" value | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported |
MUST convey the "dialog" value | none | none | none | none | none | none | none | none | partial | supported | supported |
MUST convey the "grid" value | none | none | none | none | none | none | none | none | partial | supported | supported |
MUST convey the "listbox" value | none | none | none | partial (1/2) | none | none | none | none | some partial support | supported | supported |
MUST convey the "menu" value | supported | supported | supported | none | supported | supported | supported | none | partial | supported | supported |
MUST convey the "tree" value | none | none | none | none | none | none | none | none | partial | supported | supported |
MUST convey the "true" value (see note) | supported | supported | supported | none | supported | supported | supported | none | partial | supported | supported |
Voice Control support by expectation
Expectation | Dragon Naturally Speaking | Voice Access (Android) | Voice Control (iOS) | Voice Control (MacOS) | Windows Speech Recognition | Windows Voice Access | ||
---|---|---|---|---|---|---|---|---|
Chrome | Chrome | Safari | Safari | Edge | Chrome | Edge | Chrome | |
Not applicable |
Expectation: convey the "false" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
aria-haspopup attribute applied to: button element | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported | supported |
Expectation: convey the "dialog" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Expectation: convey the "grid" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Expectation: convey the "listbox" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
DRAFT ARIA 1.2 Editable Combobox With List Autocomplete Example applied to: combobox role | none | none | none | supported | none | none | none | none | none | supported | supported |
aria-haspopup attribute applied to: button element | none | none | none | none | none | none | none | none | partial | supported | supported |
Expectation: convey the "menu" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Test | JAWS | Narrator | NVDA | Orca | TalkBack | VoiceOver (iOS) | VoiceOver (macOS) | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Edge | Chrome | Edge | Firefox | Firefox | Chrome | Safari | Safari | |
aria-haspopup attribute applied to: button element | supported | supported | supported | none | supported | supported | supported | none | partial | supported | supported |
Expectation: convey the "tree" value
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
Expectation: convey the "true" value (see note)
Strength of this expectation for different types of assistive technologies:
- Screen Readers: MUST
- Voice Control: NA
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.
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 applied to: button element | supported | supported | supported | none | supported | supported | supported | none | partial | supported | supported |
aria-haspopup attribute applied to: button element | supported | supported | supported | none | supported | supported | supported | none | partial | supported | supported |