Breadcrumb
現在地までの階層(サイト内の位置)をリンク列として示すパンくずナビゲーションです。fandhe-frontend-headless-ui の breadcrumb mod が構造・アクセシビリティ(WAI-ARIA・キーボード操作)・表示状態(data-*)のみを提供する unstyled 部品であり、Themes 版と異なりスタイル(CSS)は一切持ちません。末尾項目のみ非対話の current-link(aria-current="page")として描画し、中間項目は ellipsis パーツで折り畳めます。
スタイル済みの表示例は Breadcrumb を参照してください。
関連 API: fandhe-frontend-headless-ui API
Demo
枠線・余白は docs サイト側のデモ枠であり、fandhe-frontend-headless-ui 自体はスタイルを持ちません。
Features
- パンくずナビゲーション。root(nav)/ list(ol)/ item(li)/ link(a)/ current-link(span)/ separator(li)/ ellipsis(li)の 7 anatomy パーツを持つ(breadcrumb.rs モジュール doc)。
- 末尾項目のみ current_link(非対話の span、aria-current="page"+data-current 固定付与)として描画し、それ以外は link(a、href 遷移可能)として描画する利便ビルダー breadcrumb() を提供する。
- separator/ellipsis はいずれも role="presentation"+aria-hidden="true" で装飾扱いとし、スクリーンリーダーの読み上げから除外する(separator/ellipsis 関数)。
- root の aria-label は省略時 "breadcrumb"(DEFAULT_ARIA_LABEL)が既定値になる。
Anatomy
root
list
item
link
separator
current-linkAPI Reference
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
| root(aria_label_value) | Option<&str> | None のとき既定値 "breadcrumb" を aria-label へ出力する。 | |
| current_link | fn | aria-current="page"+data-current を常に付与する span パーツ(末尾項目用)。 | |
| breadcrumb(items) | &[BreadcrumbItem] | label/href の組から nav > ol > (li + li)* を決定的に組み立てる利便ビルダー。空配列でも panic しない。 |
Data Attributes
| Part | Attribute | Observed Values |
|---|---|---|
| current-link | data-current |
Examples
ellipsis を含む折り畳み表現
中間項目を ellipsis パーツで省略し、先頭・末尾のみを表示する構成です。
Accessibility
WAI-ARIA
| Attribute | Description |
|---|---|
| aria-current="page" | current_link に固定付与(末尾項目の非対話 span)。 |
| role="presentation" / aria-hidden="true" | separator/ellipsis に固定付与し装飾要素として扱う。 |