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

aria-haspopup attribute (aria)

Screen reader support level: partial (39/81)

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 9 months ago to 2 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 2 years ago. Consider running the associated tests and contributing results.

Expectations

What are expectations?

Screen Reader support by expectation

ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
MUST convey the "false" valuesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the "dialog" valuenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "grid" valuenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "listbox" valuenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "menu" valuesupportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported
MUST convey the "tree" valuenonenonenonenonenonenonenonepartialsupportedsupported
MUST convey the "true" value (see note)supportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonepartialsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonepartialsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
DRAFT ARIA 1.2 Editable Combobox With List Autocomplete Example applied to: combobox rolenonenonenonesupportednonenonenonenonesupportedsupported
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonepartialsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementsupportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported

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)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
aria-haspopup attribute applied to: button elementnonenonenonenonenonenonenonepartialsupportedsupported

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.