relay Design System
Tailwind v4
イントロダクション
  • MCP サーバー
  • 取り組み
  • 品質評価
  • リリースログ
Foundations
  • 色
  • タイポグラフィ
  • レイアウト
  • エフェクト
  • アイコン
  • アセット
Components
  • ボタン
  • アイコンボタン
  • ラベルコントロール
  • インプット
  • サーチインプット
  • セレクター
  • テキストエリア
  • チェックボックス
  • ラジオ
  • フィルターチップ
  • タブ
  • テーブル
  • シンプルテーブル
  • カード
  • バッジ
  • アラート
  • リンクテキスト
  • パンくずリスト
  • メニュー
  • ページネーション
  • ステッパー
  • モーダル
  • ツールチップ
  • トグルスイッチ
  • ページシェル
  1. ホーム
  2. Components
  3. パンくずリスト

パンくずリスト

component

いま見ているページがサイトのどの階層にあるかを示す道しるべです。クリックすると上の階層のページに戻れます。

基本

4 階層。末尾が現在のページ

  1. 前のページ
  2. 前のページ
  3. 前のページ
  4. 現在のページ

項目の状態

isCurrent による違い

isCurrent: false
  1. 前のページ
isCurrent: true 現在のページ

使用例

ページ階層

  1. ホーム
  2. サービス一覧
  3. 申請手続き

機能

このコンポーネントの用途

現在のページ階層を示し、親階層へ戻れるようにするナビゲーション。
ページ内の節移動ではなくサイト階層のパス表示に使う。

使用法

推奨される使い方と、やりがちな NG パターン

OK

  • ✓各項目は .link、現在ページは breadcrumb-current(リンクにせず aria-current="page")。
  • ✓区切りは chevron-right を breadcrumb-sep でラップ。

NG

  • ✕現在ページをリンクにしない → aria-current="page" の breadcrumb-current。
  • ✕階層が 1 つしかないページに無理に置かない → 階層がある時だけ使う。

末尾(現在地)はリンクにしない

現在地の示し方
Good
  1. ホーム
  2. 申請手続き

現在地は span.breadcrumb-current + aria-current="page"。リンクにしない。

<li><span class="breadcrumb-current" aria-current="page">申請手続き</span></li>
Don't
  1. ホーム
  2. 申請手続き

現在地をリンクにしない。今いるページへのリンクは無意味で、現在地も示せない。

<li><a class="link" href="#">申請手続き</a></li>  <!-- 現在地をリンク化 -->

パンくずリストのアクセシビリティ

<nav aria-label> + <ol>/<li> のランドマーク構造で、現在地は aria-current="page"、区切り記号は aria-hidden にします。WCAG 2.2 全基準は アクセシビリティ ページを参照。

期待される配慮

Presentation / Adaptability / Interaction / Assistive Technology

提示

階層をリンクの並びで示し、現在地は非リンクで明示。区切り記号(›)は装飾。

適応

文字は rem / トークンで拡大に追従。狭幅では折り返す。

操作

Tab で各リンクへ、Enter で遷移。リンクは下線とフォーカスで分かる。

支援技術

nav[aria-label] でランドマーク化、ol/li で順序、aria-current="page" で現在地、区切りは aria-hidden。

DS が担保する機能

追加実装なしで満たされる

  • ✓<nav>+<ol>/<li> のセマンティック構造
  • ✓リンクは .link(下線+フォーカス)、現在地は .breadcrumb-current(非リンク・同サイズ)
  • ✓区切り記号は .breadcrumb-sep で aria-hidden 前提の設計

実装時の必須対応

プロダクト側で担保する

  • !<nav aria-label="パンくずリスト"> で包む
  • !末尾(現在地)は非リンクにし aria-current="page" を付ける
  • !区切り記号の要素に aria-hidden="true"(読み上げノイズを防ぐ)

テスト方法

キーボード / スクリーンリーダー / 自動チェック

キー 動作
Tab各階層リンクへ移動
Enter上の階層へ遷移
  • SRランドマーク「ナビゲーション: パンくずリスト」、現在地は「現在のページ」と読まれる
  • 操作区切り記号が読み上げられない(aria-hidden)
  • 自動axe / Lighthouse で nav ラベル・aria-current・リンク名を確認

区切りは aria-hidden・現在地は aria-current

達成基準:WCAG 1.3.1 情報及び関係性 / 4.1.2 名前・役割・値
Good
  1. ホーム
  2. サービス一覧

区切りは aria-hidden、現在地は aria-current="page"。

<li class="breadcrumb-sep" aria-hidden="true">›</li>
<li><span class="breadcrumb-current" aria-current="page">サービス一覧</span></li>
Don't

区切り記号を読み上げ対象のまま(「> ホーム > サービス一覧」のように記号がノイズになる)、現在地に aria-current が無いと現在位置が伝わらない。

<li class="breadcrumb-sep">›</li>  <!-- aria-hidden なし -->
<li><span class="breadcrumb-current">サービス一覧</span></li>  <!-- aria-current なし -->

関連する達成基準(WCAG 2.2)

1.3.1 情報及び関係性 ・ 2.4.8 現在位置 ・ 2.4.4 リンクの目的 ・ 4.1.2 名前・役割・値