で表現します。スクリーンリーダー向けにaria-label=”パンくずリスト”を付けます。
現在ページの扱い
現在表示しているページはリンクにせずテキストにするのが一般的です。aria-current=”page”属性を使えば、支援技術に現在ページを明確に伝えられます。
視覚的な区切り
見た目の区切り(> や /)はCSSで追加します。区切り文字をHTMLに直接置くと読み上げが冗長になるため、装飾は疑似要素やaria-hidden=”true”で非表示にします。
アクセシビリティのポイント
-
-
を使うことで階層の順序を明示します。
- リンクテキストは簡潔にして場所が分かる語を使います。
例(シンプルなマークアップ)
<nav aria-label="パンくずリスト">
<ol>
<li><a href="/">ホーム</a></li>
<li><a href="/category/">カテゴリ</a></li>
<li aria-current="page">記事タイトル</li>
</ol>
</nav>
この例をベースに、必要に応じてCSSで見た目を整え、separatorにはaria-hiddenを使ってください。
パンくずリストと構造化データ(BreadcrumbList)
概要
パンくずリストを構造化データでマークアップすると、検索エンジンにサイト構造を正確に伝えられます。これにより検索結果にパンくずが表示される可能性が高まり、ユーザーがページの位置を把握しやすくなります。主な実装方法はJSON-LD、Microdata、RDFaの3種類です。
BreadcrumbListとは
BreadcrumbListはschema.orgで定義された型で、ページの階層を順序付きのリスト(itemListElement)として表します。各要素はListItemで、少なくともposition(順序)、name(表示名)、item(URL)を含めます。検索エンジンはこれを読み取り、パンくずを正しく表示できます。
実装方法と特徴(簡単な比較)
- JSON-LD: ページ内にスクリプトとして記述します。HTML構造を変えずに追加できるため導入が簡単です。推奨されることが多いです。
- Microdata: HTMLタグに属性を付けて埋め込みます。目に見えるマークアップと対応しますが、編集が増えます。
- RDFa: Microdataに似た方法で、より柔軟な表現が可能です。扱いに慣れる必要があります。
実装上の注意点
- positionは1から始めて連番にする
- nameは画面表示と一致させる
- item(URL)は正規化されたURLを使う
- ナビゲーションに存在しないページを含めない
簡単な例(JSON-LDの構造イメージ)
{
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "ホーム", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "製品", "item": "https://example.com/products/"}
]
}
次章では、このJSON-LDを使った具体的なマークアップを詳しく説明します。
JSON-LDによるパンくずリストのマークアップ
概要
JSON-LDはHTMLと分離して書けるため、管理しやすい形式です。や直前にまとめて置けます。検索エンジンも推奨しているため、構造化データを扱う際に便利です。
基本構造
- @context: https://schema.org
- @type: BreadcrumbList
- itemListElement: ListItemの配列
各ListItemは必ず次を持ちます:position(位置番号)、name(表示名)、item(URL)
例(基本)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "ホーム", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "カテゴリ", "item": "https://example.com/category/"},
{"@type": "ListItem", "position": 3, "name": "記事タイトル", "item": "https://example.com/category/post"}
]
}
配置と注意点
- 表示しているパンくずとURLを一致させてください。検索エンジンは見た目と構造化データを照合します。
- 相対URLよりも絶対URLを使うと安全です。
- 階層が変わったらJSON-LDも必ず更新してください。
動的サイトでの運用
サーバー側テンプレートやJavaScriptでページ情報を埋め込み、ページごとにpositionやURLを生成します。重複や誤った順序を避けるロジックを入れてください。
検証
実装後は構造化データの検証ツールでチェックしてください。不備があるとリッチ表示に反映されないことがあります。