Webアプリケーションのユーザーインターフェイス[8]
ユーザーが間違えても間違えなくても
エラーは回避せよ
「経験則その4:エラーの回避」
ソシオメディア 上野 学
2006/3/15
ユーザーは間違えるものとし選択を制限するか、ユーザーは間違えないものとしエラーメッセージの廃絶を目指すか。あなたの目指す方向性はどっちだ?(編集部) |
経験則その4:エラーの回避 |
前回の「すでに入り口にいるのに、ホームに導くボタンは親切か」では、経験則その3として「可視性とフィードバック」の話をしました。ユーザーが思いどおりにシステムをコントロールでき、そしてシステムの状態が常に分かるようになっていることが大切であるという話でした。しかしいくら操作性が良くても、何か作業をしている間に何度もエラーが発生してやり直しが多くなってしまうのではいけません。
エラーはタスクの進行が失敗したことを意味し、ユーザーとシステムの対話はそこで止まってしまいます。スムーズなインタラクションがそこで途切れてしまうのです。だからできるだけエラーが発生しないようにすることが、システムの有効性を高めるうえでは大切なのです。
今回は経験則その4として、「エラーの回避」について考えていきます。エラーと一口にいってもさまざまなレベルのものがありますが、ここではユーザーインターフェイスのデザインにまつわるエラーということで、「ユーザーが不慮の操作をしたためにタスクが中断される状況」ととらえましょう。ではまず、どういったときにエラーが発生するのかということから見ていきましょう。
ユーザーは間違える |
エラーは、ユーザーが操作ミスをしたときに発生します。そこで、ユーザーインターフェイスをデザインしたりソフトウェアの仕組みを設計したりする際には、「人は誰でも間違える」ということを前提にしなければならないのです。そのシステムの利用にまだ慣れていない初心者はもとより、どんなに熟練したオペレーターでも、操作ミスを完全にゼロにすることはできないでしょう。これは私たち人間が、決められた作業を正確に繰り返したり、一定以上の事物を長時間記憶しておくことが苦手であるということに起因しています。
よく電車や航空機の事故があったときに「ヒューマンエラー」という言葉が使われます。システムは正常に動いていたのに、操作をしていた人が何か間違ったことをしたのが原因だと分かると、結局、訓練や注意が足りなかったその操作者に責任があるように思われてしまうのです。しかし人は誰でも間違えるものなので、間違ったときにそれを是正する仕組みが十分でなかったことが本当の問題だといえるでしょう。そう考えると、やはりヒューマンエラーもシステムの問題なのです。
コンピュータは、決められた作業を正確に繰り返したり、膨大な情報を記憶するといった、人間の苦手とする部分を補うために作られたものです。システムを設計するときには、人が苦手とする仕事をコンピュータに担わせ、コンピュータが苦手とする創造的な仕事を人が担うという考え方を前提として、「人がやるべきこと」と「コンピュータがやるべきこと」を適切に判断しなければいけません。
エラーメッセージを分かりやすく |
エラーが発生したときには、分かりやすいエラーメッセージを提示して、ユーザーが次の行動にすぐに移れるようにしなければいけません。例えば、次のようなことに注意してエラーメッセージを考えます。
・過剰な表現をしない:
「致命的なエラーです」といった表現を見かけますが、誰にとって致命的なのでしょうか。ユーザーにとってはそこまで深刻でないことも多いはずです。過剰な表現はユーザーを必要以上に動揺させてしまうので注意が必要です。
・状況を的確に知らせる:
「必須項目が入力されていません」とだけいわれても、どの項目を入力し忘れたのかユーザーが自分で調べなければいけないので、再度見落とす恐れがあります。
・エラーの原因を理解する手助けをする:
「指定範囲外の数値が入力されました」といわれても、指定範囲が何なのかを知らなければどうしようもありません。
・問題の解決方法を提示する:
「入力できる文字列は31バイトまでです」といわれても、ユーザーはどうすればよいのか分からないかもしれません。「半角31文字、全角15文字以内で入力してください」といった書き方の方がよいでしょう(もちろんそれ以前に文字数を制限することの妥当性を考える必要がありますが)。
1/5 |
INDEX |
||
Webアプリケーションのユーザーインターフェイス(8) | ||
Page1<経験則その4:エラーの回避/ユーザーは間違える/エラーメッセージを分かりやすく> | ||
Page2<ミステークとスリップ/Fail-Safe と Fool-Proof/現在のフォーカスについての可視性とフィードバック)/どこからでも利用できる/デメリット(不十分なインタラクション表現/やりとりが煩わしい/見た目に関する一貫性の欠如)> | ||
Page3<そもそもエラーが起きないようにする/画面上のすべての操作可能な要素に生産的な意味を持たせる/制限コントロールを使う/処理結果の可視性とフィードバック/明快なフィードバックを迅速に返す/人は同時に1つのものにしか意識を集中できない、を考える/> | ||
Page4<ユーザーは間違えない/無効な文字を入力できないようにする/有効値の範囲を広げる/有効なデフォルト値を持たせる> | ||
Page5<有効な値がそろうまで先に進めないようにする/作業が前に進んでいるように見せる/エラーではなくガイドを示す> |
関連記事 |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|