ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
nav 要素とは
nav 要素は HTML5 で追加されたセマンティック要素で、ナビゲーションリンクを含むセクションであることを明示します。グローバルナビゲーション、サイドメニュー、パンくず、目次、ページネーションなど「ユーザーを別ページ・別セクションに案内するためのリンク群」を囲むために使います。
div で囲んでも見た目は同じですが、nav にすることでブラウザ・スクリーンリーダー・検索エンジンが「ここはナビ領域」と認識し、アクセシビリティと SEO の両面で意味を持ちます。
基本構文
典型的にはリストでマークアップし、CSS で横並びやドロワーに整形します。
主な利用パターン
| パターン | 説明 | aria-label の例 |
|---|---|---|
| グローバルナビ | サイト全体のメインメニュー | "global" |
| パンくず (breadcrumb) | 現在地までの階層リンク | "breadcrumb" |
| サイドナビ | カテゴリ別の下層リンク | "sidebar" |
| 目次 (TOC) | 長文記事の見出し一覧 | "toc" |
| ページネーション | 1, 2, 3, ... のページ送り | "pagination" |
| フッターナビ | フッター内のメインリンク | "footer" |
複数の nav を区別する
1 ページに nav が複数あるとスクリーンリーダーが「nav, nav, nav...」と読んでしまい区別できません。aria-label または aria-labelledby で役割を明示しましょう。
nav を使うべきでない例
- フッターのコピーライト・利用規約・プライバシーリンクだけのまとまり — 主要ナビではないので不要
- 記事本文中の「関連リンク」 — aside の方が適切な場合が多い
- ロゴをトップに戻すための単一リンク — nav で囲む必要なし
- ソーシャルアイコン群 — ul + aside / div で十分
WHATWG 仕様は「主要 (major) なナビゲーションブロックのみ」と明記しています。すべてのリンク集合に nav をつける必要はありません。
パンくずでの典型実装
Schema.org の BreadcrumbList を付与すると、Google の検索結果にパンくずが表示されやすくなります。
アクセシビリティ上のメリット
- スクリーンリーダーは nav をランドマークとして扱い、利用者が領域単位でジャンプ可能
- JAWS / NVDA の「ナビゲーションリンク一覧」コマンドで nav 内のリンクだけ抽出できる
- キーボード利用者にも領域の切り替えが伝わる
SEO の観点
Google は HTML5 セマンティック要素を解析に利用しており、nav 内のリンクは「ナビゲーション系」と認識されます。直接の順位ブーストは公表されていませんが、構造化されたページはクロール効率・ユーザー行動指標の両面で有利と考えられます。
関連要素
| 要素 | 役割 |
|---|---|
| ページや section の冒頭領域(ロゴ + nav を入れることが多い) | |
| ページや section の末尾領域 | |
| 本文から離れた補足(サイドバーの「関連記事」など) | |
| そのページの主たるコンテンツ(nav は main の外が一般的) |
モバイルメニュー(ハンバーガー)の実装パターン
近年の Web サイトでは、画面幅が狭い場合に nav を折りたたんでハンバーガーアイコンで開閉するのが標準です。アクセシビリティを担保するには次の要素が必要。
- ボタン側に aria-expanded(展開状態)と aria-controls(対応する nav の id)を付与
- nav 側には非表示時
hidden属性またはdisplay:noneを付け、スクリーンリーダーから隠す - キーボードのみで操作できるように、ハンバーガーボタンを で実装
- Esc キーで閉じる JS をつけると親切
nav の入れ子は OK か
WHATWG 仕様上、nav の中に nav を入れることは禁止されていません。とはいえ意味的に混乱するため、1 ページ内で複数の nav を並列に置く方が一般的です。サイドナビをグローバルナビの内側に書きたくなった場合は、入れ子ではなく独立した nav として並べましょう。
FAQ
Q: nav 内に ul を必ず使う?
A: 必須ではない。div + a でも良いが、リンク集合はリスト構造が論理的に正しい。
Q: nav にも heading(h1〜h6)を入れていい?
A: 入れて良い。「メニュー」「目次」など、ナビの主題を見出しで示すと aria-labelledby と組み合わせやすい。
Q: モバイルのハンバーガーメニューも nav?
A: 中身がグローバルナビなら nav で囲む。aria-expanded / aria-controls で展開状態を持たせるのが定番。
関連: HTML セクション要素 / header 要素
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- HTML aside要素 完全ガイド(補足情報 / サイドバー / 引用 / article との違い) 2026-06-11 05:39:14
- CSS transform 完全ガイド(translate / rotate / scale / skew / 3D 変形 + GPU 加速) 2026-06-11 05:39:14
- Oracle 管理ツール完全ガイド(OUI / DBCA / SQL*Plus / OEM / Data Pump / RMAN 役割比較) 2026-06-11 05:39:14
- HTML section要素 完全ガイド(一般的なセクション / 見出し必須 / article との違い) 2026-06-11 05:39:14
- CSS 背景プロパティ完全ガイド(background-color / image / size / gradient 一括指定) 2026-06-11 05:39:14
- CSS フォント関連プロパティ完全ガイド(font-family / size / weight / 一括指定 / Web フォント) 2026-06-11 05:39:14
- HTML li要素 完全ガイド(ul / ol との関係 / value属性 / ネスト / アクセシビリティ) 2026-06-11 05:39:14
- Java 日時 API 完全ガイド(java.time / LocalDate / Instant / Duration / 旧 Date と比較) 2026-06-11 05:39:14
- Vue CLI でプロジェクト作成(npm install / vue create / npm run serve 手順 mac) 2026-06-11 05:39:14
- JAX-RS 完全ガイド(Java EE で REST API 開発 / @Path / @GET / Jersey / RESTEasy) 2026-06-11 05:39:14
- SQL DROP TABLE 完全ガイド(CASCADE CONSTRAINTS / PURGE / 復元 / Oracle・MySQL・PostgreSQL) 2026-06-11 05:35:25
- Linux chown コマンド完全ガイド(再帰 -R / グループ変更 / 数値 UID / 注意点) 2026-06-11 05:35:25
- Docker Desktop for Windows インストール完全ガイド(Hyper-V 有効化 / WSL2 / 動作確認) 2026-06-11 05:35:25
- SQL ALTER TABLE MODIFY / ALTER COLUMN(カラム定義変更を Oracle / MySQL / PostgreSQL 別に解説) 2026-06-11 05:35:25
- SQL ORDER BY 完全ガイド(昇順 / 降順 / 複数カラム / NULL 順序 / インデックス活用) 2026-06-11 05:35:25
コメントを削除してもよろしいでしょうか?