14

如果我有两个元素一起描述一个元素,我可以aria-describedby像这样在属性上使用两个 id 吗?

<div id="description-1"></div>
<div id="description-2"></div>
<div aria-describedby="description-1 description-2"></div>

4

2 回答 2

19

是的。aria- describeby(和 aria-labelledby)属性需要一个ID 引用列表作为它的值。可以提供多个 ID,以空格分隔。当您以这种方式关联多个元素时,它们将连接成一个描述字符串。

需要注意的几点:

  • 标点。如果 2 个引用的元素打算作为单独的句子,它有助于放置一个句号(句点),以便屏幕阅读器可以更自然地宣布它。或者,您可以使用多个参考来构建一个句子。这取决于你的场景。
  • aria-describedby并非对所有元素都有效。在您的示例中,该属性位于一个div元素上,这通常不起作用。它在用于交互元素和地标区域时效果更好。有关指导,请参阅关于 aria-label、aria-labelledby 和 aria- describeby的简短说明。
  • 引用的元素将构成可访问描述的一部分,无论它们是否可见。如果以这种方式关联错误消息,请小心。请参阅 隐藏或可见 - 此处的指导没有区别

有关更多详细信息,请参阅 HTML Accessibility API Mappings 1.0 中的无障碍名称和描述计算规则。

于 2018-11-21T03:34:20.207 回答
2

绝对地。

https://www.w3.org/TR/wai-aria/#aria- describeby

标识描述对象的元素(或多个元素)

于 2018-11-20T22:05:33.787 回答