You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用aria-describedby引用含非纯文本内容的描述是否合法?

关于aria-describedby包含元素的合法性问题

你的代码示例如下:

<label for="input">Description<label>
<textarea id="input" aria-describedby="help"></textarea>
<div id="help">
  <kbd>Enter<kbd> to create a new line
</div>

MDN相关说明翻译如下:

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

针对你的问题,解答如下:

  • 语法层面:这种写法不会触发语法错误,多数屏幕阅读器仍会读取<kbd>元素内的文本内容,不会直接导致功能失效。
  • 最佳实践层面:这不符合WAI-ARIA的设计意图。aria-describedby的定位是提供纯文本描述,<kbd>元素携带的“键盘按键”语义属于重要的底层语义信息,这类内容更适合通过aria-details来引用。
  • 实际影响:若继续使用aria-describedby,屏幕阅读器只会提取纯文本,<kbd>的特殊语义会丢失,辅助技术用户无法感知到这是一个键盘操作提示;改用aria-details则能保留并传递<kbd>的语义,让用户准确理解提示内容。

内容的提问来源于stack exchange,提问作者darkhorse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 05:58:12