WCAG 2.2 達成基準 2.5.2 「ポインタのキャンセル」の検品について
品質管理部スタッフ 坂下今回は、WCAG 2.2の2.5.2「ポインタのキャンセル」について、その確認方法をご紹介します。
詳細はSuccess Criterion 2.5.2 Pointer Cancellationをご参照ください。
達成基準の概要
以下は達成基準の日本語訳を引用したものです。
シングルポインタを使って操作できる機能は、以下の要件の少なくとも一つを満たす。
ダウンイベントがない
機能を実行する目的でポインタのダウンイベントを使用していない。中止又は元に戻すことができる
機能の完了にはアップイベントを使用し、かつ機能の完了前に中止する、又は機能の完了後に元に戻すためのメカニズムが利用できる。アップイベントで反転
アップイベントによって、先のダウンイベントのすべての結果が反転する。必要不可欠
ダウンイベントによって機能を完了させることが必要不可欠である。
この基準の目的は、ポインタ操作(マウスクリックやタッチ操作)時の誤操作を防ぐことにあります。特に、ボタンを押しただけでは機能が確定せず、指やマウスを離した瞬間に操作が完了する設計が求められます。
基準を満たすことで、誤って操作した場合でも修正やキャンセルが容易になります。
検品の方法
クリック操作の確認
ボタンなどをクリックした際に、押した瞬間ではなくボタンを離した瞬間に機能が実行されることを確認します。例えば、ユーザーがマウスのボタンを押し続けた状態でポインタを別の場所に移動させた際に機能が実行されないようにします。
この動作が正しく設計されていると、ユーザーは操作を中断したり、機能を修正する余裕が生まれます。
タッチ操作の確認
スマートフォンやタブレットでのタッチ操作を確認します。指を画面に押しただけでは機能が確定せず、指を離した時点で機能が実行されること、押した状態で指を移動させた際に機能が誤って実行されないことを確認します。特にタッチデバイスを利用するユーザーの誤操作リスクを軽減できます。
キャンセル機能の確認
ポインタ操作において、誤操作を防ぐためのキャンセル機能が実装されているか確認します。例えば、機能が確定する前にダイアログなどが表示されユーザーが操作をキャンセルできる仕組みが必要です。
この機能があることで、ユーザーは誤って機能を実行した場合でも取り消すことができ、操作に対する安心感が向上します。なお、操作がいったん確定した後であっても、元に戻す機能が提供されていれば達成基準を満たします。
アップイベントで反転
ポインタのダウンイベント(押した瞬間)によって一時的な変化が発生する場合、アップイベント(離した瞬間)で、そのダウンイベントによる結果が反転される設計になっているかを確認します。
例えば、利用者がオブジェクトを押した際に一時的なポップアップが表示され、指やマウスボタンを離したと同時にそのポップアップが消えるような実装が該当します。
重要なのは、ダウンイベントによって生じた変化が利用者の意思として最終確定されないことです。アップイベントで結果が反転することで、意図しない押下による影響を残さない設計になっているかを確認します。
ダウンイベントでの完了が必要不可欠なケース
機能はアップイベントで完了することが望まれます。ただし、ダウンイベントで即座に処理を完了させることが操作の性質上どうしても必要なケースもあります。
- リアルタイム性が求められる操作(例:音を鳴らす鍵盤アプリ)
- 押している間だけ動作するインタラクション(例:長押し中のみ表示される機能)
- ゲームなど、即時反応が必須となるインターフェース
このような場合でも、誤操作による重大な影響が発生しない設計になっているかを確認します。ダウンイベントで処理を完了させる場合は、その必要性が明確であることが求められます。
また、ダウンイベントで機能を完了させる実装であっても、後からその結果を取り消したり元に戻したりできる仕組みを提供することで、利用者は誤操作があった場合でも影響を最小限に抑えることができます。
確認時に気を付けるポイント
以下のポイントに注意して検証を行います。
- ポインタを押した瞬間(ダウンイベント)では、機能が即座に実行されないこと
- ポインタを離した瞬間(アップイベント)で、機能が確定する設計になっていること
- 押した状態のままポインタを移動し、対象外で離した場合に機能が実行されないこと
- ダウンイベントで一時的な視覚変化が発生する場合、アップイベントで適切に確定または取り消されること
- ユーザーが誤操作をした際に、キャンセルや取り消しが可能であること
- 確認ダイアログやキャンセルボタンなど、誤操作防止のためのUIが適切に提供されていること
- ダウンイベントで機能を完了させている場合、その必要性が明確であり、重大な影響が生じない設計になっていること
ポインタ操作は、多くのユーザーが日常的に利用する基本的な操作です。
正確なポインタキャンセルの実装を確認し、より多くのユーザーにとって操作しやすいWebサイトを提供しましょう。