landmark-one-main
ページにはmainランドマークを置くことが推奨されます
ページにmainランドマーク(role="main"または<main>)が1つ以上あることを確認します。
適用範囲:<body>要素を持つすべてのHTML文書に常に適用されます。「ページにmainランドマークがあるか」はページ全体に関わる問題なので、bypass-blocks-presentと同じく文書を直接評価します。モーダルダイアログが開いている間は適用されません。そのときページの残りの部分はinertになるため、スキャンが見るのはページではなくダイアログです。ElementInternalsによってランドマークロールを与えられたカスタム要素(this.attachInternals().role)は、別のロールを示すrole属性がなければ、そのロールを持つネイティブ要素と同じくランドマークです。
期待される結果:支援技術に公開されたmainランドマーク(role="main"または<main>)が、ページに1つ以上あります。1つもないページでは、支援技術のユーザーが主要なコンテンツへ直接移動するためのランドマークがありません。
例
<body><main>Primary content</main></body>
<main>ランドマークが存在します。
<body><header>Site</header><p>Primary content, no landmark.</p></body>
ページのどこにも<main>もrole="main"もありません。
確認方法
このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。
LANDMARK_MAIN_MISSING
- スクリーンリーダーのランドマーク一覧またはアクセシビリティペインを開き、mainランドマークを探してください。
- ページの主要コンテンツを見つけ、そのコンテナーにmain要素またはrole="main"があるか調べてください。
- コンテンツがiframeの中にある場合は、代わりにフレーム内の文書にmainがあるか確認してください。
満たす場合:mainランドマークが存在し、ページの主要コンテンツを囲んでいます。
満たさない場合:mainランドマークが公開されていないため、利用者は主要コンテンツへ直接移動できません。これはWAI-ARIAのmainロールに関するベストプラクティスを満たしていません(ARIA11)。