<kbd>:キーボードなどの入力端末で扱う文字を表す要素・HTMLタグの解説

取り扱い 標準仕様
カテゴリー フロー・コンテンツ
フレージング・コンテンツ
パルパブル・コンテンツ
親にできる要素 フレージング・コンテンツを受け入れる要素
子にできる要素 フレージング・コンテンツ
対応ブラウザ caniuseで確認

<kbd>タグの解説

<kbd>は、キーボードや音声装置などの入力端末で扱う文字を表します。「kbd」は「keyboard」の略語です。ユーザーがキーボードを操作した時に得られる効果を説明する祭などに役立ちます。

このタグで指定した文字列は、多くの場合ユーザーエージェント側で等幅フォントが適用されます。入力された文字であることが分かるように、CSS(スタイルシート)で見栄えを調整しましょう。

<kbd>タグの特徴

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 視覚的な効果として等幅フォントが適用されます。これはユーザーエージェントの既定スタイルによるものです。
  • 同一のページ内に複数使うことができます。この要素自体を入れ子にすることも可能です。

<kbd>要素に指定できる属性

グローバル属性
全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
イベントハンドラ
全てのHTML要素に指定できるコンテンツ属性です。

<kbd>要素の使い方とサンプルコード

この要素の最も基本的な書き方は以下の通りです。文章の中でキーボードなどの入力装置の操作を表す箇所に適用します。


text <kbd>key</kbd> text

例えば、パソコンの基本的な操作を解説するテキストなどで役立ちます。


<p>文字のコピーは、Windowsの場合<kbd>Ctrl</kbd> + <kbd>C</kbd>、macOSの場合<kbd>Command</kbd> + <kbd>C</kbd>で行います。</p>

このままでは、地の文に溶け込んで読者に正確な意図が伝わらないかもしれません。スタイルシートを使って<kbd>の範囲にボタン風のスタイルを適用してみましょう。


p kbd {
	padding-block: 2px;
	padding-inline: 4px;
	margin-inline: 0.25em;
	border: 1px solid #ddd;
	border-radius: 3px;
	background-color: #eee;
	box-shadow: 0 1px 1px rgb(0 0 0 / 20%);
	box-shadow: 0 2px 0 0 rgb(255 255 255 / 70%) inset;
	color: #444;
	font-weight: bold;
}

<kbd>を入れ子にすると、キー入力の操作の意図をより正確に伝えることができます。例えば、キー入力の同時押しを強調したい場合は以下のように記述します。


Windowsの場合:<kbd><kbd>Ctrl</kbd> + <kbd>C</kbd></kbd>
macOSの場合:<kbd><kbd>Command</kbd> + <kbd>C</kbd></kbd>

このような記述を採用する場合は、スタイルの重複を防ぐための調整が必要となります。先程のスタイルシートに以下の内容を加えると、入れ子になった<kbd>は親要素のプロパティを全てリセットします。


p kbd:has(kbd) {
	all: unset;
}

<kbd>に関連するHTMLタグ

文字列に意味を与える要素
<h1> 〜 <h6> 文書やセクションの見出しを表す
<p> 文章の段落を指定する
<abbr> 略語であることを表す
<address> 連絡先(問い合わせ先)として扱う
<blockquote> 複数行に渡る比較的長い引用分を表す
<cite> 出典先や参照先の題名を表す
<code> プログラムやスクリプトの断片を表す
<data> 文字列に機械的な識別情報を与える
<del> 文書の中で編集によって削除された範囲を表す
<dfn> 定義用語として扱う
<em> 意味を強調する
<hgroup> 見出しに付随する副題やキャッチフレーズをグループ化する
<hr> 段落に区切りを与えて水平線(罫線)を引く
<i> 文章の中で慣用句や特定の用語を表す
<ins> 文章が編集されて新たに追加された部分を表す
<kbd> キーボード入力される文字であることを示す
<q> 行に収まる程度の短い引用を表す
<s> 正確ではなくなった内容であることを表す
<samp> プログラムによる出力結果のサンプルとして扱う
<small> 細則のような付帯注釈を表す
<strong> 重要な情報として扱う
<time> 時刻や日付を正確に表す
<u> 非言語的な注釈があることを示して下線(アンダーライン)を引く
<var> 変数や引数として扱う