web-dev-qa-db-ja.com

過去の日付を無効にするか、エラーメッセージを表示しますか?

私は日付ピッカーフィールドがあるプロジェクトに取り組んでいます。ユーザーは過去の日付を選択することはできません(現在および将来の日付のみが許可されます)。現在、これを設計する2つのオプションがあります。

  1. 日付ピッカーから過去の日付を無効にする
  2. ユーザーが過去の日付を選択できるようにし、ユーザーが過去の日付を選択した場合にエラーメッセージを表示する

どのオプションを選択する必要がありますか、それをサポートする理由は何ですか?他のチームメンバーを説得するための具体的な理由付けが必要です。

関連するアドバイス、ヘルプ、または記事は、非常に役立ちます。前もって感謝します!

19
watermelonseed

エラーメッセージが表示されるような一連のアクションをユーザーに行わせないため、1の方が適しています。ユーザーにエラーを発生させ、何かが間違っていることをユーザーに扇動させるのではなく、エラーが発生する可能性を回避することをお勧めします。

ユーザーが無効にされた日付を選択しようとした場合、日付を無効にしてツールチップを表示することができます

30
Ameen Akbar

どちらも。

他の人が言ったように、悪いデータのリスクを最小限に抑えるには過去の日付を無効にすることをお勧めしますが、物事が期待どおりに機能せず、データを検証することも考慮する必要があります。

盲目的に入力を受け入れた場合、ユーザーが過去の日付を入力する方法を見つけた場合はどうなりますか?彼らがバグを見つけてそれを悪用する場合、あなたは有効性をチェックしたり、彼らが何か間違ったことをしたことを彼らに知らせたりしません、おそらく彼らは将来再びそれをするでしょうし、彼らがそうすべきでないことを知らないでしょう。

手短に:

  • 日付ピッカーの範囲を制限して、過去または無効な日付の使用を視覚的に阻止します。
  • 常に入力をチェックし、何か間違ったことをしたかどうかを知らせます。
21
gabe3886

オプション1はオプション2よりもはるかに優れています。

  • 過去の日付を選択できないことを視覚的に示します。したがって、エラー(過去の日付の選択)を防ぐことができます。エラーはありません。

  • エラーメッセージを表示するとインタラクションコストが高くなります。ユーザーが間違った日付を選択すると、エラーメッセージが表示されます。これにより、ユーザーはメッセージを読んで理解することができます。これには、認知リソースが必要です。その後、彼はメッセージを閉じるためにクリックする必要がありますが、この1つの不要なクリックは回避できました。フィールドが無効になっているためにユーザーがまったくクリックしない可能性がある過去の日付を無効にするだけと比較します。

基本的に、エラーメッセージを閉じるには、ユーザーのオプションを制約するよりも多くの認知リソース(認知負荷)が必要であると言えます。これは、ユーザーの短期的なメモリ負荷を最小化する 使いやすさのヒューリスティックに準拠しています

1

両方...そして...
一部のユーザーは、より高い権限に基づいて過去の日付を選択したり、必要なメンテナンスを実行したりできるユースケースがあります。したがって、その能力を制御するものはすべて、データ入力のすべての方法を制御し、両方の状況が共存できるようにする必要があります。

Programming in制限は通常、後でProgramming inする必要があることを意味します。すべてを可能な限りデータ主導で構成可能にするようにしてください。次に、1つの場所で何かを変更でき、それはどこにでも適用されます。 (脳を賢くする方法についてのアドバイスはありません。)

1
user67695

可能な限りエラーを防止する

Jakob Nielsenは、 Iデザインの10ヒューリスティック

エラー防止

優れたエラーメッセージよりも優れているのは、最初から問題が発生しないようにする注意深い設計です。エラーが発生しやすい状態を解消するか、それらを確認して、アクションを実行する前に確認オプションをユーザーに提示します。

設計の目標は、エラーをEdgeケースにすることです。それらは起こりますが、あなたはそれをまれな出来事にしたいです。

他の誰かが述べたように、ほとんどの場合、モバイルでネイティブカレンダーウィジェットをサポートすることをお勧めします。ただし、自分で設計する場合(デスクトップで使用する場合)、制限を明確にしてください。 UIに、過去の日付がない理由を説明する何らかのヒントが必要になる場合もあります。

エラーが発生します

上で述べたように、多くの場合、すべてのコンポーネントでエラーを完全に回避することはできません。たとえば、システムはURLにパラメータを追加して日付範囲を指定しますか?これは他のユーザーとビューを共有するのに適していますが、後でURLがたどられ、範囲が無効になった場合はどうなりますか?

ユーザーがそれらを単に無視しないように十分に簡潔で巧妙に作成されたエラーメッセージが必要です(どれくらいの速さでヒットしますか) esc?)しかし、彼らが次に何をすべきかを正確に知っているほど十分に説明的です。

1
plainclothes