ランドマーク領域

はじめに

ARIAランドマークロールは、ウェブページの構成と構造を識別する強力な方法を提供します。 ページのセクションを分類し、ラベルを付けることで、レイアウトを通じて視覚的に伝えられる構造情報をプログラムで表現できるようにします。 スクリーンリーダーは、ページの重要なセクションへのキーボードナビゲーションを提供するために、ランドマークロールを活用します。 ランドマーク領域は、"スキップリンク"のターゲットとして、また、キーボードナビゲーションの強化にブラウザ拡張機能で使用することもできます。

このセクションでは、支援技術の利用者がページのレイアウトの意味を容易に理解するために、どのようにHTMLセクショニング要素とARIAランドマークロールを使用するかを説明します。

HTMLセクショニング要素

いくつかのHTMLセクショニング要素は、自動的にARIAランドマーク領域を作成します。 よって、支援技術の利用者にページの論理的なビューを提供するためには、HTMLセクショニング要素を使用する際の効果を理解することが重要です。 [[HTML-ARIA]]には、HTML要素のロールマッピングに関する詳細な情報が含まれています。

HTMLセクショニング要素のデフォルトランドマークロール
HTML要素 デフォルトランドマークロール
aside complementary
footer contentinfobody要素のコンテキスト内の場合)
header bannerbody要素のコンテキスト内の場合)
main main
nav navigation
section regionaria-labelledbyまたはaria-labelを使用してアクセシブルな名前がある場合)

ランドマークデザインの一般的な原則

ページ上のすべての知覚可能なコンテンツをランドマーク領域のいずれかに含め、各ランドマーク領域にセマンティックに意味のある役割を与えることは、支援技術の利用者が自分たちのニーズに関連する情報を見逃さないようにする最も効果的な方法の一つです。

ステップ1: 論理構造を特定する

ステップ2: 各領域にランドマークロールを割り当てる

ステップ3: 領域にラベルを付ける

ランドマークロール

Banner

bannerランドマークは、ウェブサイト内の各ページの最初にサイト指向のコンテンツを識別します。 サイト指向のコンテンツには一般的に、サイトのスポンサーのロゴやアイデンティティ、サイト固有の検索ツールなどが含まれます。 バナーは、通常ページの上部に表示され、おおむね全幅に及びます。

  • 各ページには一つのbannerランドマークがあってもよいです。
  • bannerランドマークは、最上位のランドマークであるべきです。
  • ページがネストされたdocumentおよび/またはapplicationロール(例:iframeframe要素の使用を通じて)を含む場合、各documentまたはapplicationロールには一つのbannerランドマークがあってもよいです。
  • ページに複数のbannerランドマークが含まれている場合、それぞれに一意のラベルが付けられるべきです(上記のステップ3を参照)。

HTMLテクニック

  • HTMLのheader要素は、そのコンテキストがbody要素の場合、bannerランドマークを明示します。
  • 以下の要素のいずれかの子孫である場合、HTMLのheader要素はbannerランドマークとは見なされません(HTML Accessibility Mappings参照):
    • article
    • aside
    • main
    • nav
    • section

ARIAテクニック

HTMLのheader要素のテクニックが使用されていない場合、bannerランドマークを明示するためにrole="banner"属性を使用するべきです。

Bannerランドマークの例

Complementary

complementaryランドマークは、ドキュメントの補助的なセクションで、DOM階層の同じようなレベルのメインコンテンツに補完的であるように設計されていながらも、主要なコンテンツから分離しても意味を持ち続けるようなセクションです。

  • complementaryランドマークは、最上位のランドマークであるべきです(例:他のランドマークの中に含まれない)。
  • 補完的なコンテンツが主要なコンテンツと関連していない場合、より一般的なロールが割り当てられるべきです(例:region)。
  • ページに複数のcomplementaryランドマークが含まれている場合、それぞれに一意のラベルを持たせるべきです(上記のステップ3を参照)。

HTMLテクニック

complementaryランドマークを明示するには、HTMLのaside要素を使用します。

ARIAテクニック

HTMLのaside要素のテクニックが使用されていない場合、role="complementary"属性を使用してcomplementaryランドマークを明示します。

Complementaryランドマークの例

Contentinfo

