ElementInternals: ariaInvalid 属性

Baseline 2023
新推出

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

ElementInternals 接口的 ariaInvalid 属性反映了 aria-invalid 属性的值。该属性与 applicationcheckboxcomboboxgridcelllistboxradiogroupsliderspinbuttontextboxtree 角色相关,它向辅助功能 API 指出输入的​​值是否不符合应用程序预期的格式。

注意:ElementInternals 上设置 ARIA 属性允许为自定义元素定义默认语义。这些语义可能会被作者定义的属性覆盖,但可以确保在作者删除这些属性或根本未添加这些属性时,默认语义仍然保留。有关更多信息,请参阅 Accessibility Object Model explainer

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

"true"

元素无效。

"false"(默认)

元素处于非无效状态。

"grammar"

元素因检测到语法错误而处于无效状态。

"spelling"

元素因检测到拼写错误而处于无效状态。

示例

在此示例中,我们定义并创建了一个 <custom-text> 元素,然后从文档中的第一个 <custom-text> 元素检索 ariaInvalid 的值。

js
class CustomControl extends HTMLElement {
  constructor() {
    super();
    this._internals = this.attachInternals();
    this._internals.ariaInvalid = "false";
  }
  // …
}

window.customElements.define("custom-text", CustomControl);

const element = document.querySelector("custom-text");
console.log(element._internals.ariaInvalid);

规范

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

浏览器兼容性

另见