Skip to content
fandhe-frontend
GitHub

Breadcrumb

現在地までの階層(サイト内の位置)をリンク列として示すパンくずナビゲーションです。fandhe-frontend-headless-uibreadcrumb mod が構造・アクセシビリティ(WAI-ARIA・キーボード操作)・表示状態(data-*)のみを提供する unstyled 部品であり、Themes 版と異なりスタイル(CSS)は一切持ちません。末尾項目のみ非対話の current-linkaria-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-link

API Reference

Arguments

NameTypeDefaultDescription
root(aria_label_value)Option<&str>None のとき既定値 "breadcrumb" を aria-label へ出力する。
current_linkfnaria-current="page"+data-current を常に付与する span パーツ(末尾項目用)。
breadcrumb(items)&[BreadcrumbItem]label/href の組から nav > ol > (li + li)* を決定的に組み立てる利便ビルダー。空配列でも panic しない。

Data Attributes

PartAttributeObserved Values
current-linkdata-current

Examples

ellipsis を含む折り畳み表現

中間項目を ellipsis パーツで省略し、先頭・末尾のみを表示する構成です。

Accessibility

WAI-ARIA

AttributeDescription
aria-current="page"current_link に固定付与(末尾項目の非対話 span)。
role="presentation" / aria-hidden="true"separator/ellipsis に固定付与し装飾要素として扱う。