Important: This website does not attempt to establish a standard for how assistive technologies must behave. Read the FAQ for more information. Additionally, this is a work in progress. Please submit feedback or suggestions.

aria-haspopup attribute (aria)

Screen Reader support level: partial (78/99)

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

Failing and partial results are between 6 months ago and 4 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" valuesupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported
MUST convey the "grid" valuesupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported
MUST convey the "listbox" valuepartial (1/2)partial (1/2)partial (1/2)partial (1/2)partial (1/2)partial (1/2)partial (1/2)partial (1/2)some partial supportsupportedsupported
MUST convey the "menu" valuesupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the "tree" valuesupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported
MUST convey the "true" value (see note)supportedsupportedsupportedsome partial supportsupportedsupportedsupportedpartial (1/2)partial (1/2)supportedsupported

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 elementsupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported

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 elementsupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported

Expectation: convey the "listbox" value

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

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 elementsupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedsupportedsupportedsupported

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 elementsupportedsupportedsupportedpartialsupportedsupportedsupportedsupportedpartialsupportedsupported

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.