スクロール可能な領域にキーボードアクセスがあることを確認してください
ルールID:
scrollable-region-focusable
ルールセット:
axe-core 4.10
ユーザーへの影響:
深刻
ガイドライン:
WCAG 2.1 (A), WCAG 2.0 (A), WCAG 2.2 (A), Trusted Tester, EN 301 549
修正方法
正しいマークアップ方法
スクロール可能な領域をキーボードでアクセシブルにするには、キーボードしか使わないユーザーがそのスクロール可能な領域自体、またはそのスクロール可能な領域内のスタティックなテキスト項目にフォーカス出来るようにすることが必要です。下記の最初の例は一つ目の方法を、二番目の例は二つ目の方法を示しています。
<div id="pass1" style="height: 200px; overflow-y: auto" tabindex="0">
<div style="height: 2000px">
<p>Content</p>
</div>
</div>
<div id="pass2" style="height: 20px; overflow: auto;">
<input type="text" tabindex="-1" />
<select tabindex="-1"></select>
<textarea tabindex="-1"></textarea>
<p style="height: 200px;" tabindex="0"></p>
</div>
条件付きの解決方法
次の例はブラウザーが自動補完のキーボード・イベントを介入した場合に失敗する可能性があります。スクロール可能な領域またはその領域内のスタティックなテキストに0と言う値のtabindexを常に指定したほうが良いです。
<div id="conditional1" style="overflow-y: scroll; height: 5px;">
<input type="text" />
</div>
不適切なマークアップ方法
次の二つの例は、スクロール可能な領域内にフォーカス可能な要素がないため不合格になります。
<div id="fail1" style="height: 5px; overflow: auto;">
<input type="text" tabindex="-1" /></div>
<div id="fail2" style="height: 5px; overflow: auto;">
<input type="text" tabindex="-1" />
<select tabindex="-1"></select>
<textarea tabindex="-1"></textarea></div>
なぜ重要なのか
スクロール可能なコンテンツがキーボードによるナビゲーションを可能にするフォーカス可能な要素を持っているかを確認します。キーボードによるナビゲーションはスクロール可能な領域にフォーカスした際、失敗するべきではありません。
ルールの説明
スクロール可能なコンテンツを持つ要素は、キーボードでアクセスできるようにするべきです
仕組みについて (簡単に言うと)
スクロール可能な領域にキーボードでアクセスできるようにします。