Notice: This is a work in progress. Please submit feedback or suggestions.

aria-haspopup attribute (aria)

Support level: partial (19/63)

On this page

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.

VoiceOver support is marked as partial because it always announces the property as either 'popup button' or 'shows popup', and does not try to convey what type of popup will be displayed. This is less misleading than screen readers that announce everything as menu, but does not provide full support.

Expectations

Expectations are conditions that must be met for the feature to be considered as "supported". Only "MUST" expectations need to be met for minimal "support". "SHOULD" and "MAY" expectations indicates support that goes above and beyond. Note that there is not an explicit standard that dictates these expectations, and as such, they are likely opinionated. As such, a feature might not meet all "MUST" expectations but still be usable (potentially frustratingly so). Additionally, the assistive technology may provide many different commands to read, navigate, or otherwise interact with a feature. Only one command is required to pass for the expectation to be minimally supported.

Summary of support by expectation type

MUSTSHOULDMAY
partial (19/63)

Summary of support by expectation and assistive technology

ExpectationDragon Naturally SpeakingJAWSNarratorNVDATalkBackVoiceOver for iOSVoiceOver for macOS
MUST convey the "false" valuenot applicablesupportedsupportedsupportedsupportedsupportedsupported
MUST convey the "dialog" valuenot applicablenonenonenonepartialpartialpartial
MUST convey the "grid" valuenot applicablenonenonenonepartialpartialpartial
MUST convey the "listbox" valuenot applicablenonenonenonepartialpartialpartial
MUST convey the "menu" valuenot applicablesupportednonesupportedpartialpartialpartial
MUST convey the "tree" valuenot applicablenonenonenonepartialpartialpartial
MUST convey the "true" value as the "menu" valuenot applicablesupportednonesupportedpartialpartialpartial

The screen reader MUST convey the "false" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromesupported
JAWSInternet Explorersupported
JAWSFirefox (desktop)supported
NarratorMicrosoft Edgesupported
NVDAGoogle Chromesupported
NVDAFirefox (desktop)supported
TalkBackGoogle Chrome (android)supported
VoiceOver for iOSSafari (iOS)supported
VoiceOver for macOSSafari (macOS)supported

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "dialog" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromenone
JAWSInternet Explorernone
JAWSFirefox (desktop)none
NarratorMicrosoft Edgenone
NVDAGoogle Chromenone
NVDAFirefox (desktop)none
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "grid" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromenone
JAWSInternet Explorernone
JAWSFirefox (desktop)none
NarratorMicrosoft Edgenone
NVDAGoogle Chromenone
NVDAFirefox (desktop)none
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "listbox" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromenone
JAWSInternet Explorernone
JAWSFirefox (desktop)none
NarratorMicrosoft Edgenone
NVDAGoogle Chromenone
NVDAFirefox (desktop)none
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "menu" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromesupported
JAWSInternet Explorersupported
JAWSFirefox (desktop)supported
NarratorMicrosoft Edgenone
NVDAGoogle Chromesupported
NVDAFirefox (desktop)supported
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "tree" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromenone
JAWSInternet Explorernone
JAWSFirefox (desktop)none
NarratorMicrosoft Edgenone
NVDAGoogle Chromenone
NVDAFirefox (desktop)none
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)

The screen reader MUST convey the "true" value as the "menu" value

ATBrowserHas Support
Dragon Naturally SpeakingGoogle Chromenot applicable
JAWSGoogle Chromesupported
JAWSInternet Explorersupported
JAWSFirefox (desktop)supported
NarratorMicrosoft Edgenone
NVDAGoogle Chromesupported
NVDAFirefox (desktop)supported
TalkBackGoogle Chrome (android)partial
VoiceOver for iOSSafari (iOS)partial
VoiceOver for macOSSafari (macOS)partial

This expectation is referenced by 1 tests.

Tests that reference this expectation
test namehas support
aria-haspopup attributepartial (19/63)