元素:ariaHasPopup 属性

基线 2023

最新可用

2023 年 10 月起,此功能在最新的设备和浏览器版本中可用。此功能可能在旧设备或浏览器中不可用。

ariaHasPopup 属性是 Element 接口的属性,它反映了 aria-haspopup 属性的值,该属性指示元素触发的交互式弹出元素(例如菜单或对话框)的可用性和类型。

具有以下值之一的字符串

"false"

元素没有弹出窗口。

"true"

元素有一个弹出窗口,它是一个菜单。

元素有一个弹出窗口,它是一个菜单。

"listbox"

元素有一个弹出窗口,它是一个列表框。

"tree"

元素有一个弹出窗口,它是一个树。

"grid"

元素有一个弹出窗口,它是一个网格。

"dialog"

元素有一个弹出窗口,它是一个对话框。

警告: 请注意,不同aria-haspopup值的支持可能会根据属性指定的元素而有所不同。确保在使用aria-haspopup时,符合 ARIA 规范,并在使用必要的浏览器和辅助技术进行测试时,确保其按预期运行。

示例

在本例中,ID 为animal的元素上的aria-haspopup属性被设置为 "true"。使用ariaHasPopup,我们将该值更新为 "listbox",这是调用listbox弹出窗口的组合框的预期值。

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

规范

规范
可访问的富互联网应用 (WAI-ARIA)
# dom-ariamixin-ariahaspopup

浏览器兼容性

BCD 表格仅在浏览器中加载