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

aria-haspopup attribute (aria)

Screen reader support level: partial (39/80)

Voice Control support level: not applicable

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 6 months ago to a year ago. Detailed dates and version information can be found in associated tests.

Failing and partial results are between a year ago and a year ago.

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 as the "menu" valuesupportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported

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
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 as 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 "true" value as the "menu" value'
TestJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeIEFirefoxEdgeChromeFirefoxFirefoxChromeSafariSafari
APG Actions Menu Button Example Using aria-activedescendant applied to: button elementsupportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported
aria-haspopup attribute applied to: button elementsupportedsupportedsupportednonesupportedsupportednonepartialsupportedsupported