我想知道是否有人可以从可访问性的 Angular 向我解释一下,显式为菜单项 anchor 提供 -1 的选项卡索引背后的逻辑。我想给我的菜单项一个选项卡索引 0,因为它们的自然顺序就是我想要的顺序。这种策略有什么缺点吗?
最佳答案
tabindex="-1"
将其打乱顺序,BUT 允许通过脚本将键盘焦点移动到那里。
jQuery 菜单是 WAI-ARIA menu widget 的一个示例其中有 specified keyboard interaction .
简单地说,菜单应该是按 Tab 键顺序的一个制表位,然后您可以使用箭头键来导航菜单。这就是为什么 -1
是一个有用的值,您可以使用箭头键编写键盘焦点移动的脚本。使用 0
会破坏交互模型,因此如果您想以这种方式更改它,我不会使用 jQuery 菜单。
我在可用性测试中发现很少有人知道这种交互(即他们被卡住了),至少对于大多数满足于一个 WAI-ARIA 小部件的“标准”网站来说是这样。对于 Gmail 之类的东西来说,情况有所不同,人们(可能)期望获得更像应用程序的体验。
如果您正在寻找网站导航意义上的菜单,我会推荐 Adobe OS mega-menu ,它使用标准脚本和一些 ARIA 属性的组合来为常规网站提供出色的体验。
关于javascript - 辅助功能:为什么 Jquery 菜单显式将菜单项 tabindex 设置为 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364840/