accesskey属性需配合修饰键(如Alt、Ctrl+Alt等)触发,非单键跳转;值仅限单字符,跨浏览器组合键不统一,冲突多、不可发现,实际可用性低。
accesskey 不是“按一个键就能跳转到元素”,它需要配合特定修饰键才能激活,不同系统和浏览器的组合键不同:Alt + accesskey(Windows Chrome/Firefox)、Ctrl + Alt + accesskey(Linux)、Ctrl + Option + accesskey(macOS Safari)。用户不主动了解这个组合,几乎不会触发。
accesskey="s"、accesskey="1";不能写 accesskey="save" 或空格accesskey 值时,浏览器通常只激活第一个匹配元素,行为不可靠accesskey 显示在菜单或按钮旁(如加下划线),但多数现代浏览器默认不显示提示,用户无感知最常踩的坑是操作系统或浏览器快捷键抢占了 accesskey。例如:accesskey="t" 在 Windows Chrome 中触发的是“新建标签页”(Ctrl+T),根本不会落到页面上;accesskey="w" 会和“关闭当前窗口”冲突。
f(查找)、r(刷新)、n(新建)、w、t、l(地址栏)等accesskey="5" 冲突概率低,但需注意键盘布局(部分笔记本需按 Fn)accesskey,iOS 和 Android 浏览器均忽略该属性如果目标是提升键盘导航效率,accesskey 实际价值很低——它不可发现、不可学习、跨平台不一致。真正有效的做法是:
Tab 键顺序聚焦(即有合法 tabindex 或原生可聚焦语义)skip link(如 <a href="#main" accesskey="m">跳至主内容</a>)时,至少同时提供视觉可见的跳过链接,别只依赖 accesskey
autofocus 或 tabindex="-1" + JavaScript 监听 Ctrl+/ 等自定义快捷键,可控性更强不要假设 accesskey 在所有环境都生效。IE 11 支持但已淘汰;Firefox 仍支持但默认禁用部分键(如 accesskey="0" 被保留);Chrome 从 v120 开始对 accesskey 的焦点行为做了限制,可能仅滚动到元素而不聚焦。
立即学习“前端免费学习笔记(深入)”;
Alt 组合键)input 元素获得焦点后,accesskey 可能不再响应,需重新 Tab 出去再试accesskey 很少成为可靠入口,它的存在感远低于你写的那行 tabindex 或一次 focus() 调用。