キーボード:
達成基準 2.1.1 を理解する
2.1.1 キーボード: コンテンツのすべての機能は、個々のキーストロークに特定のタイミングを要することなく、キーボードインタフェースを通じて操作可能である。ただし、その根本的な機能が利用者の動作による始点から終点まで続く一連の軌跡に依存して実現されている場合は除く。 (レベル A)
注記 1: 上記の例外は、根本的な機能に関するものであり、入力手法に関するものではない。例えば、テキスト入力に手書き入力を用いるのであれば、その入力手法 (手書き) は利用者の動作による軌跡に依存した入力を必要とするが、その根本的な機能 (テキスト入力) は利用者の動作による軌跡に依存した入力を必要とするものではない。
注記 2: これは、キーボード操作に加えて、マウス入力、又はその他の入力手段を提供することを禁ずるものでも妨げるものでもない。
この達成基準の意図
この達成基準の意図は、可能な限り、コンテンツをキーボード又は (代替キーボードが利用できるような) キーボードインタフェースで操作ができるようにすることである。コンテンツがキーボード又は代替キーボードで操作できるとき、(目と手の協調運動を必要とするマウスのようなデバイスを使用できない) 全盲の人にも、代替キーボード又はキーボードエミュレータの機能を果たす入力デバイスを使用しなければならない人にも操作できる。キーボードエミュレータには、音声入力ソフトウェア、息操作ソフトウェア、オンスクリーンキーボード、スキャニングソフトウェア、そして様々な支援技術及び代替キーボードが挙げられる。ロービジョンの人はまた、ポインタを目で追うのが困難なことがあり、キーボードからソフトウェアを操作できる場合、ソフトウェアの使用がはるかに容易になる (又は、単に使えるようになる)。
「個々のキーストロークに特定のタイミング」の事例としては、利用者が短時間のうちに複数のキーストロークを繰り返すもしくは実行する必要がある状況、又はキーストロークが記録される前に長い間キーを押し続けなければならない状況が挙げられる。
「ただし、その根本的な機能が利用者の動作による始点から終点まで続く一連の軌跡に依存して実現されている場合は除く。」というフレーズは、キーボードから合理的に操作できないものを区別するために含まれている。
ポインティングデバイスにより実行される操作のほとんどは、キーボードでも実行可能である (例えば、クリックする、選択する、移動する、サイズ変更するなど)。しかし、過度のキーストローク数を必要としない既知の方法でキーボードから実行できないポインティングデバイスで行われる細かな入力の分類がある。自由な手描き、水彩画、及び障害物コースを通るヘリコプターの飛行は、いずれも軌跡に依存した入力を要する機能の事例である。直線や規則的な幾何学的図形を描く、ウィンドウのサイズを変更する及びある位置へオブジェクトをドラッグすること (その位置への軌跡に関係がない場合) は、軌跡に依存した入力を必要としない。
マウスキーの使用は、アプリケーションにとってキーボードに相当しないので、この達成基準を満たさないだろう。これはマウスに相当する (つまり、アプリケーションにはマウスのように見える)。
訳注: マウスキーとは、キーボードでマウスの操作を代替することのできるアクセシビリティ機能である。マウスキー - Wikipediaも参照のこと。
利用者が入力を行う機能の設計においては、オペレーティングシステムのキーボードアクセシビリティ機能が利用されている可能性を考慮することが期待される。例えば、修飾キーをロックする機能が有効になっているかもしれない。そのような環境でもコンテンツは機能し、修飾キーロックと衝突して予期しない結果を生じるようなイベントを送信しない (ようにすべきである)。
訳注: 修飾キーとは、別のキーと組み合わせて使用し、そのキーの意味を一時的に変えるものである。例えば、Shift キーがこれに当たる。修飾キーとは - IT用語辞典も参照のこと。
達成基準 2.1.1 の具体的なメリット:
(目と手の協調運動を必要とするマウスのようなデバイスを使用できない) 全盲の人
(画面上のポインタを見つけたり、目で追ったりするのが困難である) ロービジョンの人
マウスを使うのが非常に難しいと感じ、通常はキーボードを使用している手に震えのある人
達成基準 2.1.1 の事例
事例 1: 描画プログラム
描画プログラムは、利用者がキーボードからオブジェクトの作成、サイズ変更、配置及び回転をするのを可能にする。
事例 2: ドラッグ&ドロップ機能
ドラッグ&ドロップを用いるアプリケーションは、オブジェクトを移動させるための「切り取り」及び「貼り付け」又はフォームコントロールもサポートしている。
事例 3: 離れている点の間の移動及び接続
点を結ぶプログラムは、利用者が画面上の点間を移動し、スペースキーで現在の点と直前の点を結ぶことを可能にする。
事例 4: 例外 - お絵描きプログラム
水彩画を描くプログラムは、筆の動きが速度及び持続時間によって変化するため、例外の一つとして認められる。
事例 5: 例外 - 模型ヘリコプター飛行訓練シミュレータ
ヘリコプター飛行訓練シミュレータは、シミュレータの性質上、模型ヘリコプターの動作をリアルタイムで教えるものであるため、例外の一つとして認められる。
事例 6: オプションのキーボード付き PDA
通常スタイラスペンで操作する PDA 機器は、オプションで取り付け可能なキーボードがある。そのキーボードは、標準的な方法で完全なウェブ閲覧を可能にする。キーボードのみのアクセスで動作するように設計されているので、ウェブコンテンツは操作可能である。
関連リソース
リソースは、情報提供のみを目的としており、推奨を意味するものではない。
(今のところ、文書化されていない)
達成基準 2.1.1 の達成方法及び失敗例 - キーボード
この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、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)
利用者の操作により実現可能なプロセス及び結果。