1. フールプルーフとは
フールプルーフ(Foolproof)とは、「利用者が間違えても、重大なミスや事故につながらないようにする設計思想」のことです。
「注意力」や「慣れ」に頼らず、設計そのものがミスを防ぐことを目的とします。 関連概念としてトヨタ自動車 - トヨタ生産方式「自働化」(誤品取り出し防止などポカヨケの考え方)も参照してください。
2. Webの世界でのフールプルーフ
実は、私たちが毎日使っているWebはフールプルーフだらけです。
Webでよくあるフールプルーフの例
- 入力内容が正しくないと送信できない
- 必須項目が未入力だとエラーが表示される
- 条件を満たすまでボタンが押せない
- 操作前に確認ダイアログが表示される
入力制限・ボタンの無効化
ユーザーが「間違えないように頑張る」のではなく、間違えた状態では先に進めない設計になっています。
読み込み中…
その他のフールプルーフ例
他にもWebでよく使われるフールプルーフの例を、アコーディオン形式で紹介します。
確認ダイアログ(confirm)
削除・送信・購入前などに「本当に実行しますか?」と確認する仕組みです。
削除・送信・購入前などに「本当に実行しますか?」と確認する仕組みです。 下のボタンを押して体験してみましょう。
サンプルコードを見る
const confirmed = confirm('本当に削除しますか?');
if (confirmed) {
// 削除処理を実行
}入力形式のガイド・リアルタイム警告
メールアドレス形式でないと警告表示、文字数オーバーで即時エラー表示する仕組みです。
メールアドレス形式でないと警告表示、文字数オーバーで即時エラー表示されます。
0 / 20 文字
サンプルコードを見る
<!-- メールアドレス形式のみ許可 -->
<input type="email">
<!-- 文字数制限 -->
<input maxlength="20">操作できないUI(非表示・グレーアウト)
権限がない操作は最初から表示しない、条件未達成の操作は選択不可にする仕組みです。
権限がない操作は最初から表示しない、条件未達成の操作は選択不可にします。
ログインすると利用できます
サンプルコードを見る
<!-- disabled属性でボタンを無効化 -->
<button disabled>送信</button>button:disabled {
opacity: 0.6;
cursor: not-allowed;
}3. 身近なフールプルーフの例
Webも日常も、考え方は同じです。
ITサービスの例
- ATM:金額未入力だと次に進めない
- スマホアプリ:未設定項目があると保存できない
日常生活の例
- 電子レンジ:ドアが開いていると動かない
- USB:上下逆では挿さらない(Type-Cは両面挿し可能)
関連用語
| 用語 | 説明 |
|---|---|
| バリデーション | フールプルーフを実現する代表的な手段の一つ |
| ポカヨケ | 製造業におけるフールプルーフの概念 |
| HTML | HTML5の標準機能でフールプルーフを実装できる |
| JavaScript | 確認ダイアログやカスタム制御で誤操作を防ぐ |
| CSS | ボタンの色分けやdisabled状態のスタイリング |
