You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

给当前导航菜单项添加tabindex="-1"是否是合规的无障碍开发实践?

结论

你这种给当前页导航链接添加tabindex="-1"的操作不属于通用无障碍优化手段,反而会对部分用户造成体验障碍,不建议使用。

具体原因

  • 不符合键盘用户的操作预期:绝大多数键盘导航用户已经习惯了导航菜单的固定Tab遍历顺序,直接跳过当前页链接会让用户误以为漏读了菜单项,视障用户无法直观看到当前链接的高亮样式,更容易产生困惑。
  • 和aria-current="page"的语义作用重叠:你已经为当前链接添加了规范要求的aria-current="page"属性,主流屏幕阅读器都会在识别到该属性时主动播报“当前页面”的提示,用户完全可以感知到该链接对应当前访问的页面,不需要额外通过移除可聚焦性做限制。
  • 会造成额外的操作障碍:部分用户可能存在选中当前导航链接复制URL的需求,tabindex="-1"会导致键盘用户无法正常聚焦该链接,反而阻碍了正常操作。

更合理的优化方案

保留现有逻辑里的aria-current="page"设置即可,这是WAI-ARIA规范明确推荐的当前导航标识方案,已经能覆盖屏幕阅读器用户的使用需求。
额外可以给当前链接的CSS补充pointer-events: none属性,阻止鼠标点击的无效操作,不需要修改Tab聚焦逻辑。

另外补充一个代码小问题:你JS代码里用到的getAttribute("href", "/")写法不符合规范,getAttribute方法只接受1个参数,无法传入默认值,建议修改为linkCurrentItem.getAttribute("href") || "/"来实现你要的默认值效果。

内容的提问来源于stack exchange,提问作者Naj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:06:04