Breadcrumb

現在のページ位置を階層的に表示するナビゲーションコンポーネント。ユーザーがサイト構造を把握し、上位ページに戻る際に使用します。

Basic

jui-breadcrumb の最も基本的な使用例です。

Slotted

JSON データを使わずに、ライト DOM 上で直感的に HTML 要素(aspan)を配置してパンくずリストを構築するスロット方式の使用例です。

Custom Separator (Slotted)

スロット方式でも、separator プロパティを指定することでセパレータ文字をカスタマイズできます。

関連コンポーネント

  • Tabs — タブ切り替えでコンテンツを整理するナビゲーションコンポーネント
  • Sidebar — サイドナビゲーションを提供するコンポーネント
  • Pagination — ページ間の移動を提供するナビゲーションコンポーネント

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
::slotted()スロット方式での子要素およびセパレータのスタイル制御53+63+10+Baseline 2020
Flexboxアイテムの横並び配置29+22+9+Baseline 2017
CSS 変数 (var())デザイントークンおよびカスタムセパレータ適用49+31+9.1+Baseline 2017

💡 いずれの機能も主要ブラウザで広く対応済みです。

Baseline 情報

機能Baseline 達成Widely Available 予定
::slotted()2020年2022年後半 ✅
Flexbox2017年2020年前半 ✅
CSS 変数2017年2020年前半 ✅

アクセシビリティ

  • WAI-ARIA:
    • ルートの nav 要素に role="navigation" および aria-label="パンくずリスト"(または nav-label Prop値)が付加されます。
    • パンくずリスト自体は ol および li 要素で階層的にマークアップされ、各項目の関係性がスクリーンリーダーに正しく伝わります。
    • 現在アクティブな(最後の)項目は、aria-current="page" などと同等に太字のプレーンテキストとして配置され、現在位置であることを明示します。
  • キーボードナビゲーション:
    • リンク項目(href 属性があるもの)は Tab キーで順次フォーカスを移動できます。

CSS カスタムプロパティ

プロパティ名説明既定値
--jui-breadcrumb-separatorスロット方式での各子要素の間に挟み込まれるセパレータ文字'/'

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
itemsitemsパンくず項目(JSON文字列 or 配列)BreadcrumbItem[] | string'[]'
maxItemsmax-items最大表示数(超過分は省略)number0
navLabelnav-labelナビゲーションラベル(i18n対応)string'パンくずリスト'
separatorseparatorセパレータ文字string'/'

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"current"現在ページ
"item"各パンくず項目
"link"リンク要素
"list"ol 要素
"nav"ルートの nav 要素
"separator"セパレータ

Built with StencilJS