先记住这个答案
accesskey 允许给元素指定访问键,但用户实际要按的组合键由浏览器、操作系统和辅助技术共同决定。一个字母可能与浏览器菜单或读屏命令冲突,也可能在某种键盘布局里难以输入。对一般网站,稳定的原生 Tab 导航、清晰标签与显式可见操作通常更可靠;只有明确目标环境和高频操作需求时,才谨慎考虑访问键。
- 组合键由浏览器和系统决定
- 可能与已有快捷键冲突
- 不同键盘布局未必都有目标键
- 功能必须有正常可见操作入口
一个保存键在不同电脑上不一样
后台系统想给“保存”按钮设 S 键。开发者电脑上组合键可用,不代表其他浏览器、Mac 或读屏环境也可用;用户也不一定知道页面有这条捷径。
<button type="submit" accesskey="s">
保存
</button>
<p>可通过页面帮助查看可用快捷键。</p>这个按钮仍能用鼠标点击和 Tab 加回车操作,访问键只是额外入口。实际组合键不能在帮助里只写“按 S”,应根据目标平台说明,并检查是否与常用系统命令冲突。 页面上有多个重复访问键时行为也可能让用户困惑。快捷键设计要成体系,避免不同组件各自占用同一个字母。
什么时候可以考虑使用
受控的内部工具、固定浏览器和键盘环境,且某个操作一天要重复许多次,访问键才可能带来实际收益。即便如此,也要先测试目标环境的冲突和国际键盘,并提供关闭或修改策略。
面向公众的网站设备太多,隐藏快捷键通常不是改善可访问性的捷径。先确保语义控件、焦点顺序和可见标签可靠,必要时再提供用户可配置的快捷键方案。
把 accesskey="s" 写在保存按钮上,实际按键组合由浏览器和操作系统决定,用户未必能猜到,更可能与屏幕阅读器或浏览器快捷键冲突。若产品确需快捷操作,应在按钮附近明确说明按键,并允许用户查看或修改快捷键。不要给每个按钮都分配访问键;页面一多,冲突和记忆负担会迅速增加。普通表单优先保证 Tab 顺序、可见焦点和按钮标签清楚,通常比增加 accesskey 更有帮助。
容易答错的地方
- 以为
accesskey="s"就是按一次 S - 浏览器通常要求修饰键,组合方式随平台变化。
- 把快捷键当成按钮的唯一入口
- 用户可能不知道、无法输入或遇到冲突,重要操作仍应有可见且可聚焦的控件。
面试官还会怎么问?
能在移动设备上依赖 accesskey 吗?
不适合。触屏设备可能没有物理键盘,访问键不应承担唯一操作路径。
如何减少冲突?
了解目标系统和辅助技术的常用组合键,限制数量,测试实际环境,并让用户能发现或调整。
键盘可访问性最先检查什么?
先用 Tab 和回车、空格走完整个流程,保证自然焦点顺序和原生控件能用。
参考资料
示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。