ElementInternals: ariaHasPopup property

Baseline 2023
Newly available

Since October 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The ariaHasPopup property of the ElementInternals interface reflects the value of the aria-haspopup attribute, which indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

Note: Setting aria attributes on ElementInternals allows default semantics to be defined on a custom element. These may be overwritten by author-defined attributes, but ensure that default semantics are retained should the author delete those attributes, or fail to add them at all. For more information see the Accessibility Object Model explainer.

Value

A string with one of the following values:

"false"

The element does not have a popup.

"true"

The element has a popup that is a menu.

The element has a popup that is a menu.

"listbox"

The element has a popup that is a listbox.

"tree"

The element has a popup that is a tree.

"grid"

The element has a popup that is a grid.

"dialog"

The element has a popup that is a dialog.

Examples

In this example the value of ariaHasPopup is set to "true".

js
this.internals_.ariaHasPopup = "true";

Specifications

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# dom-ariamixin-ariahaspopup

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ariaHasPopup

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support