Element.ariaHasPopup

The ariaHasPopup property of the Element 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.

Syntax

var ariaHasPopup = element.ariaHasPopup;
element.ariaHasPopup = ariaHasPopup

Value

A DOMString 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.

Examples

In this example the aria-haspopup attribute on the element with an ID of animal is set to "true". Using ariaHasPopup we update the value to "false".

<div class="animals-combobox">
  <label for="animal">Animal</label>
  <input id="animal" type="text" role="combobox" aria-autocomplete="list" aria-expanded="false" aria-haspopup="true"">
  <button id="animals-button" tabindex="-1" aria-label="Open"></button>
  <ul id="animals-listbox" role="listbox" aria-label="Animals">
    <li id="animal-cat" role="option">Cat</li>
    <li id="animal-dog" role="option">Dog</li>
  </ul>
</div>
let el = document.getElementById('animal');
console.log(el.ariaHasPopup); // true
el.ariaHasPopup = "false";
console.log(el.ariaHasPopup); // false

Specifications

Specification Status Comment
Accessible Rich Internet Applications (WAI-ARIA) 1.2
The definition of 'ariaHasPopup' in that specification.
Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser