要約
ユーザーがキーボードですべての機能をコントロールできるようにします。
テクニック
-
すべてのコントロールをキーボードから操作できるようにします。[[WCAG-2.1.1]]
-
すべてのリンクをキーボードから操作できるようにします。[[WCAG-2.1.1]]
-
キーボードトラップがないようにします。[[WCAG-2.1.2]]
-
一文字のみで構成されるキーボードショートカットは使用しないようにします。[[WCAG-2.1.4]]
-
アクティブなコントロールのフォーカスを見えるようにします。[[WCAG-2.4.7]]
-
コントロールにフォーカスが移動しただけではイベントを起動しないようにします。[[WCAG-3.2.1]]
-
予期できないイベントは、ユーザーによる値の入力や設定変更の時に起動します。[[WCAG-3.2.1]]
解説
多くのユーザーにとって、コンテンツを操作する主な、または唯一の方法は、キーボードまたはキーボードのような入力デバイス(音声認識ソフトウェア、仮想キーボードなど)を使用することです。これらのユーザーにとって、すべての機能がキーボードで操作できるのは必須事項です。
キーボードの相互運用性の問題が発生する最も一般的な原因は、コンテンツ製作者がページにカスタムスクリプトコントロールとリンクを追加した場合です。ボタン、スライダー、ハイパーリンクなどのHTMLネイティブ要素を使用すると、通常、キーボード入力の落とし穴を回避できます。このような場合、コンテンツ製作者はコントロールをアクセシブルに作成するだけで済みます。たとえば、コントロールに明確なラベルを付け、目的に応じてグループ化します。
カスタムコントロールを使う場合、コンテンツ製作者は作成したコントロールがネイティブコントロールと同じ要件をすべて満たすようにしなければなりません。次に例を示します。
- ユーザーがコントロールにアクセスできること
- コントロールの目的が明確であること
- コントロールがキーボードで操作できること
- ユーザーがコントロールに閉じ込められないこと
カスタムコントロールを作成する際は、ショートカットキーによる出版物の使用に与える影響についての考慮も重要です。目の見える読者にとっては、単一キーの印刷可能な文字(文字、数字、句読点)を操作のショートカットとして割り当てることは便利に思えるかもしれませんが、コマンドを入力しようとする読者の入力が妨害される可能性があります。その結果、ユーザーが必要な機能を完了できなかったり、コンテンツ内で希望しない動作がアクティブ化される可能性があります。コンテンツ製作者は常に、ユーザーが単一文字のショートカットを再設定またはオフにできるようにしなければなりません。
また、要素にフォーカスが移動した際にコンテキストの変化を引き起こさない点も重要です(ユーザーがタブで要素に移動した時など)。新しいウィンドウを開く、フォームを送信する、コンテンツを変更するなどのコンテキストの変化は、何が起こったのかが見えない読者には混乱を引き起こします。
同様に、フィールドに入力したり、コントロールの設定を変更した場合も、予期しないコンテキストの変化を発生させてはなりません。
注記
レベルA適合のキーボード要件では、開始点と終了点だけでなく、移動の完全なパスが不可欠な機能は、除外されます。たとえば、ユーザーがオブジェクトをドラッグしてドロップできるプログラムは、移動先へのパスは重要ではないため除外されません。一方、描画プログラムは、完全なパスが描画されたオブジェクトに影響するため、除外されます。