Element: ariaHasPopup property
Baseline 2023Newly available
Since October 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
TheariaHasPopup property of theElement interface reflects the value of thearia-haspopup attribute, which indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.
In this article
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.
"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.
Warning:Be aware that support for the differentaria-haspopup values can vary depending on the element to which the attribute is specified. Ensure that when usingaria-haspopup, it is done in accordance to the ARIA specification, and that it behaves as expected when testing with necessary browsers and assistive technologies.
Examples
In this example, thearia-haspopup attribute on the element with an ID ofanimal is set to"true". UsingariaHasPopup, we update the value to"listbox", which is the expected value for a combobox that invokes alistbox popup.
<div> <label for="animal">Animal</label> <input type="text" role="combobox" aria-autocomplete="list" aria-controls="animals-listbox" aria-activedescendant="" aria-expanded="false" aria-haspopup="true" /> <ul role="listbox" aria-label="Animals"> <li role="option">Cat</li> <li role="option">Dog</li> </ul></div>let el = document.getElementById("animal");console.log(el.ariaHasPopup); // trueel.ariaHasPopup = "listbox";console.log(el.ariaHasPopup); // listboxSpecifications
| Specification |
|---|
| Accessible Rich Internet Applications (WAI-ARIA)> # dom-ariamixin-ariahaspopup> |