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

aria-haspopup attribute (aria)

Screen reader support level: partial (51/105)

Voice Control support level: unknown

On this page

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 3 months ago to 2 years ago. Detailed dates and version information can be found in associated tests.

Failing and partial results are between 2 years ago and 2 years ago.

Expectations

What are expectations?

Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey the "false" valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the "dialog" valuenonenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "grid" valuenonenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "listbox" valuenonenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "menu" valuesupportedsupportedsupportednonesupportedsupportedsupportednonepartialsupportedsupported
MUST convey the "tree" valuenonenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "true" value (see note)supportedsupportedsupportednonesupportedsupportedsupportednonepartialsupportedsupported

Voice Control support by expectation

ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech Recognition
ChromeChromeSafariSafariChrome
Not applicable

Expectation: convey the "false" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "false" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

Expectation: convey the "dialog" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "dialog" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonenonepartialsupportedsupported

Expectation: convey the "grid" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "grid" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonenonepartialsupportedsupported

Expectation: convey the "listbox" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "listbox" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
DRAFT ARIA 1.2 Editable Combobox With List Autocomplete Example applied to: combobox rolenonenonenonesupportednonenonenonenonenonesupportedsupported
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonenonepartialsupportedsupported

Expectation: convey the "menu" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "menu" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementsupportedsupportedsupportednonesupportedsupportedsupportednonepartialsupportedsupported

Expectation: convey the "tree" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA
Screen Reader support for 'MUST convey the "tree" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonenonepartialsupportedsupported

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.