この記事の要点(UIXHERO視点) UIXHEROでは、防衛的デザインを「不注意なユーザーを守る、見えないエアバッグ」と捉える。 本記事では、エラーを未然に防ぐ制約と、起きたエラーを即座に無害化する(Undo)安全装置の実装パターンを整理する。
防衛的デザインとは?
「マーフィーの法則(失敗する余地があるなら、必ず誰かが失敗する)」を前提としたデザイン思想です。 ユーザーが高いリテラシーを持ち、完璧に注意深く操作してくれると期待してはいけません。ユーザーは疲れているし、酔っ払っているかもしれないし、急いでいるかもしれません。
どのような状況でも、致命的な失敗(データの消失など)に至らないように、ガードレールやエアバッグを用意しておくことが防衛的デザインの役割です。
UXデザインでの活用事例(3つの防衛ライン)
1. 発生の防止(Prevent)
ミスそのものを物理的にできなくします。
- 制約 (Constraints): 全角数字を入れたくても入力できないようにする。未来の日付を選べないカレンダーUI。
- デフォルト値: 最も安全で一般的な選択肢を最初から選んでおく。
2. 警告と確認(Warn)
ミスしそうな瞬間に気づかせます。
- 確認ダイアログ: 「本当に削除しますか?」と一瞬考えさせます。
- インラインバリデーション: パスワードが短すぎる時にリアルタイムで赤枠を出し、送信ボタンを押す前に修正を促します。
3. 回復(Recover)
ミスしてしまっても、無かったことにします。
- Undo(元に戻す): 削除直後のトースト通知にある「元に戻す」ボタン。Google Gmailの「送信取り消し」機能などが有名です。
- バージョン履歴: 自動保存と履歴管理により、いつでも過去の状態に戻れるようにします。
実装例: バリデーションとUndo
「不親切なフォーム」と「防衛的なフォーム」の違い、そして「削除してしまった時の絶望 vs 安心感」を体験するデモです。
この原則を実装で見る
この原則が実装でどう形になるかを、GUNJO の部品で確かめられます。
実践ガイドライン
実装チェックリスト
倫理的配慮
- 過剰防衛のストレス: あらゆる操作に「本当によろしいですか?」と聞くのは、ユーザーにとってただのノイズです。Undoができるなら確認ダイアログは省略する、重大な操作のみ確認するなど、バランス(Frequency)が重要です。
