ARIA: navigation ロール

{{ariaref}}

navigation ランドマークロールは、ウェブサイトまたはページコンテンツをナビゲートするために使用される主要なリンクのグループを識別するために使用されます。

<div role="navigation" aria-label="メインナビゲーション">
  <!-- 主要なウェブサイトの場所へのリンクのリスト -->
</div>

これはウェブサイトのメインナビゲーションです。

説明

navigation ロールはランドマークロールです。 ランドマークロールは、ウェブページの構成と構造を識別する方法を提供します。 ページのセクションを分類およびラベル付けすることにより、レイアウトを通じて視覚的に伝達される構造情報がプログラム的に表されます。 スクリーンリーダーは、ランドマークロールを使用して、ページの重要なセクションにキーボードナビゲーションを提供します。 HTML の <nav> 要素と同様に、navigation ランドマークは、ウェブサイトまたはページコンテンツのナビゲーション(navigation)に使用するリンクのグループ(例えば、リスト)を識別する手段を提供します。 ページに複数の navigation ランドマークが含まれている場合は、それぞれが固有のラベルを持つべきです。 ページ上の2つ以上のナビゲーションに関するランドマークが同じリンクのセットを持つ場合は、それぞれに同じラベルを使用します。

navigation ランドマークを定義するには、HTML5 の <nav> 要素を使用することをお勧めします。 HTML5 の <nav> 要素のテクニックが使用されていない場合は、role="navigation" 属性を使用して navigation ランドマークを定義します。

<nav> 要素を使用すると、自動的にセクションが navigation ロールを持つことを伝えます。 開発者は、ARIA を使用するよりも正しい意味論の HTML 要素を常に使用するべきです。

関連する WAI-ARIA のロール、ステート、プロパティ

aria-label
ナビゲーションの目的を簡単に説明します。 スクリーンリーダーはロールとラベルの内容の両方を読むので、"navigation" という用語を省略します。

キーボードインタラクション

無し

必要な JavaScript 機能

無し

<div role="navigation" aria-label="顧客サービス">
  <ul>
    <li><a href="#">ヘルプ</a></li>
    <li><a href="#">注文追跡</a></li>
    <li><a href="#">出荷と配達</a></li>
    <li><a href="#">返品</a></li>
    <li><a href="#">お問い合わせ</a></li>
    <li><a href="#">お店を探す</a></li>
  </ul>
</div>

アクセシビリティに関する懸念

ランドマークロールは、文書のより大きな全体的なセクションを識別するために、控えめに使用することを意図しています。 あまりにも多くのランドマークロールを使用すると、スクリーンリーダーで「ノイズ」が発生し、ページ全体のレイアウトを理解することが難しくなります。

ベストプラクティス

好ましい HTML

<nav> 要素を使用すると、自動的にセクションが navigation ロールを持つことを伝えます。 可能であれば、<nav> を代わりに使用することをお勧めします。

ランドマークのラベル付け

複数のランドマーク

文書に複数の navigation ランドマークロールや <nav> 要素がある場合は、各ランドマークに対してラベルを指定します。 このラベルで、支援技術のユーザーがそれぞれのランドマークの目的をすばやく理解することができます。

<div id="main-nav" role="navigation" aria-label="メイン">
  <!-- コンテンツ -->
</div>

...

<nav id="footer-nav" aria-label="フッター">
  <!-- コンテンツ -->
</nav>

繰り返されるランドマーク

文書内の navigation ランドマークロールまたは <nav> 要素が文書内で繰り返され、両方のランドマークのコンテンツが同じ場合は、各ランドマークに同じラベルを使用します。 この例では、ページの上部と下部でメインナビゲーションが繰り返されています。

<header>
  <nav id="main-nav" aria-label="メイン">
    <!-- 主要なウェブサイトの場所へのリンクのリスト -->
  </div>
</header>

...

<footer>
  <nav id="footer-nav" aria-label="メイン">
    <!-- 主要なウェブサイトの場所へのリンクのリスト -->
  </nav>
</footer>

冗長な説明

スクリーンリーダーは、ランドマークロールの種類をアナウンスします。 このため、ラベルでランドマークが何であるかを説明する必要はありません。 例えば、aria-label="主要なナビゲーション"role="navigation" の宣言は、"navigation 主要なナビゲーション" として重複してアナウンスすることができます。

追加された利点

ブラウザー拡張などの特定の技術は、ページ上に存在する全てのランドマークロールのリストを生成することができ、非スクリーンリーダーユーザーは文書の大きなセクションを素早く識別してナビゲートできます。

仕様

仕様 状態
Accessible Rich Internet Applications (WAI-ARIA) 1.1
ARIA Navigtion Role の定義
勧告
WAI-ARIA Authoring Practices
Navigation Landmark Role の定義
草案

スクリーンリーダーのサポート

TBD

関連情報