# Kbd

> 使用具备无障碍语义的静态按键序列编写快捷键。

---

LLMS index: [llms.txt](/zh/llms.txt)

---

Kbd 用于把实际按键和快捷键与周围正文区分开。它输出语义化 HTML，在 Markdown 与打印中仍然清晰，而且不需要 JavaScript。

## 适用场景 {#when-to-use}

Kbd 适合读者需要按下的按键，包括多键快捷键。命令、选项名或读者需要输入的文本应使用行内代码，因为它们并不是物理或虚拟按键。

## 快速开始 {#quick-start}

### 源码 {#source}

```go-html-template
按 {{< kbd "Ctrl" "K" >}} 打开搜索。
按 {{< kbd "⌘" "Shift" "P" >}} 打开命令面板。
```

### 渲染结果 {#rendered-result}

按 Ctrl + K 打开搜索。按 ⌘ + Shift + P
打开命令面板，或按 Alt + Enter 应用操作。

## 接口 {#interface}

Kbd 接受一个或多个非空位置字符串：

```go-html-template
{{< kbd "按键" >}}
{{< kbd "第一个按键" "第二个按键" "第三个按键" >}}
```

它不接受命名参数。每个按键都必须是字符串，因此需要使用引号。缺少按键、空字符串、命名参数或非字符串值都会让构建停止，并报告源文件位置。

平台差异有意义时，请使用对应平台键盘上印刷的标签。跨平台说明应在正文中写明平台，不要把多个备选值塞进同一个按键序列。

## 语义与回退 {#semantics-and-fallback}

HTML 为每个按键输出一个嵌套的 `kbd`
元素。视觉上的加号会对辅助技术隐藏，屏幕阅读器则使用本地化连接词分隔按键。Markdown、打印与 RSS 使用
`Ctrl + K` 这样的明确序列。即使没有 CSS 或 JavaScript，操作说明仍然完整。

## 有意保留的边界 {#deliberate-limits}

Kbd 只表示同时按下的按键序列，不负责菜单、手势输入、按键映射、平台检测或交互式快捷键录制器。连续操作请直接写在正文中，例如“先按 Escape，再按 Enter”。
