使用ARIA创建可访问的选项卡时,是否可以从DOM中删除“隐藏”内容?

时间:2018-03-14 15:19:03

标签: accessibility wai-aria

有关制作无障碍标签的各种ARIA指南建议使用aria-hidden="true"隐藏除“当前”标签以外的所有标签面板。

您的想法是使用JavaScript处理选项卡上的点击,更新哪个选项卡面板具有aria-hidden="true"属性。你可以使用像[aria-hidden] { display: none }这样的CSS作为视觉部分。

但另一种“隐藏”元素的方法就是将它们从DOM中删除。如果您正在使用React之类的东西,这是一个实用的解决方案 - 您只需渲染当前活动的选项卡面板。因此,不需要使用aria-hidden="true",因为相关的选项卡面板甚至不存在。

我的问题:从可访问性的角度来看,这样做有什么问题吗?

1 个答案:

答案 0 :(得分:3)

完全没问题。请记住,ARIA属性适用于无法使用普通html语义的情况。当您想要隐藏使用标准CSS无法隐藏的屏幕阅读器中的内容时,将使用aria-hidden。如果您使用的是display:none,则该元素已从屏幕阅读器中隐藏,并且不需要aria-hidden