UI 组件 · 键盘交互
快捷键提示
Kbd
也叫:按键标记、键帽、快捷键标记、Keyboard Key、Keycap、Shortcut Hint
把键盘按键画成一个个小键帽的文字样式(Ctrl、⌘ K、Esc),用在菜单、提示和文档里,告诉用户该按哪个键。
点「标注」看每个部分叫什么。
怎么跟 AI 说
改成你的业务内容再发把界面上所有快捷键提示统一成 kbd 键帽样式:高 20px、最小宽 20px、左右内边距 5px,12px 等宽字体,1px 浅灰边框、底边 2px、圆角 4px、浅灰底,和旁边的文字垂直居中。组合键拆成多个 kbd 并排,间距 2px(例如 ⌘ K)。用在三个地方:搜索框右端显示「⌘K」;下拉菜单每项右侧用灰色显示「⌘C」「⌘V」;「保存」按钮的文字提示写「保存 ⌘S」。按系统切换写法:Mac 显示 ⌘ ⇧ ⌥,Windows 显示 Ctrl Shift Alt。键帽只做展示,不能点击。
发给
01判断
你的内容是这样吗?
对照两列,确认快捷键提示是不是你要找的。
02避坑
常见坏用法
看起来能用,其实会给用户添麻烦。
- 01
Mac 和 Windows 两套写法都堆出来(Ctrl / ⌘ + Shift / ⇧ + K),读起来像乱码
- 02
把快捷键写成普通文字「ctrl+shift+k」夹在句子里,扫一眼找不到
- 03
键帽比正文还大、上下留白太多,把整行的行高都撑开了
03识别
怎么认出它
先看整体结构,再对照几个一眼能认出的特征。
结构
由一个或几个并排的小键帽组成,每个键帽是带细边框、底边加厚的圆角小方块,里面是键名或符号,组合键之间可以有「+」。
组成部分点一下,在上面的线框里标出来
识别特征
- 1文字中间或菜单右侧的小方块,带细边框、底边略厚,像键盘上的键帽
- 2里面是 ⌘、Ctrl、Shift、Esc 或单个字母
- 3常常两三个并排出现,中间隔着「+」或一点空隙
04解释
详细解释
这个组件解决的是「怎么把按键写出来」:一个带细边框、底边稍厚、像键帽一样的小方块,里面是 Ctrl、⌘、Shift、Enter、K 这样的键名;组合键用几个键帽并排,中间可以写「+」。它出现在下拉菜单和右键菜单每一项的右侧(「复制 ⌘C」)、按钮的文字提示里(「保存 Ctrl+S」)、搜索框的右端(「⌘K」)、命令面板底部的操作说明和帮助文档里。HTML 里有专门的 kbd 标签。
它和交互里的 快捷键(Keyboard Shortcut)不是一回事:那个讲的是「按 Ctrl+K 打开搜索」这种功能本身怎么设计;这里只是把键名显示出来的样子。它和 行内代码 长得很像,都是一小块灰底文字:行内代码表示要输入或出现在代码里的文字(函数名、命令),快捷键表示键盘上的按键。
Mac 和 Windows 的写法不同,要按用户的系统显示(Mac 上 ⌘ ⌥ ⇧,Windows 上 Ctrl Alt Shift),不要两套都堆出来。键帽比正文小一号,和文字垂直居中,不要把行高撑开。它只是提示,不能点击;读屏软件会读出 kbd 里的文字,符号键(⌘、⇧)最好加上 aria-label 或 title 写出键名。
开发者信息术语 ID、DOM 线索、识别优先级
- 术语 ID
component-kbd- DOM 选择器
插件在本地识别时匹配这些 CSS 选择器(标签、ARIA role、常见组件库 class)。
kbd[data-slot="kbd"][data-slot$="-shortcut"].kbd.mantine-Kbd-root.chakra-kbd
- 类名关键词
类名、id、data-testid 拆成单词后连续匹配,例如 page-header、PageHeader_root__x7a、pageHeader 都拆成 page、header。
kbdkeycapkey-capshortcut-keyshortcut-hinthotkeyhot-keykey-hintkbd-keykeyboard-key
- 组件名
React / Vue 开发模式下读到的组件名,不区分大小写,会去掉 El、Ant、Mui 这类组件库前缀。
KbdKbdGroupKeycapKeyboardKeyShortcutKeyHotkey
- 语义标签和角色
弱信号,要和其他线索一起才算识别出来。
<kbd>
- 结构特征
根据元素的排列和样式算出来的特征,只用来加分,单独不判定。
在文字中间
- 优先级
- 2 · 同一层有多条命中时,优先级高的胜出
- 版本
- v2 · 更新于 2026/09/30