-
Notifications
You must be signed in to change notification settings - Fork 22.4k
/
index.md
70 lines (56 loc) · 2.24 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
title: "Element: ariaHasPopup property"
short-title: ariaHasPopup
slug: Web/API/Element/ariaHasPopup
page-type: web-api-instance-property
browser-compat: api.Element.ariaHasPopup
---
{{DefaultAPISidebar("DOM")}}
The **`ariaHasPopup`** property of the {{domxref("Element")}} interface reflects the value of the [`aria-haspopup`](/en-US/docs/Web/Accessibility/ARIA/Attributes/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.
## 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 different `aria-haspopup` values can vary depending on the element to which the attribute is specified. Ensure that when using `aria-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, the `aria-haspopup` attribute on the element with an ID of `animal` is set to "`true`". Using `ariaHasPopup`, we update the value to "`listbox`", which is the expected value for a combobox that invokes a `listbox` popup.
```html
<div class="animals-combobox">
<label for="animal">Animal</label>
<input
id="animal"
type="text"
role="combobox"
aria-autocomplete="list"
aria-controls="animals-listbox"
aria-activedescendant=""
aria-expanded="false"
aria-haspopup="true" />
<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>
```
```js
let el = document.getElementById("animal");
console.log(el.ariaHasPopup); // true
el.ariaHasPopup = "listbox";
console.log(el.ariaHasPopup); // listbox
```
## Specifications
{{Specifications}}
## Browser compatibility
{{Compat}}