以下 HTML 由 jQuery Grid 插件插入:
<td role="gridcell" style="" aria-describedby="list_createdBy">Sam</td>
'aria- describeby' 属性的含义是什么?
这在aria 规范中有所描述。它给出了一个元素的 id,该元素提供了一些用户可能需要的有关当前元素的一些附加信息。
下面是如何使用 aria- describeby 属性的示例。当您有一个包含有关元素信息的文本时使用它。Aria- describeby 必须与描述它的文本的 id 相同。
First name: <input aria-describedby="name" type="text">
<em id="name">Your first name must be correct.</em>
乍一看,我会说aria-describedby
这里可能会被忽略,因为它是定义在<td>
. aria-describedby
大多数浏览器和屏幕阅读器在设置在非交互式(可聚焦)元素上时会忽略信息。
但是具体的例子有点复杂,因为role="gridcell"
它覆盖了的语义,<td>
因此如果它遵循gridcell 的 ARIA 规范,则提供的例子是有效的。这是一个自定义组件。
一般而言,该属性aria-describedby
为屏幕阅读器提供了要随元素内容公布的附加信息(不是唯一的,而是最常见的用例)。
例如,不仅"Logout"
屏幕阅读器会宣布"Logout, John Doe"
:
Logged-in as <span id="user">John Doe</span>.
<a aria-describedby="user" href="/logout">Logout</a>
或带有工具提示的示例(提示:此处缺少 Javascript 部分):
<button type="button" aria-describedby="my-tooltip">Snipping Tool</button>
<div hidden id="my-tooltip" role="tooltip">
It can take still screenshots of an open window,
rectangular areas, a free-form area,
or the entire screen.
</div>
或者带有表单元素的示例,另一个常见的用例:
<form ...>
<label for="my-name">Full name</label>
<input aria-describedby="my-name-desc" id="my-name" type="text"/>
<p id="my-name-desc">
Please tell us your full name.
</p>
</form>
当用户关注输入字段时,上面的示例将立即宣布两者<label>
和附加描述(由 定义)。aria-describedby
它不仅消除了阅读环境以了解预期输入的内容的需要,而且当<form>
屏幕阅读器用户可能更复杂时,它还可以阅读除表单控件之外的所有元素。这是与阅读页面其余部分不同的体验。因为键盘事件可以与屏幕阅读器或表单控件交互,但很难同时与两者交互。更不用说屏幕阅读器提供了许多有用的键盘快捷键,例如按“H”将跳转到下一个标题,但显然不是在<input>
聚焦字段时。然后将输入“H” <input>
。
aria-hidden
例如aria-expanded
. 但只有在正确实施和测试的情况下!a
的元素被隐藏(button
display:none
tabindex="-1"
role
role="none"
aria-describedby
都只尊重焦点模式。因此,将其添加到不可聚焦的元素是没有意义的。来自:ADGCtrl+F
(这是用户喜欢浏览网站以快速找到所需内容的常见方式)。来自:ADGaria-describedby
是将附加信息附加到交互元素(例如关联可见信息,例如与表单控件)。来自:ADGaria-describedby
(在表单控件上)和role="alert"
(在 SPAN 上)的组合来处理表单控件错误。来自:W3.org基本上,
aria- describeby属性用于通过使用 id 参考列表将描述性信息附加到一个或多个 HTML 标记(id 参考列表包含一个或多个唯一的 HTML 标记 id)。
aria- describeby属性与aria-labelledby属性(描述 HTML 标签本质的标签)非常相似,但aria- describeby属性提供了用户可能需要的有关 HTML 标签的更多信息。
aria- describeby和aria-labelledby属性主要对使用屏幕阅读器等辅助技术的用户有用。
以供参考: