page-has-heading-one
ページにはレベル1の見出しがあることが望ましいです
ページにレベル1の見出し(<h1>、またはaria-level="1"を持つrole="heading")が1つ以上あることを確認します。
適用範囲:<body>要素を持つすべてのHTML文書に常に適用されます。「ページにh1があるか」はページ全体に関わる問題なので、bypass-blocks-presentと同じく文書を直接評価します。モーダルダイアログが開いている間は適用されません。そのときページの残りの部分はinertになるため、スキャンが見るのはページではなくダイアログです。ElementInternalsによってheadingロールとレベル1(aria-level属性またはinternalsのariaLevel)を与えられたカスタム要素(this.attachInternals().role)は、<h1>とみなします。role="none"または"presentation"が付いたネイティブの<hx>も、フォーカスを受け取れるかグローバルなARIA属性を持つ場合は見出しのままです。WAI-ARIAのプレゼンテーショナルロールの競合解決により、その場合ブラウザーはそのロールを無視するためです。有効なaria-level(正の整数)を持つネイティブの<hx>は、ブラウザーが公開するとおりそのレベルを持ちます。heading-orderの読み方と同じく、<h2 aria-level="1">はレベル1の見出しであり、<h1 aria-level="2">はそうではありません。
期待される結果:レベル1の見出し(ネイティブの<h1>、またはaria-level="1"を持つrole="heading")が1つ以上あります。トップレベルの見出しがないページでは、見出しでナビゲーションする支援技術のユーザーにとって明確な入り口がありません。
例
<body><h1>Page title</h1></body>
レベル1の見出しが存在します。
<body><h2>Section</h2><p>No top-level heading anywhere on the page.</p></body>
<h1>もrole="heading" aria-level="1"もありません。
確認方法
このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。
HEADING_ONE_MISSING
- ページを開き、そのメインタイトル(このページが何であるかを示すテキスト)を見つけてください。
- 開発者ツールのアクセシビリティペインまたはスクリーンリーダーの見出し一覧を開き、レベル1の見出しを探してください。
- ない場合は、メインタイトルがそもそも見出しとしてマークアップされているか、またどのレベルかを確認してください。
満たす場合:ページには、主要コンテンツの名前を示すレベル1の見出しがあります。
満たさない場合:ページにレベル1の見出しがないため、見出しによる移動に明確な開始点がありません(ベストプラクティス、G141)。