有关制作无障碍标签的各种ARIA指南建议使用aria-hidden="true"
隐藏除“当前”标签以外的所有标签面板。
您的想法是使用JavaScript处理选项卡上的点击,更新哪个选项卡面板具有aria-hidden="true"
属性。你可以使用像[aria-hidden] { display: none }
这样的CSS作为视觉部分。
但另一种“隐藏”元素的方法就是将它们从DOM中删除。如果您正在使用React之类的东西,这是一个实用的解决方案 - 您只需渲染当前活动的选项卡面板。因此,不需要使用aria-hidden="true"
,因为相关的选项卡面板甚至不存在。
我的问题:从可访问性的角度来看,这样做有什么问题吗?
答案 0 :(得分:3)
完全没问题。请记住,ARIA属性适用于无法使用普通html语义的情况。当您想要隐藏使用标准CSS无法隐藏的屏幕阅读器中的内容时,将使用aria-hidden
。如果您使用的是display:none
,则该元素已从屏幕阅读器中隐藏,并且不需要aria-hidden
。