error-prevention-recovery について
プロダクト設計者向けのエラー予防・復旧設計スキルです。入力処理、段階的な検証、エラーメッセージ、作業を保つ復旧方法を扱います。
主な機能
- 01柔軟な入力形式と自動整形
- 02安全なスマートデフォルト
- 03入力を保つ段階的な検証
- 04具体的で中立的なエラーメッセージ
- 05取り消し・確認・進捗保存
活用シーン
- 01日付や電話番号の入力フォーム設計
- 02フォーム入力中の検証による中断を軽減
- 03エラーの理由と次の操作を説明
- 04削除などの操作に復旧手段を用意
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ owl-listener/ inclusive-design-skills --skill error-prevention-recoveryインストール後、Claude Code で/error-prevention-recoveryを入力して読み込まれたか確認します。
詳細
エラーの防止と復旧
エラーが起こる前に防ぎ、エラーが起きた場合には、恥ずかしさや混乱、作業内容の喪失を招かずに復旧できるシステムを設計します。
防止策
柔軟な入力
- 複数の日付形式を受け付けます(「15/03/2026」、「15 March 2026」、「March 15, 2026」)
- 複数の電話番号形式を受け付けます(「(555) 123-4567」、「555-123-4567」、「5551234567」)
- 入力中に自動で書式を整えます
- 大文字と小文字を区別せずに照合します
- 空白を自動で削除します
- フィールドの横に形式の例を表示します(例:「15/03/2026」)
スマートな初期値
- 最も一般的な選択肢をあらかじめ選択します
- 既知の情報をあらかじめ入力します(アカウントの名前、郵便番号から住所など)
- 複雑な判断では推奨される選択肢を示します
- 元に戻せない設定には、最も安全な選択肢を初期値として設定します
段階的な検証
- ユーザーが次の項目に移動したときに、各フィールドを検証します(フォーカスが外れたとき)
- 正しく入力されたフィールドには成功状態を表示します
- ユーザーが入力中の間は、決して検証しません
- エラーが発生してもユーザーの入力内容を消去せず、必ず作業内容を保持します
入力項目を最小限にする
- 本当に必要な情報だけを尋ねます
- 必須項目ではなく、任意項目に印を付けます(設計上、ほとんどの項目は必須にする必要があります。不要な項目は削除してください)
- 長いフォームは、進捗が明確なステップに分割します
エラーメッセージの設計
すべてのエラーメッセージは、次の3つの質問に答える必要があります。
- 何が起きましたか?(曖昧ではなく、具体的に)
- なぜですか?(わかりやすい言葉で)
- 今、何をすればよいですか?(明確な単一の操作を示す)
例
悪い例:「入力が無効です」 良い例:「DD/MM/YYYY の形式で日付を入力してください。例:15/03/2026」
悪い例:「エラー 403」 良い例:「このページを表示する権限がありません。アクセスをリクエストするには、チームの管理者に連絡してください。」
悪い例:「パスワードが要件を満たしていません」 良い例:「パスワードは8文字以上で、数字を1つ含める必要があります。現在は6文字です。」
エラーメッセージのトーン
- ユーザーを責めてはいけません(「無効なメールアドレスを入力しました」)
- 状況を中立的に伝えます(「続行するには有効なメールアドレスが必要です」)
- 何を変更する必要があるのかを具体的に示します
- 可能であれば、別の方法も提示します
復旧の設計
- どの操作でも、少なくとも10秒間は元に戻す操作を可能にします
- 破壊的な操作の前に、役立つ詳細を添えて確認を求めます: 「『Project Alpha』を削除しますか?ファイルが23個すべて削除されます。この操作は元に戻せません。」
- 重大な結果を伴う操作では、送信前にプレビューを表示します
- 長いワークフローでは、進捗を自動保存します
- 主な方法が失敗したときに、別の方法を提示します: 「写真をアップロードできませんか?代わりに、見えている内容を説明できます。」
コメント
Markdown 対応