contentinfoランドマークは、ウェブサイトの各ページの下部にある共通の情報を特定する方法で、通常はページの「フッター」と呼ばれ、著作権、プライバシー、アクセシビリティに関する声明へのリンクなどの情報を含みます。

  • 各ページは、一つのcontentinfoランドマークを持ってもよいです。
  • contentinfoランドマークは、最上位のランドマークであるべきです。
  • ページにネストされたdocumentおよび/またはapplicationロールが含まれている場合(例:通常、iframeおよびframe要素の使用を通じて)、各documentまたはapplicationロールは、一つのcontentinfoランドマークを持ってもよいです。
  • ページに複数のcontentinfoランドマークが含まれている場合、それぞれに一意のラベルがあるべきです(上記のステップ3を参照)。

HTMLテクニック

  • HTMLのfooter要素は、そのコンテキストがbody要素の場合、contentinfoランドマークを規定します。
  • 以下の要素のいずれかの子孫である場合、HTMLのfooter要素はcontentinfoランドマークとは見なされません(HTML Accessibility Mappings参照):
    • article
    • aside
    • main
    • nav
    • section

ARIAテクニック

HTMLのfooter要素のテクニックが使用されていない場合、contentinfoランドマークを明示するためにrole="contentinfo"属性を使用するべきです。

Contentinfoランドマークの例

Form

formランドマークは、アイテムとオブジェクトの集合体を含む領域を特定します。このランドマークは、他の名前付きランドマーク(例:main、search)が適切でない場合、全体としてフォームを構成します。

  • フォームが検索機能に使用される場合、formランドマークの代わりにsearchランドマークを使用します。
  • formランドマークには、フォームの目的をユーザーに理解させるためのラベルがあるべきです。
  • formランドマークのラベルは、すべてのユーザーに表示されるべきです(例:h1-h6要素)。
  • ページに複数のformランドマークが含まれている場合、それぞれに一意のラベルがあるべきです(上記のステップ3を参照)。
  • 可能な限り、HTMLドキュメント内のformランドマークに含まれるコントロールは、ネイティブホストのセマンティクスを使用するべきです:
    • button
    • input
    • select
    • textarea

HTMLテクニック

HTMLのform要素は、アクセシブルな名前がある場合(例:aria-labelledbyaria-labelまたはtitle)、formランドマークを明示します。

ARIAテクニック

ページの領域を識別するためにrole="form"を使用します。各フォームフィールドを識別するために使用しないでください。

Formランドマークの例

Main

mainランドマークは、ページの主要なコンテンツを表します。

  • 各ページには一つのmainランドマークがあるべきです。
  • mainランドマークは、最上位のランドマークであるべきです。
  • ページにネストされたdocumentおよび/またはapplicationロールが含まれている場合(例:通常、iframeframe要素の使用を通じて)、各documentまたはapplicationロールは、一つのmainランドマークを持ってもよいです。
  • ページに複数のmainランドマークが含まれている場合、それぞれに一意のラベルがあるべきです(上記のステップ3を参照)。

HTMLテクニック

HTMLのmain要素を使用して、mainランドマークを明示します。

ARIAテクニック

HTMLのmain要素のテクニックが使用されていない場合、role="main"属性を使用して、mainランドマークを明示します。

Mainランドマークの例

Navigation

Navigationランドマークは、ウェブサイトまたはページコンテンツのナビゲーションに使用するためのリンクのグループ(例:リスト)を識別する方法を提供します。

  • ページにnavigationランドマークが複数含まれる場合、それぞれに一意のラベルを持たせるべきです(上記のステップ3参照)。
  • ページ上の別のnavigationランドマークと同じリンクセットを持つnavigationランドマークがある場合、それぞれのnavigationランドマークに同じラベルを使用してください。

HTMLテクニック

navigationランドマークを明示するためには、HTMLのnav要素を使用してください。

ARIAテクニック

HTMLのnav要素テクニックが使用されていない場合、navigationランドマークを明示するためにrole="navigation"属性を使用してください。

Navigationランドマークの例

Region

regionランドマークは、ユーザーがセクションにナビゲートできるほど重要なコンテンツを含む、ページの知覚可能なセクションです。

  • regionランドマークにはラベルがなければなりません。
  • ページにregionランドマークが複数含まれる場合、それぞれに一意のラベルがあるべきです(上記のステップ3参照)。
  • 名前付きランドマークでは適切に言い表せないコンテンツを識別するためにregionランドマークを使用できます。

HTMLテクニック

HTMLのsection要素は、アクセシブルな名前(例:aria-labelledbyaria-labeltitle)がある場合、regionランドマークを明示します。

ARIAテクニック

HTMLのsection要素テクニックが使用されていない場合、role="region"属性を使用してregionランドマークを明示してください。

Regionランドマークの例