キーボード:
達成基準 2.1.1 を理解する
2.1.1 キーボード: コンテンツのすべての機能は、個々のキーストロークに特定のタイミングを要することなく、キーボードインタフェースを通じて操作可能である。ただし、その根本的な機能が利用者の動作による始点から終点まで続く一連の軌跡に依存して実現されている場合は除く。 (レベル A)
注記 1: 上記の例外は、根本的な機能に関するものであり、入力手法に関するものではない。例えば、テキスト入力に手書き入力を用いるのであれば、その入力手法 (手書き) は利用者の動作による軌跡に依存した入力を必要とするが、その根本的な機能 (テキスト入力) は利用者の動作による軌跡に依存した入力を必要とするものではない。
注記 2: これは、キーボード操作に加えて、マウス入力、又はその他の入力手段を提供することを禁ずるものでも妨げるものでもない。
この達成基準の意図
ここの達成基準の意図は、可能な限り、コンテンツをキーボード又は(代替キーボードが利用できるような)キーボードインタフェースで操作できるようにすることである。コンテンツがキーボード又は代替キーボードで操作可能であれば、(目と手を一緒に使うマウスのようなデバイスを使用できない)全盲の利用者にも、代替キーボード又はキーボードエミュレータのような入力デバイスを使用しなければならない利用者にも操作できることになる。キーボードエミュレータには、音声認識入力ソフトウェア、呼気/吸気操作ソフトウェア、オンスクリーンキーボード、スキャニングソフトウェア、そして様々な支援技術及び代替キーボードがある。ロービジョンの利用者は、ポインタを目で追うのが困難なことがあり、キーボードでソフトウェアを操作できれば、ソフトウェアがとても使いやすくなる(又は、単に使えるようになる)。
「個々のキーストロークに特定のタイミング」の事例としては、利用者が短時間のうちに複数の打けんを繰り返す又は実行する必要がある状況、又は打けんが受け付けられるまでは長い間キーを押下していなければならないような状況がある。
「ただし、その根本的な機能が単に利用者の動作の終点に依存しておらず、利用者の動作による軌跡に依存して実現されている場合は除く。」というフレーズがあるのは、キーボードから無理なく操作することができないものとを区別するためである。
ポインティング・デバイスにより実行される操作のほとんどは、キーボードでも実行可能である(例えば、クリックする、選択する、動かす、拡大・縮小する)。しかし、ポインティング・デバイスでは可能だが、ものすごく多くの打けんでないと、あらゆる知られた方法でキーボードでは不可能な入力がある。手書き描画、水彩画、及び障害物訓練コースでのヘリコプター操縦は、どれも軌跡に依存した入力を要する機能の事例である。直線や規則的な幾何学的図形を描くこと、ウィンドウのサイズを変更すること、及びある位置へオブジェクトをドラッグして移動させること(その位置への軌跡に意味がない場合)は、軌跡に依存した入力を必要としない。
(テンキーでマウスポインタを操作する)マウスキーを使用することでは、この達成基準を満たしたことにはならないだろう。なぜなら、アプリケーションに対して、キーボードと同等ではなく、マウスと同等だからである(つまり、アプリケーションからはマウスのように見えるためである)。
利用者の入力機能を設計する際に、利用者がそのオペレーティング・システムのキーボード・アクセシビリティ機能を使用する可能性があることを考慮するのは当然のことである。例えば、修飾キーがロックされているかもしれない。しかし、修飾キーのロックとぶつかるイベントを送って予期しない結果が生じることのないように、コンテンツはそのような環境においても機能し続ける必要がある。
達成基準 2.1.1の具体的なメリット:
(目と手を一緒に使うマウスのようなデバイスを使用できない)全盲の利用者
(画面上のポインタを見つけたり、目で追ったりするのが困難である)ロービジョンの利用者
マウスを使うのがとても困難なため、通常はキーボードを使用している手に震えのある利用者。
達成基準 2.1.1の事例
事例 1: 描画プログラム
描画プログラムは、利用者がキーボード操作でオブジェクトの作成、サイズ変更、配置及び回転をすることが可能である。
事例 2: ドラッグアンドドロップ機能
ドラッグアンドドロップを用いるアプリケーションは、オブジェクトを移動させるための「カット」及び「ペースト」、又はフォーム・コントロールをサポートしている。
事例 3: 離れている点の間の移動及び接続
点を結ぶプログラムは、利用者が画面上の点間を移動し、スペースキーで現在の点と直前の点を結ぶことができる。
事例 4: 例外 - お絵描きプログラム
水彩画を描くプログラムは、ひと筆の動きが移動の速度及び持続時間にかなり依存して変化するため、例外の一つとして認められる。
事例 5: 例外 - 模型ヘリコプター操縦訓練シミュレータ
ヘリコプター操縦訓練シミュレータは、シミュレータの性質上、模型ヘリコプターの動作をリアルタイムで教えるものであるため、例外の一つとして認められる。
事例 6: オプションのキーボード付き PDA
通常スタイラスペンで操作する PDA は、オプションで接続可能なキーボードがある。そのキーボードは、標準的な方法で全てのウェブ閲覧を行うことが可能である。ウェブコンテンツはキーボードのみでも利用できるように設計されているので、そのキーボードでも操作可能である。
関連リソース
リソースは、情報提供のみを目的としており、推奨を意味するものではない。
(今のところ、文書化されていない)
達成基準 2.1.1 の達成方法及び不適合事例 - キーボード
この節にある番号付の項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組合せを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。他の達成方法についての情報は、達成基準を満たすための達成方法を理解するの「その他の達成方法」を参照のこと。
十分な達成方法
次の達成方法の一つを用いて、キーボードで操作できることを保証する。
次の達成方法の一つを用いて、 G90: キーボードがトリガーとなるイベント・ハンドラを提供する :
SCR20: キーボードとその他のデバイス特有の機能を両方とも使用する (Scripting)
SCR35: アクションをキーボードで操作可能にするために、アンカー及びボタンのonclickイベントを使用する (Scripting)
SCR2: キーボード及びマウスのイベント・ハンドラを両方とも使用する (Scripting)
SL9: Handling Key Events to Enable Keyboard Functionality in Silverlight (Silverlight)
SL14: Providing Custom Control Key Handling for Keyboard Functionality in Silverlight (Silverlight)
FLASH17: Flash オブジェクトをキーボードで操作可能にして、キーボードトラップを回避する (Flash) かつ、必要に応じて次の達成方法を用いる:
2.1.1 でさらに対応が望まれる達成方法(参考)
適合するためには必須ではないが、コンテンツをよりアクセシブルにするためには、次の付加的な達成方法もあわせて検討するとよい。ただし、すべての状況において、すべての達成方法が使用可能、または効果的であるとは限らない。
インタラクティブなユーザインタフェース・コンポーネントとして静的な要素に再度目的を持たせる場合、XHTMLの役割、状態、及び値の属性を使用する(リンク追加予定) 及び SCR29: 静的なHTML要素にキーボード操作可能なアクションを追加する (Scripting)
重要なリンク及びフォームのコントロールへのキーボード・ショートカットを提供する(リンク追加予定)
一覧表の各項目を始めるために固有の文字の組合せを使用する(リンク追加予定)
もっとも抽象的なイベント・ハンドラを選択する(リンク追加予定)(Scripting)
OnActivateイベントを使用する(リンク追加予定)(Scripting)
他の目的で、一般的なユーザエージェントのキーボード・コマンドの使用を避ける(リンク追加予定)
達成基準 2.1.1 のよくある不適合事例
以下に挙げるものは、WCAG ワーキンググループが達成基準2.1.1に適合していないとみなした、よくある不適合事例である。
重要な用語
- キーボードインタフェース (keyboard interface)
キーストローク入力を取得するためにソフトウェアが用いるインタフェース。
注記 1: 標準ではキーボードが存在しない技術であっても、キーボードインタフェースによって、利用者がキーストローク入力をプログラムに提供できる。
事例: タッチスクリーンを搭載している PDA には、外部キーボードへのコネクタとあわせて、そのオペレーティングシステムに組み込まれたキーボードインタフェースがある。PDA 上のアプリケーションはそのインタフェースを用いて、外部キーボード、あるいは手書き解釈プログラムや「キーボードエミュレーション」機能付きの音声テキスト変換アプリケーションのような擬似キーボード出力を提供する他のアプリケーションのいずれかからキーボード入力を取得することができる。
注記 2: マウスキーのようなキーボード操作によるマウスエミュレータによるアプリケーション (又は、そのアプリケーションの一部) の操作は、キーボードインタフェースからの操作とは見なさない。なぜならば、この場合、プログラムの操作は、キーボードインタフェースからではなく、そのポインティングデバイス インタフェースからの入力によって行われるからである。
- 機能 (functionality)
利用者の操作により実現可能なプロセス及び結果。