Element: ariaAutoComplete 属性

Baseline 2023
新推出

自 ⁨2023 年 10 月⁩ 以来,此功能已在最新设备和浏览器版本中得到支持。此功能可能无法在旧设备或浏览器上运行。

Element 接口的 ariaAutoComplete 属性反映了 aria-autocomplete 属性的值。该属性指示输入文本是否会触发显示用户对 combobox、searchbox 或 textbox 的预期值的预测,并指定了这些预测如果出现的话将如何呈现。

一个字符串,其值可能为以下之一:

"inline"

当用户输入文本时,可能会在插入符号之后动态插入文本,以建议一种完成输入的方式。

"list"

当用户输入文本时,可能会显示一个包含可能完成用户输入的值的集合的元素。

"both"

当用户输入文本时,可能会显示一个包含可能完成用户输入的值的集合的元素。如果显示,集合中的一个值会被自动选中,并且完成自动选中值所需的文本会出现在输入框的插入符号之后。

"none"

当用户输入文本时,不会自动显示任何试图预测用户意图完成输入的建议。

示例

在此示例中,ID 为 animal 的元素的 aria-autocomplete 属性被设置为 "inline"。使用 ariaAutoComplete,我们将值更新为 "list",这是触发 listbox 弹出窗口的 combobox 的预期值。

html
<div class="animals-combobox">
  <label for="animal">Animal</label>
  <input
    id="animal"
    type="text"
    role="combobox"
    aria-autocomplete="inline"
    aria-controls="animals-listbox"
    aria-expanded="false"
    aria-haspopup="listbox" />
  <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.ariaAutoComplete); // inline
el.ariaAutoComplete = "list";
console.log(el.ariaAutoComplete); // list

规范

规范
无障碍富互联网应用程序 (WAI-ARIA)
# dom-ariamixin-ariaautocomplete

浏览器兼容性