kaze風
Heading
セマンティックな見出しコンポーネント。レベル1〜6、説明テキスト、ボーダー付きに対応。
プレビュー
大見出し (h1)
中見出し (h2)
見出しに説明文を添えることができます
小見出し (h3)
h4 見出し
h5 見出し
h6 見出し
ボーダー付き見出し
使いどころ
使う場面
- ページと節のタイトル。見出しは文書の構造を作るので、見た目の大きさでなく階層で選ぶ
- level は見た目(heading--1 から 6 のスタイル)を決める。出力のタグは既定で同じ数字の h1 から h6
- 見た目と階層が食い違うときは as でタグを指定する。例: 文書上は h3 だが目立たせたくないなら、level={5} と as="h3" を組み合わせる
- 見出しの補足は description に渡す。見出しの直後に <p> が付く
使わない場面
- 大きな文字や太字にするだけの用途。見出しでない文は Text の size と weight で整える
- level の飛ばし(h2 の次に h4)。階層が分かりづらく、スクリーンリーダーの見出し一覧が崩れる
- ページに h1 を複数置くこと。h1 はページのタイトルで 1 つ。Hero を使う LP では Hero が h1 を出力するので、ほかに h1 を置かない
- カードやパネルの中の短いタイトルを見た目の都合で h1 や h2 にすること。周囲の階層に合わせた level(多くは 3 か 4)を選ぶ
使い方
<Heading level={1}>大見出し</Heading>
<Heading level={2} description="補足テキスト">中見出し</Heading>
<Heading level={3} bordered>ボーダー付き</Heading>プロパティ
| 名前 | 型 | デフォルト | 説明 |
|---|---|---|---|
level | 1 | 2 | 3 | 4 | 5 | 6 | 2 | 見出しレベル(サイズとセマンティクス) |
as | `h${HeadingLevel}` | なし | レンダリングするHTML要素を上書き |
description | ReactNode | なし | 見出し下の説明テキスト |
bordered | boolean | false | 下線ボーダーを表示 |
children必須 | ReactNode | なし | 見出しの文言 |
型と必須かどうかはソースの型定義から自動で生成しています。表にない HTML 標準の属性(className や aria-* など)も、ルート要素にそのまま渡せます。
アクセシビリティ
- スクリーンリーダー利用者は見出し一覧から目的の節へ移動する。ページ全体で h1、h2、h3 の順に入れ子になっているかを確認する
- level の既定は 2。ページの最上位に置くなら level={1} を明示する
- Section 内の SectionHeader は h2、FeatureCard と PricingCard は h3、LPFooter の列見出しは h4 を出力する。これらの下や前後に Heading を置くときは階層を合わせる
文言
- 見出しだけを読んで、その節に何が書いてあるか分かるようにする。「概要」より「請求書の発行方法」
- 文にするなら言い切る。体言止めか、「〜する」で終える