我可以使用aria- describeby引用多个元素吗?

时间:2018-11-20 17:57:33

标签: accessibility wai-aria web-accessibility

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

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

2 个答案:

答案 0 :(得分:5)

是的。 aria-describedby(和aria-labelledby)属性采用“ ID参考列表”作为其值。当您以这种方式关联多个元素时,它们会串联成一个描述字符串。

需要注意的几件事:

  • 标点符号。如果将这2个引用的元素用作单独的句子,则有助于在句号前加上句号,以便屏幕阅读器可以更自然地宣布它。或者,您可以使用多个引用来构建一个句子。这取决于您的情况。
  • aria-describedby并非对所有元素都有效。在您的示例中,属性位于div元素上,该元素通常不起作用。在交互式元素和地标区域上使用时,效果更好。请参见Short note on aria-label, aria-labelledby, and aria-describedby以获取指导。
  • 所引用的元素将构成可访问描述的一部分,无论它们是否可见。如果以这种方式关联错误消息,请小心。有关指导,请参见Hidden or visible – makes no difference

答案 1 :(得分:2)

绝对。

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

  

标识描述对象的元素(或元素