ページには1つの主要なランドマークが必要です
修正方法
ページの主要コンテンツにナビゲートするポイントがあることを保証します。もしページに iframe
要素が含まれている場合、各 iframe
はランドマークを含まないか、一つのみにするべきです。
すべてのコンテンツが HTML5 ランドマーク要素および/または ARIA ランドマーク領域により指定されたランドマーク領域に含まれていることを確認します。
すべてのコンテンツが移動可能な領域に含まれるよう、HTML5 と ARIA ランドマークの両方を使うことがベストプラクティスです。HTML5 では、<header>
, <nav>
, <main>
, そして <footer>
のような要素を使用するべきです。これらに対応する ARIA は、記述順に role="banner"
, role="navigation"
, role="main"
, そして role="contentinfo"
です。HTML5 と ARIA マークアップの両方を使うことで、使われているスクリーン・リーダーの技術に関わらず、web ページはより堅牢で機能的になります。
追加されると、スクリーン・リーダーのユーザーは ARIA ランドマークまたは HTML 要素に基づいてセクションにナビゲートできます。ランドマークはスキップリンクに対する単純な代替を提供しますが、この代替はスクリーン・リーダーのユーザーにのみ役に立ちます。目の見えるユーザーまたはスクリーンを拡大しているユーザーはこの追加による利益をあまり得られないため、スキップリンクを完全に置き換えることはできません。
例
最小限の重要なランドマークのみにした、単純化された web ページは次のようになるかもしれません:
<header role="banner">
<p>Put company logo, etc. here.</p>
</header>
<nav role="navigation">
<ul>
<li>Put navigation here</li>
</ul>
</nav>
<main role="main">
<p>Put main content here.</p>
</main>
<footer role="contentinfo">
<p>Put copyright, etc. here.</p>
</footer>
領域やロールに対するこのマークアップは冗長ですが、これは移行期間であり、そして上記のマークアップは最も堅牢です。
なぜ重要なのか
すべてのコンテンツが一つかそれより多くのハイレベルのセクションに分割されている場合、スクリーン・リーダーのユーザーにとって web ページをナビゲートすることがはるかに簡単になります。これらのセクション外のコンテンツは見つけるのが難しく、目的が明確でないかもしれません。
歴史的に、HTML からはページのセクションをヘッダー、ナビゲーション、メインコンテンツ、そしてフッターとして指定する機能といった、いくつかの重要なセマンティックマーカーが不足していました。同じ要素で HTML5 要素と ARIA ランドマークの両方を使用することがベストプラクティスとされていますが、ブラウザーによるサポートが普及するにつれ、将来的には HTML の領域を優先するでしょう。
ルールの説明
ページの主要コンテンツにナビゲートするため、main ランドマークが一つのみであること、また、もしページに iframe
要素が含まれている場合、それぞれはランドマークを含まないか、一つのみであることを保証することがベストプラクティスです。
仕組みについて (簡単に言うと)
ページのすべてのコンテンツがランドマーク領域に含まれていることを確認します。