Element: ariaHasPopup 屬性

Baseline 2023
新推出

自 ⁨2023 年 10 月⁩ 以來,此功能已在最新裝置和瀏覽器版本中得到支援。此功能可能無法在舊裝置或瀏覽器上執行。

Element 介面的 ariaHasPopup 屬性反映了 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

瀏覽器相容性