意図
この達成基準の意図は、利用者が偶発的又は誤ったポインタ入力を防止することを容易にすることである。様々な障害者が、意図せずタッチ又はマウスイベントを開始してしまい、望ましくない結果を招くことがある。以下の各サブセクションは、この達成基準の箇条書きとほぼ一致しており、利用者がポインタ操作をキャンセルできる手段を概説している。
アップイベントで動作又は完遂させる
ポインタのキャンセルを組み込む最もアクセシブルな方法は、動作がアップイベントによって発生するようにすることである。
アップイベントによる動作とは、ポインタが離されたときにターゲットが動作することである。タッチスクリーンのインタラクションでは、指がターゲットに触れているとき、ターゲット領域内にあった指が持ち上げられた場合にのみ、アップイベントによる動作が発生する。同様にマウスによるインタラクションでは、マウスボタンを押した当初のターゲット設定領域内にカーソルがある間にマウスボタンを放した場合、アップイベントが発生する。
コンテンツ制作者は、アップイベントで機能を動作させる一般的なプラットフォームの動作/クリックイベントを使用することによって、利用者が不用意に動作を引き起こしてしまう問題を減らすことができる。例えば JavaScript の click
イベントは、マウスの主ボタンが離されたときに引き起こされる、暗黙的なアップイベントの一例である。その名称にもかかわらず、click
イベントはデバイス非依存であり、タッチ及びキーボード操作においても機能する。
アップイベントの優先度は、達成基準の最初の箇条書きの表現の中で暗黙的に示されている。つまり、機能を実行する目的でポインタのダウンイベントを使用していない
アップイベントで中止又は元に戻す
インタラクションが単純な「クリック」に相当する場合、アップイベントによる動作には、キャンセルできる機能が組み込まれている。画面に触れたときと指を離したときとでは違いがある。同様に、マウス操作では、マウスボタンを押したときと離したときの違いがある。ポインタが離されたときにのみ動作が発生する場合、利用者にはその動作を中止 (キャンセル) する機会が与えられることになる。マウス又はタッチスクリーンを正確に使用することが困難な利用者は、この基本的な動きから大きなメリットを得ることができる。通常は、アイテムが押下されているときに視覚的なフィードバックを受け取る。間違ったアイテムを選択していることがわかった場合は、ポインタまたは指を離す前に、ターゲットから動かすことで操作をキャンセルすることができる。
ドラッグ&ドロップのような、より複雑なインタラクションの場合、ダウンイベント及びアップイベントは、プロセス完遂のための一連のアクションを、開始及び終了する。例えば、ドラッグ&ドロップの場合、アイテムは次のようになる。
- 押下 (ダウンイベント) で選択され、
- 押下されたままの状態で新しい場所に移動し、そして
- 離される (アップイベント) ことでドロップアクションが完了する。
このような複雑なアクションでは、中止又は元に戻す機能の必要性が高まる。設計者は、確認ダイアログや「元に戻す」ボタンなどを実装することを選択して、完了したプロセスを利用者が元に戻せるようにすることができる。もしくは、上記のステップ 3 の完了前に、選択されたアイテムを利用者が元の場所に戻し、そこでプロセスを終了する場合に、アクションを中止する機能を実装することもできる。画面の他の部分でアイテムの移動を受け入れない箇所がある場合、利用者はそこでドラッグ&ドロップを終了することができ、事実上操作を無効にできる。
アップイベントで反転する
別のインタラクションでは、ダウンイベントは、アップイベントが完了したときに反転できる動作をトリガーしてもよい。この例としては、利用者がオブジェクトを押下した (ダウンイベント) ときに一時的なポップアップが表示され (又は動画が再生され)、利用者がポインタを離す (アップイベント) と同時にポップアップ (又は動画) が消えるなどの長押し動作が含まれる。アップイベントが先行するダウンイベントを反転するので、利用者は以前の状態に戻り、事実上操作をキャンセルしている。
ダウンイベント
ダウンイベントによって機能を完了させることは、アップイベントを使用しないことが必要不可欠な場合にのみ許容される。
必要不可欠なダウンイベントの動作で最も一般的なものは、キーボードのエミュレーションで発生する。物理キーボードでは、デフォルトではキーがダウンイベントで動作し、キーが押されると文字が表示される。ソフトウェアによるキーボードエミュレーターが、キーを離したときに文字を表示することによって、この期待される動作を上書きしようとした場合、その動きは予期しないものであり、期待されるインタラクションに対して悪影響を与えるであろう。
キーボードには、内蔵の Backspace 又は Delete ボタンがあり、これは事実上元に戻すオプションが提供されていることに留意されたい。元に戻せることは、ダウンイベントが必要不可欠な例外において必須要件ではない。しかし、この達成基準の要件ではないとしても、利用者が任意のアクションを元に戻す簡単な方法を提供することは、推奨される実装である (そして機能的に必要かもしれない)。
ある動作のタイミングが必要不可欠であり、かつダウンイベントを必要とする別の例としては、以下が挙げられる:
- オンスクリーンのピアノ鍵盤の演奏時など、物理的な押下トリガーをエミュレートするアクティビティ。アップイベントでの動作は、望ましい動作を大幅に変更する。
- スキート射撃のプログラム。ここで「アップ」イベントを待ち受けると、動作に必要な正確なタイミングが無効になる。
メリット
- すべての利用者が、誤ったターゲットをヒットした場合のリカバリーを、容易にできるようにする。
- コントロールが誤って動作する、又は予期しない動作が発生する可能性を減らすことで、視覚障害、認知の制約、及び運動障害のある人にとって助けになる。さらには、複雑なコントロールが動作状態にある場合に、元に戻す又は中止する手段を利用できる。
- コンテキストの変化に気づくことができない人は、サイトをナビゲートしている間に混乱した状態になりにくい。
事例
- 入力としてシングルタップ又は長押しがあるインタフェース要素の場合、その要素内で指を離すときに対応するイベントがトリガーされる。
- ドラッグ&ドロップのインタフェースは、利用者が、1 枚のカードをポインタで選択して (ダウンイベント) 縦に積み重ねられたカードを並べ替えたり、新しい位置に移動したり、ポインタを離したとき (アップイベント) に新しい位置に挿入したりできるようにする。ドロップできるターゲット領域の外側でポインタを離すと、アクションは反転し、つまり、インタラクションが開始される前の、元の位置にカードが戻る。
達成方法
この節にある番号付きの各項目は、WCAG ワーキンググループがこの達成基準を満たすのに十分であると判断する達成方法、又は複数の達成方法の組み合わせを表している。しかしながら、必ずしもこれらの達成方法を用いる必要はない。その他の達成方法についての詳細は、WCAG 達成基準の達成方法を理解するの「その他の達成方法」を参照のこと。
十分な達成方法
- G210: ドラッグ&ドロップ操作をキャンセルできるようにする
- G212: ネイティブコントロールを使用して、アップイベントで機能がトリガーされるようにする
- タッチイベントは、タッチがコントロールから外されたときにのみトリガーされる。 (将来、達成方法に追加される可能性あり)
参考達成方法
適合のために必須ではないが、コンテンツをよりアクセシブルにするために、次の追加の達成方法を検討することが望ましい。ただし、すべての状況において、すべての達成方法が使用可能、又は効果的であるとは限らない。
失敗例
以下に挙げるものは、WCAG ワーキンググループが達成基準の失敗例とみなした、よくある間違いである。
重要な用語
障害のある利用者の要件を満たすために、主流のユーザエージェントが提供する機能を超えた機能を提供するような、ユーザエージェントとして動作する、又は主流のユーザエージェントと共に動作するハードウェア及び/又はソフトウェア。
支援技術が提供する機能としては、代替の提示 (例: 合成音声や拡大表示したコンテンツ)、代替入力手法 (例: 音声認識)、付加的なナビゲーション又は位置確認のメカニズム、及びコンテンツ変換 (例: テーブルをよりアクセシブルにするもの) などを挙げることができる。
支援技術は、API を利用、監視することで、主流のユーザエージェントとデータやメッセージのやりとりをすることが多い。
主流のユーザエージェントと支援技術との区別は、絶対的なものではない。多くの主流のユーザエージェントは、障害のある個人を支援する機能を提供している。基本的な差異は、主流のユーザエージェントが障害のある人もない人も含めて、広く多様な利用者を対象にしているのに対し、支援技術は、特定の障害のある利用者という、より狭く限られた人たちを対象にしているということである。支援技術により提供される支援は、対象とする利用者に特化した、よりニーズに適したものである。主流のユーザエージェントは、プログラムオブジェクトからのウェブコンテンツの抽出、マークアップの識別可能な構造への解釈といった、重要な機能を支援技術に対して提供する場合がある。
この文書の文脈において重要な支援技術としては、以下のものが挙げられる:
- 画面拡大ソフト及びその他の視覚的な表示に関する支援技術。視覚障害、知覚障害、及び読書困難などの障害のある人が、レンダリング後のテキスト及び画像の視覚的な読みやすさを改善するために、テキストのフォント、サイズ、間隔、色、音声との同期などを変更するのに使用している。
- スクリーンリーダー。全盲の人がテキスト情報を合成音声あるいは点字で読み取るために使用している。
- 音声変換ソフトウェア。認知障害、言語障害、及び学習障害のある人が、テキストを合成音声に変換するために使用している。
- 音声認識ソフトウェア。何らかの身体障害のある利用者が使用することがある。
- 代替キーボード。特定の身体障害のある人がキーボード操作をシミュレートするのに使用している (ヘッドポインタ、シングルスイッチ、呼気・吸気スイッチ、及びその他の特別な入力デバイスを使った代替キーボードを含む)。
- 代替ポインティングデバイス。特定の身体障害のある人がマウスポインタとボタンの動きをシミュレートするのに使用している。
与えられた規格、ガイドライン、又は仕様のすべての要件を満たすこと。
トリガ刺激が depressed (押し下げられた) となった時に発生するプラットフォームのイベント。
ダウンイベントは、「touchstart」「mousedown」など、プラットフォームによって異なる名前を持つ場合がある。
もし取り除いてしまうと、コンテンツの情報又は機能を根本的に変えてしまい、かつ、適合する他の方法では情報及び機能を実現できない。
利用者の操作により実現可能なプロセス及び結果。
結果を得るためのプロセス又は手法。
メカニズムは、宣言する適合レベルのすべての達成基準を満たさなければならない。
ある活動を完了させるために必要な利用者の一連の動作。
ショッピングサイト上の一連のウェブページで目的を果たすためには、利用者が選択肢となりうる製品、価格及び内容を閲覧した後、製品を選択して発注し、配送先情報及び支払情報を提供する必要がある。
アカウント登録ページでは、登録フォームにアクセスする前にチューリングテストに成功する必要がある。
シングルタップ・クリック、ダブルタップ・クリック、長押し、軌跡ベースのジェスチャなど、画面と一つの接点で動作するポインタ入力。
ユーザエージェントがどのようにレンダリング、再生、又は実行するかを符号化するメカニズム。
このガイドラインで用いられている「ウェブ技術」及び (単独で用いられている) 「技術」という用語は、どちらもウェブコンテンツ技術を指す。
ウェブコンテンツ技術には、マークアップ言語、データ形式、及びプログラム言語などがあり、これらをコンテンツ制作者が単独で、又は組み合わせて用いることによって、静的なウェブページや同期したメディアによる提示、さらには動的なウェブアプリケーションに至るまでの様々なエンドユーザ体験を作ることができる。
ウェブコンテンツ技術のよくある事例としては、HTML、CSS、SVG、PNG、PDF、Flash、 JavaScript などがある。
ポインタのトリガ刺激が解除されたときに生じるプラットフォームイベント。
アップイベントは、プラットフォームによっては「タッチエンド」や「マウスアップ」などの異なる名称で呼ばれている場合がある。
ウェブコンテンツを取得して利用者に提示するあらゆるソフトウェア。
ウェブコンテンツの取得、レンダリング及びインタラクションを支援する、ウェブブラウザ、メディアプレーヤ、プラグイン、及びその他のプログラム (支援技術も含む)。