使用
时对元素的实际影响是什么aria-owns="id"
和(!)
aria-controls="id"
当使用这两个属性时,浏览器如何通知屏幕阅读器?
答案 0 :(得分:14)
当两个元素之间的关系无法从DOM层次结构本身确定时,使用aria-controls
和aria-owns
。
aria-controls
旨在表示元素控制另一个元素。 E.g。例如,视频的控制按钮,可视化编辑器的工具栏或可折叠元素的按钮。屏幕阅读器(如下颚)将宣布将视觉焦点移动到元素的快捷方式。这要求元素处于可视流程中(无display:none
)。
aria-owns
表示当关系不能由层次结构确定时,元素取决于当前元素。
总结一下,如果您有一个包含三个部分的轮播,请举例:
结果:
aria-controls
将应用于" 之前的"等按钮或者" 下一个"指向包装器。
aria-owns
将应用于标题列表的每个元素,以指向包装器中的每个元素。
标题列表中的有效元素将具有aria-selected
属性
预期效果是您可以将屏幕阅读器的视觉焦点移动到确定的元素。
答案 1 :(得分:10)
-owns和-controls之间的区别在于-owns创建一个不存在的父/子关系,-controls表示一个事物控制另一个。 所以A可以控制B,但是A不必是B的父亲。
答案 2 :(得分:2)
我们发现,这在2020年尤为重要,因为浏览器和屏幕阅读器正日益增加对咏叹调拥有者的支持,并打破了用户体验。请检查您的aria-owns代码,并确保您不是故意要使用aria-controls。