web-dev-qa-db-ja.com

ユーザーが入力フィールドを選択したときに、入力フィールドをクリアする必要がありますか?

フォームにいくつかの入力フィールドがあり、いくつかのデフォルト値(数値)があります。これらは単なるプレースホルダーではないことに注意してください。つまり、変更されていなければ、そのまま使用できます。

ユーザーがボックスをクリックしてフィールドを変更したときにフィールドをクリアするメカニズムが必要かどうか疑問に思いました。格好良く見えると思います。しかし、そのままにしておくと、ユーザーが数桁しか変更したくない場合や図をコピーしたい場合に便利です。

17
John

ユーザーが入力をクリックすると、入力値を選択できます。
この方法で、ユーザーはバックスペースを押すか、入力を開始して、値を変更したり、値を即座にコピーしたりできます。

35

それを行わないでください。値を入力する方法はさまざまですが、混乱を招くものもあります。たとえば、ユーザーが最後の桁を変更したいだけの場合...

優れた無停止の代替手段は、小さな「入力のクリア」ボタンです。

A clear input button

43
API-Beast

有効なデフォルト値で入力要素を事前に入力することは素晴らしいアイデアです。ただし、要素をクリックしたときにこれらの値を削除することは、UXの選択としては非常に貧弱です。

あなたは、誰かが入力要素を「クリック」する唯一の理由が値を変更することであると仮定しています。そうではありません。

キーボードからフィールドに入力すると、ポインティングデバイスを使用する場合と同じイベントがトリガーされます。キーボードを使用してフォーム内を移動するユーザーは、フォーム内のすべてのフィールドを順番に入力するため、デフォルトでそれらを表示し、フォームを通過するときにそれらを離れてヤンクします。ユーザーエクスペリエンスがどのようになるか想像してみてください。

視覚障害のあるユーザー(JAWSなどのツールを実行)常にキーボードを使用してフォームをナビゲートします。また、一部のデバイスには、ポインティングデバイスがまったくない場合があります。彼らはあなたのデフォルトを取ることはできません。

(私は楽観的に、実装が値がデフォルトであるときに追跡してそれを削除するのに十分スマートであり、値がユーザー入力値であり、それをそのままにしておくと仮定すると、アイデアは単にUXが悪いだけです。コードが違いを追跡しないでください。それは妨害行為にほかなりません。キーボードを使用することを選択した(または選択の余地のない)ユーザーは、サイトを使用することが実質的に禁止されます。)

自分がマウスの使用を制限している場合でも、ご指摘のとおり、値を変更する以外にフォーム要素をクリックする理由は他にもあります。たとえば、値をコピーして他の場所に貼り付けるなどです。

この種の相互作用が適切である場合がある限定的なケースがあるかもしれません。たとえば、特定のフィールドに機密情報があり、ユーザーが毎回値を再入力するようにしたい場合などが考えられます。それはいくつかの極端な状況でなければなりません。一般的ではありません。

5
Euro Micelli

ユーザーがこの動作を期待する非常に具体的なユースケースがない限り、入力フィールドのテキストを自動的に選択しないことをお勧めします。ユーザーntoskrnlが指摘するように、これはまれで予期しない動作です。トリプルクリックやOSのselect allショートカット(Ctrl-Aなど)など、ほとんどのユーザーが使い慣れているフィールドのすべてのテキストを選択する標準的な方法があります。

私は、あなたが提案する行動を時折実際に遭遇しましたが、それが使用されているフォームへの記入を妨げる傾向があります。このシナリオを考えてみましょう:

  1. 最初からフォームに入力し、フィールド1にいくつかのデータを入力しますbicyclr
  2. フィールド2にタブで移動し、値を入力します
  3. フィールド1のタイプミスに気づき、Shift-Tabでそれに戻ります
  4. 直感的にバックスペースを押してeと入力し、タイプミスを修正しますが、最後にrだけを削除するのではなく、フィールド全体をクリアしてeだけにしますbicycleの代わりに

少し工夫したかもしれませんが、それほど珍しいことではありません。

すべてのテキストを自動的に選択することに対するもう1つの議論は、ほとんどのGNU/Linuxデスクトップ環境では、テキストを選択すると、そのテキストが一種のクリップボード(一般的なCtrl-C/Ctrl-Vクリップボードとは異なる)に自動的に配置され、マウスの中ボタンでそのテキストが貼り付けられるということです。コンテンツ。これは慣れれば非常に便利な機能です。マウスを使用するだけで、あるフィールドから別のフィールドにテキストをすばやくコピーして貼り付けることができるためです。テキストを自動的に選択すると、そのクリップボードの内容が上書きされます。

Mr. Beastの提案は非常に素晴らしく、控えめです。とはいえ、私が絶対に避けたいことは1つです。特定のオランダの銀行のオンラインバンキングウェブサイトには、バックスペースを打つと実際にwholeフィールドがクリアされる、この「巧妙な」トリックがありました。開発者はユーザーを助けようとしましたが、代わりにイライラするエクスペリエンスを作成することになりました。

テキストフィールドについては、しっかりとしたユースケースがない限り、慣習から逸脱することはありません。

0
JeroenHoek

ウェブブラウザのアドレスバーを見てください。一般的な動作として、デフォルトのページアドレスがあらかじめ入力されています。その中のどこかをクリックしてすべてを選択します。タイプするとすべてが置き換えられます。または、もう一度クリックして、既存のテキストの最後または途中のどこかに追加できます。

現在フィールドにあるものが無効な入力であることがわかっている場合は、最初のクリックですべてを消去しても問題ありません(たとえば、「年齢を入力してください」)。有効である可能性はあるが、変更される可能性がある場合は、現在のテキストをそのままにします(全体を選択するか、テキストの最後または位置に移動します)。

0
Phil Perry