確認ダイアログ・取り消し・二段階
危険な操作を、確認ダイアログ・取り消し可能・二段階のどれで守る?
判断表
| 判断軸 | 確認ダイアログ 実行前に一度止めて聞く | スナックバー+取り消し 先に実行し、数秒間だけ戻せる | スワイプ削除 動作を重ねて確定(入力確認の代用) |
|---|---|---|---|
| 取り返しのつかなさ | 元に戻せない操作向け(見本は「取り消せません」) | 戻せる操作向け。戻せないなら使わない | 戻せない操作でも、勢いでは起きにくい |
| 利用者の手間 | 毎回1クリック増える。慣れると読まずに押す | 増えない。戻したいときだけ1クリック | 引く距離が長い分、ひと手間増える |
| 誤操作の起きやすさ | 既定フォーカスをキャンセルにすれば Enter 連打で消えない | 誤って消しても3秒は戻せる | 小さく引いただけでは消えない(閾値130px) |
| 頻度との相性 | 頻繁な操作に付けると形骸化する | 頻繁な操作(一覧の削除・アーカイブ)に最適 | 一覧の行ごとの操作に向く |
| 支援技術 | role=alertdialog・aria-modal・フォーカス復帰まで見本にある | 取り消しボタンに届く時間を確保する必要がある | 見本は削除ボタンも並置しているので、スワイプ専用ではない |
迷ったらこれ
迷ったら「先に実行して取り消せる」を選ぶ。確認は読まれず、取り消しは使われる。ただし取り消しを実装できない操作(送信・決済・アカウント削除)だけ確認ダイアログにし、その中では既定フォーカスをキャンセル側に置く。
名前を打たせて確認する二段階の見本は図鑑に無いので、動作を重ねないと確定しないスワイプ削除で代用した。確認ダイアログは1画面に何度も出さない(慣れが誤操作を生む)。