要約
ユーザーがすぐにアクセスしたいと考えられる重要なコンテンツの構成要素には、それぞれ、ARIAランドマークを用いて意味のあるラベルを付けます。
テクニック
-
主要なコンテンツの構成要素を識別するためにランドマークロールを使用する。[[WCAG-1.3.1]]
-
各ランドマークに対して意味のあるラベルを付ける。[[WCAG-1.3.1]]
例
解説
ARIA ランドマークは、Web サイトで使用され、ユーザーがページのさまざまな主要領域(サイトのヘッダーとフッター、検索ボックス、広告、メインコンテンツ領域)を識別し、すばやく移動できるようにします。
ページ上で見つかったランドマークは、支援技術によってリンクのリストにまとめられます。ユーザーは、ランドマーク間をすばやく移動してページにおける位置を確認し、探しているコンテンツの特定のセクションにアクセスできることを期待します。
出版物は通常、各ドキュメントに1つのセクションまたは章のテキストのみを含むよう構成されていますが、ランドマークは、ユーザーがこれらの主要領域内の主要なコンポーネントにアクセスできるようにする上で重要な役割を果たします(たとえば、メモ、用語集、学習目標、練習問題、サイドバー、またはインタラクティブなウィジェットに素早くアクセスするなど)。
出版物のコンテンツのすべてのセクションがランドマークである必要はなく、そうあるべきでもありません。ランドマークは、ユーザーがすぐにアクセスする必要がある重要なセクションにのみ使用してください。たとえば、すべてのセクションとサブセクションのリストがあるよりも、用語集にアクセスできる方がユーザーにとってありがたいでしょう。
DPUB-ARIA モジュールには、出版物の次のランドマーク ロールがあります。
- doc-acknowledgements
- doc-afterword
- doc-appendix
- doc-bibliography
- doc-chapter
- doc-conclusion
- doc-credits
- doc-endnotes
- doc-epilogue
- doc-errata
- doc-foreword
- doc-glossary
- doc-introduction
- doc-part
- doc-preface
- doc-prologue
次のナビゲーションロールもランドマークです。
加えて、コアARIA仕様の以下のロールもランドマークです。
よくある質問
- すべての章/セクションがランドマークである必要がありますか?
-
いいえ。
ランドマークは文書内の見出しの階層構造を保持しないので、目次の代わりとしては使用しないでください。ランドマークの使用は、ユーザーが手動で検索しなければならないような、ページ内の構成要素に限定してください。ランドマークを作成しすぎると、ユーザーに長いリスト中から探すのを強いてしまいます。
ユーザーがセクションの見出しに移動したり、目次を閲覧したりしたい場合は、そのための仕組みがすでに用意されています。必要に応じて、ドキュメント内の主要なコンテンツ セクションのみを特定します(つまり、すべてのサブセクションではなく、章または最上位レベルのセクション)。
- 見出しのある
section
はすべてランドマークですか? -
いいえ。
section
タグは、次のいずれかまたは両方が当てはまる場合にのみランドマークとなります。- ランドマークの役割を指定する
role
属性が付与されている。 -
aria-label
、aria-labelledby
、またはtitle
属性が付与されている。
それ以外の場合、
section
には特定のセマンティクスは関連付けられていません(つまり、本質的にはdiv
に似ています)。 - ランドマークの役割を指定する
- すべてのランドマークにラベルが必要ですか?
-
いいえ。
ただし、常に
aria-labelledby
、aria-label
、またはtitle
属性のいずれかを使用してラベルを提供するのが最も安全な方法です。技術的には、これらの属性を使用する必要があるのは、ページに同じランドマークロールが複数存在する場合(例:
doc-chapter
またはdoc-bibliography
が 2 つ以上)のみです。このような場合、一意のラベルがないと、ユーザーが探しているものを見つけるのが難しくなる可能性があります。たとえば、インデックスが 2 つある場合、一意のラベルがないと、ユーザーは手動でそれぞれを確認しない限り、どちらがトピックインデックスでどちらが名前のインデックスであるかを判断できません。異なる素材を元にしたデータを組み合わせたり、出力に応じてコンテンツを異なる方法で固まりにするワークフローでは、明示的ラベルにするのがベストプラクティスです。このようにすることで、WCAG要件の意図しない違反を回避できます。
- 非表示のラベルには
title
とaria-label
属性のどちらを使用すればよいですか? -
テキストにラベルがない場合は、常に
aria-label
属性の方が優先されてきました。要素とコントロールのアクセシブルな名前が優先され、title
はこれまであまりサポートされてきませんでした。 - ランドマークの名前はなぜ一意であるべきなのでしょうか?
-
ドキュメント内に同じランドマークロールが複数ある場合、それぞれに一意の名前を付けることで、どのコンポーネントにアクセスしているのか混乱しないようにできます。各コンポーネントのタイトルで目的が明確になるのが理想的ですが、同じ名前がそれぞれに再利用される場合(複数の「練習問題」サイドバーなど)、一意の識別子を使用すると使いやすさが向上します。識別子は、コンポーネントが属するサブセクションや、印刷物の追加部分でコンポーネントが見つかるページなど、役立つものにする必要があります。
- ARIA ランドマークと EPUB のランドマーク/ガイドの違いは何ですか?
-
ARIA ランドマークは個々の Web ページ用にコンパイルされるため、ドキュメント間で保持されることはありません。EPUB 出版物は多数のドキュメントで構成されているため、リーディングシステムには出版物全体にわたって重要なコンテンツを効率的に見つける方法が必要です。EPUB のランドマーク(EPUB 3)とガイド(EPUB 2)は、ランドマークが多数のドキュメントに分散するというこの問題を解決するために設計されました。
相互運用性を最大限に高めるには、両方のタイプのランドマークを提供することをお勧めします。
-
landmark
ロールを使用できないのはなぜですか? -
landmark
ロールは、WAI-ARIA 仕様で抽象ロールと呼ばれているものです。直接実装されることを意図したものではなく、使用可能なロールが継承するトップレベルの定義として使用されます。特定の役割を持たないランドマークの場合は、意味のあるラベルとともに
region
ロールを使用できます。 - なぜ
aside
にはラベルが必要なのにsection
には必要ないのでしょうか? -
最初の意図と異なり、
section
要素はdiv
と同じように使用されてきました(つまり、純粋にスタイルのために)。そのため、支援技術のユーザーに不利益をもたらす誤用を避けるため、この要素にはデフォルトのロールがありません。その結果、次の例は見出しがあってもランドマークではありません。
<section> <h2>Section 3.1.1 — Elephants on Parade</h2> … </section>
ただし、要素にラベルを割り当てると、その要素は
region
の役割を引き受け、ランドマークになります。<section aria-labelledby="s311"> <h2 id="s311">Section 3.1.1 — Elephants on Parade</h2> … </section>
逆に、
aside
要素にはcomplementary
的な役割が暗黙的に含まれており、ラベルが必要です。HTML 要素の暗黙的なロールの詳細については、 HTML ドキュメントの ARIAを参照してください。 - 要素 X でランドマークを使用できないのはなぜですか?
-
一部の HTML 要素は、必要なセマンティクスが上書きされるのを防ぐために、受け入れるロールが制限されています。
特に、
body
要素には、他のロールによって上書きできない特別なロールdocument
があります。どの要素にどのロールが使用できるかの詳細は、HTMLドキュメントのARIAで提供されます。
関連リンク
- WAI-ARIA —ランドマークロール
- 電子出版 WAI-ARIA モジュール 1.0
- HTMLにおけるARIA