快捷键
Keyboard Shortcuts
别名:快捷键键盘快捷键快捷键提示键盘加速键按键操作keyboard shortcutshotkeyskey bindings
这是什么
为高频操作提供可发现的键盘加速键,并配帮助入口。提示可用工具条标注、快捷键对话框(⌘K 风格)或 vim 式序列。它服务专家用户提速,同时必须保证焦点可见、不抢夺输入框按键,新手也能查到怎么按。
交互实验室
试一试,再决定怎么用正在加载实验室…
✓ 适用场景
- 高频重复操作密集(编辑器、后台、设计工具)
- 用户以键盘流为主,追求肌肉记忆
- 已有命令面板,需要补齐按键绑定与帮助
✕ 不适用场景
- 表单输入为主的页面,全局劫持按键会毁掉打字
- 触屏为主的产品,快捷键无处施展
- 只给快捷键不给可发现入口,新手完全摸不到
常见形式
工具条标注
Tooltip hints
按钮旁或悬浮提示里标注按键,最轻量
快捷键对话框
Shortcuts dialog
⌘K 或 ? 唤出全量速查表
vim 式序列
Vim-style sequences
多键序列(gg、dd),专家效率极高但学习成本大
实现要点
:focus-visibleoutlinekbdgrid监听 keydown 时检查 event.target:处于 input / textarea / contenteditable 内则跳过单键 绑定。用 event.key + metaKey/ctrlKey/shiftKey 组合判定,调用 preventDefault 前确认不会 破坏系统或浏览器保留键。快捷键对话框可 role="dialog",kbd 元素展示按键。焦点环用 :focus-visible,尊重 prefers-reduced-motion。
平台 API
keydownKeyboardEvent:focus-visible相关概念
用快捷键(⌘K / Ctrl+K)唤出的浮动搜索面板:输入即筛选命令、页面或内容, 键盘上下选择、回车执行。macOS Spotlight 把它带入大众视野, 现在是效率工具和开发者产品的标配。
组件搭配使用悬停在元素上短暂出现的小型文字气泡,用来解释图标按钮、缩写或被截断的文本。 纯提示、不可交互,移开即消失;通常延迟约 300ms 出现以避免扫过时闪烁。
组件搭配使用用可见轮廓标记当前键盘焦点位置,让用户知道下一个按键会落在哪里。鼠标点击往往不需要它,但键盘与辅助技术用户必须始终看见焦点在哪,否则只能盲操作。通常用 :focus-visible 控制——键盘聚焦才显示,鼠标点击不打扰。
无障碍搭配使用让所有功能都能只用键盘完成:Tab/Shift+Tab 按合理顺序移动焦点,复合组件内用方向键漫游并配 roving tabindex,Escape 关闭浮层并归还焦点。这是焦点环之外的一整套焦点秩序,规则写在 ARIA APG 里。
无障碍搭配使用