ARIA:aria-describedby 属性

全局 aria-describedby 属性用于标识为该属性设置的元素提供描述的元素(或元素集合)。

描述

aria-describedby 属性列出了描述该对象的元素的 id。它用于在控件或控件组与其描述文本之间建立关联。

aria-describedby 属性不限于表单控件。它还可以用于将静态文本与控件、元素组、带有标题的区域、定义等关联起来。aria-describedby 属性可用于语义化 HTML 元素以及具有 ARIA role 的元素。

aria-describedby 属性与 aria-labelledby 属性非常相似。虽然 aria-labelledby 列出了描述对象本质的标签或元素的 id,但 aria-describedby 列出了提供用户可能需要的更多信息的描述或元素的 idaria-labelledbyaria-describedby 都引用其他元素来计算文本替代,但标签应该是简洁的,而描述旨在提供更详细的信息;标签描述对象的本质,而描述提供用户可能需要的更多信息。

通过 aria-describedby 链接的元素不需要可见。即使元素隐藏,也可以引用它。例如,表单控件可以有一个默认隐藏的描述,通过“更多信息”图标等披露控件在请求时显示。视力用户点击图标查看描述,而辅助技术用户可以立即访问它,因为描述已通过 aria-describedby 从该表单控件引用。

当关联内容包含纯文本时,aria-describedby 属性是合适的。如果内容很长、包含有用的语义或具有需要用户导航的复杂结构,请改用 aria-detailsaria-details 允许辅助技术用户访问关联的结构化内容,并提供额外的导航命令,从而更容易理解结构或以小片段的形式体验信息。

注意: aria-describedby 内容应仅为文本字符串。如果内容中存在重要的底层语义,请考虑使用 aria-details

示例

html
<button aria-describedby="trash-desc">Move to trash</button>
…
<p id="trash-desc">
  Items in the trash will be permanently removed after 30 days.
</p>

注意: aria-describedby 属性并非设计用于引用外部资源的描述。由于其值是一个或多个 id(如果多个则以空格分隔),因此它必须引用同一 DOM 文档中的元素。

ID 引用列表

描述当前元素的元素 id 或以空格分隔的元素 id 列表。

相关接口

Element.ariaDescribedByElements

ariaDescribedByElements 属性是每个元素的接口的一部分。其值是一个 Element 子类的数组,这些子类反映了 aria-describedby 属性中的 id 引用(存在一些注意事项)。

ElementInternals.ariaDescribedByElements

ariaDescribedByElements 属性是每个自定义元素的接口的一部分。其值是一个 Element 子类的数组,这些子类反映了 aria-describedby 属性中的 id 引用(存在一些注意事项)。

相关角色

用于所有角色。也可用于所有 HTML 元素。

规范

规范
无障碍富互联网应用程序 (WAI-ARIA)
# aria-describedby

另见