コンテンツにスキップ

パンくずリスト

hc-breadcrumb は、標準の <nav><ol><li> 構造の上の 純 CSS スキンで、アクティブなステップに aria-current="page" を 使います。セパレータは CSS の ::before で注入されるため、 マークアップは装飾のノイズから自由なままです — スクリーンリーダーは デフォルトで生成コンテンツを無視します。

別名: パンくずリスト。

グリフを差し替えるには、--hc-breadcrumb-separator をグローバルに (スタイルシートで)、またはインスタンス単位で(インラインスタイルで) 上書きします。

任意の CSS content 値が使えます — 引用符つき文字列、attr()、エスケープした Unicode、 完全に独自のマーカーのためのインライン SVG url()

深いパスでは、中間のステップを省略記号に畳みます。プレースホルダーに aria-hidden="true" を付けてスクリーンリーダーに無視させ、省略した ステップへは別の場所(ナビゲーションメニュー、戻るボタンなど)から 到達できるようにしてください。

隠れたステップへ到達可能にするには、省略記号を、それらを列挙する hc-menu ポップオーバーを 開く <button> にします。新しいビヘイビアは不要 — (デフォルト バンドルの)installMenu() がトリガーを自動配線します: popovertarget ボタンは aria-haspopup="menu" / aria-expanded を 得て、ポップオーバーはその下にアンカーされ、矢印キー / Escape が 機能します。

プログレッシブエンハンスメント。 道筋は穏やかに畳まれます:

  • popovertarget はネイティブ HTML です — メニューは JavaScript なしでクリックで開きます。installMenu() はアンカーされた配置と キーボードのロービングを足すだけです。
  • popover 属性のないエンジンでは、メニューは単にインラインで描画 されます(隠れたステップが見えたまま)。つまり完全な道筋は常に DOM の中にあります。

レスポンシブな畳み方。 畳むかどうかはレイアウトの判断です。 デフォルトでは完全な道筋を描画し、幅のしきい値以下で畳んだマークアップに 切り替えます — 例: <nav>data-collapse を設定して コンテナクエリで 切り替えをゲートするか、パスが N 階層を超えたらサーバサイドで畳んだ形を 描画します。

  • 外側の <nav aria-label="Breadcrumb">(または aria-labelledby)が ランドマークに名前を与え、支援技術がそこへスキップしたり出たり できます。
  • <ul> ではなく <ol> を使ってください — ステップには意味のある 順序があります。
  • 現在のページはリンクにしないでください: <span aria-current="page"> として描画すれば、ユーザーにクリックを 誤解させずに視覚的な強調を受けられます。
  • セパレータのグリフは CSS の ::before で挿入されます。モダン ブラウザは疑似コンテンツを DOM に公開しますが、デフォルトで アクセシビリティツリーからは除外します — 生成コンテンツに aria-hidden は不要です。
  • リンクのフォーカスアウトラインを保ってください。デフォルトは システムの他の部分に合わせ、--hc-color-focus-ring を使った outline: 2px solid を設定します。

component トークン(component.tokens.json):

トークンパス用途
breadcrumb.gap項目間(および項目とセパレータの間)のスペース。
breadcrumb.font-size道筋全体のテキストサイズ。
breadcrumb.separator-fg注入されるセパレータグリフと省略記号の色。
breadcrumb.link.fg / hover-fg非アクティブなステップの色(平常時とホバー)。
breadcrumb.current.fg / font-weightアクティブなステップの見た目。

カスタムプロパティ --hc-breadcrumb-separator はセパレータグリフの 上書きフックです。値が型付きのデザイン値ではなく content 文字列で あるため、トークンのエントリはありません。

生成される CSS 変数を表示
--hc-breadcrumb-gap | -font-size | -separator-fg
--hc-breadcrumb-link-fg | -link-hover-fg
--hc-breadcrumb-current-fg | -current-font-weight
--hc-breadcrumb-separator (override hook, no default token)
--hc-color-focus-ring (inherited from data-color)