web-dev-qa-db-ja.com

テキスト入力フィールドで余分な数値を処理する方法は?

ラボアシスタント用の入力テキストフィールドに取り組んでいます。温度値を入力するためのテキストフィールド(Webサイトではなく、カスタム設計されたUI内)。ユーザーは摂氏または華氏の単位を入力する必要はなく、値を入力するだけです。下限と上限がありますが、 テキストフィールドの検証と防止 で推奨されているように、これらは防止ではなく検証を通じて処理されます。ユーザーが有効な値(つまり、下限と上限の間の値)を入力した場合、ユーザーは新しい値を確認するために、一種の送信ボタンを押すことができます。

私の問題は、UIが余分な入力をどのように処理すべきかがわからないことです。たとえば、ユーザーの1人が温度に「0015」を入力した場合、これを私のシステムで15.0に変更する必要があります。そして、余分な小数精度はどうですか?精度以上の小数点以下の桁数をユーザーが入力できないようにしない場合、システムが小数点以下を自動的に切り上げまたは切り下げても大丈夫ですか(たとえば、37.48は入力確認後に37.5になります)?

ユーザーが論理的で一貫性があるとしても、システムが入力確認後にこの種の自動変更を行うときにユーザーが不快に感じる可能性がある場合、私は頭を悩ませています。

編集:この問題に関してHCIの研究者が何を推奨しているのか誰か知っていますか?

3
Tafkadasoh

入力が自動的に15に変更されても、0015を入力したユーザーは驚かないだろうと私は思う傾向があります。

それらはおそらくtoo 15が15.00に変更されるのを見て驚かないでしょう。そうは言っても、彼らは必要な数を2dpに入力できることを知っているかもしれません事後、これは厳密な意味でのベストプラクティスではありません。

ユーザーは丸めが行われるときに気付く可能性が高いですが、基になる値(およびフォーマットだけでなく)へのこのような変更は、ルールが適用される前に、これが起こることを明確に説明する必要があります。

これを念頭に置いて、入力フォーマットの要件がある場合は常に、このフォーマットの最初のプレースホルダー値を入力フィールドに提供するか、フィールドの横にメモを入力してフォーマットをユーザーに通知することをお勧めします。または両方。

3
SW4

一般に、フィールドがフォーカスを失うまで待機する問題(ユーザー入力との衝突)はほとんど発生しません。次に、データを有効な形式で、仕様に合わせてフォーマットします。具体的には、この例では、先頭のゼロをすべて削除し、値を小数点以下2桁に四捨五入します。これが一貫している限り、ユーザーにこれを課すことについてはまったく心配しません。ほとんどの人はすぐにコツをつかむでしょう。

範囲内の値を制約する場合は、ラベルでこれを示すと便利です。 「-20から100」。簡単に前もって処理できるという事実の後に警告がポップアップ表示されることほどイライラすることはありません。ユーザーが無効なデータの入力を続けている場合は、より煩雑なUIで警告をエスカレーションしても問題ありません。

2
Stonetip

入力された値の変更についてユーザーに通知されたときを詳しく見ていきます。別の回答で提案されたアドバイスに従って入力フィールドを離れるときに検証を行うことができる場合(SUBMITを押すときではない)、フォーカスはまだフィールド。

フォーマットの変更は重要ではないと思います。

ただし、丸めには、入力フィールドのすぐ下(または横)に「14.35が14.4に丸められました」という警告(2番目のパスワードフィールドのパスワード変更ダイアログにときどき表示される「パスワードが一致しません」など)が伴う場合があります。そのためには、フォーム内のメッセージ用のスペースを予約する必要があります-私の場合、スペースが貴重であるかどうかはわかりません(フォームのレイアウトをちらつかせないでください)。

1
virtualnobi

問題に対処するために試すことができる3つの異なる領域があります。ここでの核となる原則は、結果がユーザーの期待にできるだけ一致することを確認することです。だからここに私が提案するものがあります:

  1. ユーザーが入力する前に、結果がどのようになるかを示します。これは、入力フィールドのグレー表示されたサンプル値として、または入力フィールドの下または周囲のラベルとして行うことができます。

  2. 値の入力プロセス中に、明確な移行または通知/メッセージを表示して、変換が行われていることを示します(少なくとも初回)。そうすることで、ユーザーは変更が行われているときにその変化を確認できるため、後でそれを実現したり、正しい調整を行うことができなくなる可能性が最小限に抑えられます。

  3. 入力後、ユーザー入力と結果のシステム出力を確認して、プロセス全体が(少なくとも1回は)キャプチャーされるようにします。そうすることで、ユーザーは最初から最後までの変化を理解し、将来の行動を調整することができます。

これらの戦略のどの組み合わせを適用するかは、インターフェイスと相互作用の正確な設計によって異なりますが、ユーザーの行動に対応し、期待に合わせてシステムを使いやすくするという原則は同じです。

1
Michael Lai