適用 (対象)
この失敗例は、入力メカニズムとして物理的なキーボードの使用に影響するウェブコンテンツへ適用される。
この達成方法は達成基準 2.1.4: 文字キーのショートカットを理解する (失敗例) に関連している。
解説
文字キーのみを使用するキーボードショートカットが実装されている場合、音声コマンドが誤って機能を動作させる可能性がある。文字キーによるショートカットは、アルファベットキー (大文字及び小文字を含む)、句読点、数字、又は記号文字などの単一のキーを使用する。
コンテンツは単一文字キーのショートカットを実装しないか、又はそれらのショートカットを停止する、もしくはそれらを Alt もしくは Ctrl などの、追加の修飾キーを用いるキーボードショートカットにマッピングする設定のどちらかを提供しなければならない。
特定のインタフェース要素がフォーカス持つ場合にのみショートカットがアクティブであるとき、単一キーのキーボードショートカットの使用は失敗ではない。例えば、select 要素又はカスタムリストボックスがフォーカスを持つ場合、リストをナビゲートするための単一の文字キーの入力は便利な機能である。
この試験方法はキーボードショートカットが使用されているかどうかをコンテンツ制作者 (しばしばサイトの開発者) へ尋ねることを提案している。 その情報が信頼に足る場合、すべてのキーを押下するより手順は簡略化するはずである。
例えば、select
要素のようなインタフェース要素がフォーカスを持つ場合、単一キーのショートカットが有効なとき、達成基準は適用されない。この場合、アルファベットキーの押下が、選択オプション内での高速なナビゲーションのために利用される。
ページスクリプトの表示、及び document.addEventListener('keydown' ...)
のような典型的なキーボードイベントハンドラ又は .keycode
属性の有無の検索により、Alt 又は Ctrl のような同時に押下される修飾キーなしにキーボードショートカットを妨害するスクリプトの存在を証明してもよい。文字キーのイベントを実装する方法は複数あるため、この方法は信頼性が低いと考えられている。
いくつかのブラウザは Shift を併用した単一キーショートカットを採用している。例えば、Firefox は Shift + / を押下した場合はページ検索を開き、Shift + ' を押下した場合はページリンクを検索する。いずれの場合でも、ブラウザの入力からフォーカスを外すためには、Esc を押下する又はページの空である部分をクリックする必要があるはずである。
事例
アプリケーションは検索ポップアップを表示するために単一キーショートカットの S を使用する。このショートカットを停止又は変更を行う設定が存在しない。
検証
手順
サイトがキーボードショートカットの無効化又は再割り当てのための設定を提供しない場合:
- 読み込み中のページが入力にフォーカスを設定する場合、ページの空の部分をクリックし、どの入力もフォーカスされていないことを確認する。
- コンテンツ制作者がショートカットキーとして指定したキーを押下する、又はこの情報が利用不可能な場合、全ての印刷文字 (すなわち、全ての数字、アルファベット、記号及び句読点キー) を押下する。Ctrl、Alt、Esc、矢印キー及び (存在する場合) F1-F12 ファンクションキーなどの非印刷の修飾キー及びコントロールキーは押下しない。スペース、Enter、Return、Tab 及び Delete キーも免除される。
- Shift キーを押下したまま、同じキーを再度押下する。
- キーを押下したことにより、機能が実行されたかを確認する。
期待される結果
手順 #4 が偽である場合、この失敗例の条件は適用される、及びコンテンツは達成基準の失敗となる。