我决定尝试让屏幕阅读器和其他辅助技术更易于访问我的网站。目前我真的很专注于我的导航。因为如果您真正想要的元素嵌套得很深并且接近末尾,谁愿意遍历菜单上的所有元素?
因此,我正在处理的网站有一个完全基于 CSS 的下拉菜单,我正在使用 javascript 对其进行扩充,使其可以通过键盘访问,并添加了 aria 属性以帮助屏幕阅读器。
我的问题是
鉴于我现有的菜单是纯 CSS,我想知道我现在是否需要使用 javascript 来扩充我的菜单,以便在菜单的一部分变得可见时更新 aria-hidden 属性?或者在第一个实例中将它设置为 aria-hidden="true"并保留它只是为了向屏幕阅读器指示默认状态就足够了吗?
我觉得任何使用纯 CSS 来显示/隐藏内容的东西现在都需要用 javascript 来增强 - 感觉它违背了纯 CSS 显示切换的全部目的。
最佳答案
是的,您必须在其状态更改时设置 aria-hidden。
Authors MUST set aria-hidden="true" on content that is not displayed, regardless of the mechanism used to hide it.
这个措辞向我暗示,无论您使用 CSS 还是 javascript 来切换可见性,都需要更新 aria-hidden 值。
关于javascript - 如果菜单是纯 CSS 驱动的,则更新 aria-hidden 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716386/