bypass-blocks-present
ページは繰り返されるブロックをスキップする手段を提供する必要があります
ページに、WCAG 2.4.1のブロックスキップの手段として認められるもの(mainランドマーク、機能するスキップリンク、または見出し)が少なくとも1つあることを確認します。
適用範囲:<body>要素を持つHTML文書には常に適用されます。「ブロックスキップ」はページ全体に関わる問題であり、スコープ指定されたルートではなく文書を直接評価するaria-hidden-body/page-title-presentと同じ方式です。モーダルダイアログが開いている間は適用されません。そのときページの残りの部分はinertになるため、スキャンが見るのはページではなくダイアログです。ElementInternalsによってmainまたはheadingロールを与えられたカスタム要素(this.attachInternals().role)は、<main>や見出しと同じように扱われます。
期待される結果:WCAG 2.4.1の次の達成方法のうち、少なくとも1つが存在します。(a) mainランドマーク(<main>、またはrole属性がmainに解決される要素。実在するロールの最初のトークンで、大文字と小文字は区別しません)、ARIA11:スクリーンリーダーのユーザーはそこへ直接移動でき、その前にあるもの(ナビゲーション、ヘッダー、繰り返されるブロック)を一度にすべてスキップできます。(b) 機能するスキップリンク、達成方法G1:名前がエンジンに同梱されている言語のいずれかでスキップリンクとして読み取れ(skip-linkと同じくhelpers.hasSkipLinkWordingを使用)、ターゲットがリンク自身と同じツリー(ライトDOMまたは同じシャドウルート)内の実在する要素に解決され、かつどのナビゲーションや補足のランドマーク(<nav>、<aside>、またはそれらのロール)の外にもある<a href="#id">(または旧来の<a name="id">)。メニューやサイドバーへのリンクは、メインコンテンツへのスキップになりません。<nav>より前に配置されていることや、キーボードフォーカス順序の先頭であることは求めません。(c) アクセシビリティツリーに含まれ、かつ可視(画面外、クリップ、opacity:0、サイズゼロでoverflow:hidden、またはスクロールしても届かないページの上端より上や始端より左に全体が描画されている、のいずれでもない)であり、かつどのナビゲーションや補足のランドマークの外にもある見出し(<h1>〜<h6>、またはheadingに解決されるロール)が少なくとも1つ、達成方法H69:見出しナビゲーション自体が標準で認められたブロックスキップの手段です(例:スクリーンリーダーの「見出しへ移動」コマンド)。ただしACT 047fe0の期待される結果は可視であることも求めています。スクリーンリーダー専用の見出しでは、晴眼のキーボードユーザーが繰り返されないコンテンツの開始位置を見つける同等の手段がないためです。H69は、コンテンツの各セクションの先頭に見出しを置く達成方法です。ナビゲーション内の見出しは繰り返されるブロックの見出しであり、そこへ移動しても何もスキップしません(ACT 047fe0、Failed Example 4)。
例
<body><nav>Site nav</nav><main>Primary content</main></body>
ブロックスキップの手段として認められるmainランドマークがあります。
<body><nav>Site nav</nav><div>Primary content, no landmark, no heading, no skip link.</div></body>
mainランドマーク、機能するスキップリンク、可視の見出しのいずれも検出されませんでした。エンジンは1つのスナップショットだけではページに本当にブロックスキップの手段がないかどうか確認できないため、失敗ではなくレビューを促すものです。
確認方法
このルールが判断できない場合はcantTellを報告し、判断を人に委ねます。ルールが投げかける各質問を、理由コードごとに、答えるための手順とともにここに示します。検出結果にも同じ手順がhowToCheckとして、スキャンの言語で含まれます。出力スキーマを参照してください。
BYPASS_MECHANISM_ABSENT
- ダイアログやオーバーレイを閉じてから、サイトのほかのページにも表示されるヘッダーやメニューなどのブロックをページが繰り返しているか確認してください。
- アドレスバーをクリックしてTabキーを押し、繰り返されるブロックを飛ばしてメインコンテンツへフォーカスを移すスキップリンクが現れるか確認してください。
- アクセシビリティペイン、またはスクリーンリーダーの見出し一覧やランドマーク一覧で、メインコンテンツの冒頭に見出しがあるか、mainランドマークがあるかを確認してください。
満たす場合:ページに繰り返されるブロックがないか、それらを飛ばせる機能するスキップリンク、mainランドマーク、または見出しがあります。
満たさない場合:繰り返されるブロックを飛ばす方法がないため、キーボードやスクリーンリーダーの利用者はページごとにそれらを通過しなければならず、WCAG 2.4.1を満たしません。