ホバーまたはフォーカスで表示されるコンテンツ
Silktide は、ホバーまたはキーボードフォーカスによって表示されるコンテンツ(ツールチップ、ドロップダウンメニュー、プレビューカードなど)が、 達成基準 1.4.13(レベル AA)の要件どおりに動作することを確認するよう促します。
これはです。自動化では、ページ上のすべてのトリガーにホバーやフォーカスを適用し、表示されたものを操作することはできません。そのため、Silktide は各ページでこのプロンプトを表示し、人が確認します。
重要な理由
ホバーまたはフォーカスでポップアップ表示されるコンテンツは、適切に動作しない限り、複数の利用者グループにとって使いにくいものになります。
- 画面拡大ソフトの利用者はページを高倍率で表示し、読むためにポップアップへポインターを移動する必要があります。ポインターがトリガーから離れた瞬間にポップアップが消えると、読むことができません。
- 手の震えがある人は、意図せず要素をホバーしてしまいます。ポインターを離すことによってしか閉じられないポップアップでは、正確な動作を強いられ、それができない場合があります。
- より長い時間が必要な人は、タイマーで自動的に非表示になるコンテンツを見失います。
チェックする内容
ホバーまたはキーボードフォーカスでコンテンツを表示する各要素について、次の3点をすべて確認してください。
- 閉じられる - 表示されたコンテンツを、ポインターまたはフォーカスを移動せずに閉じられること。通常は Escape キーを押して閉じられるようにします。(例外:フォームフィールドのエラーヒントが、何もない空白部分に表示される場合など、他のものを覆い隠さない場合。)
- ホバーできる - ホバーがきっかけで表示された場合、表示されたコンテンツが消えずに、その上へポインターを移動できること。
- 表示が持続する - ユーザーが閉じる、離れる、または情報が有効でなくなるまで表示され続けること。自動的に非表示にするタイマーがないこと。
ネイティブの title 属性によるツールチップは(ブラウザーが制御するため)対象外です。ただし、別の問題があるため、Title attribute labelingを参照してください。
修正方法
- トリガーがフォーカスを保持したままポップアップを非表示にする Escape キーのハンドラーを追加します。
- トリガー上だけでなくポップアップ自体の上にポインターがある間も、ポップアップを開いたままにします。ポップアップをトリガーの DOM にネストするか、ホバーしても消えない領域で隙間をつなぎます。
- ツールチップやメニューから
setTimeout形式の自動非表示を削除します。
ページ上のホバーまたはフォーカスで表示されるすべての要素が準拠している(またはそのような要素がない)場合は、この指摘をしてください。
Silktide によるテスト方法
Silktide は現在、ホバーやフォーカスのトリガーを自動検出できません。そのため、このチェックでは各ページにつき1つ、確認事項を説明するレビュー用プロンプトを表示します。現在、1.4.13を自動テストできるツールはありません。この基準に対応する W3C ACT ルールも存在しません。将来のバージョンでは、考えられるトリガー(ホバーに紐づいたリスナーや、CSS で表示されるコンテンツ)を検出し、このプロンプトが必要なページでのみ表示されるようにする予定です。