web-dev-qa-db-ja.com

必須のドロップダウンリストのデフォルトオプションは何ですか?

以下の動物のリストから論理的にデフォルトanimalがないことを考えると、ベストプラクティスによると、以下の「デフォルト値」はどうあるべきですか?

<label for="animal">Animal (required):</label>
<select name="animal">
  <option value="">Default Value</option>
  <option value="0">Cat</option>
  <option value="1">Dog</option>
  <option value="2">Horse</option>
  <option value="3">Pig</option>
  <option value="4">Sheep</option>
</select>

空白値、<option value=""></option>

視覚的にイライラするもの、<option value="">***CHOOSE ANIMAL***</option>

調和するが、説明を提供するもの、<option value="">Select an Animal</option>

他に完全に何か?

56
Dolph

私はマイケルの答えに敬意を払いません。デスクトップのGUIは話せませんが、Webフォームでは、ユーザーの大部分(90%以上)がその値を選択すると思わない限り、デフォルトを避けたいと思います。特に必須フィールドの場合。

どうして?人々はフォームをオンラインですばやく通過するため、エラーが発生する可能性があるためです。すべての選択肢を解析するのに時間がかかるとは限らず、すでに価値のあるものを簡単にスキップする可能性があります。これが必須の値である場合、ユーザーが入力しようとしたものとデフォルトのものを区別することが重要だと思います。

あなたの特定のケースでは、真ん中のオプションを使用することをお勧めします-<option value="">Select...</option>または同様のもの。ラベルがそこにあるときは、「Select an Animal」と言う必要はありません。

次に、値が空白の場合にフォームが送信されないように、JavaScriptなどで検証する必要があります。これにより、不器用な結果が得られるのを防ぎ、ユーザーが見逃したことについてユーザーにフィードバックを提供します。

そしてもちろん、何かが選択されたらデフォルトのオプションを削除するなど、より高度なアクションを実行するためのスクリプトが何百もあります。

57
Voodoo

これは私が「正しい」答えを見つけたことがない質問です。空白のままにすることは、コマンドを「1つ選択」することと同じくらい有効です。結局、それは大きな問題ではないかもしれません。

ただし、デフォルトを有効な選択にしないことは理にかなっていると思います。

両方のオプションの引数を考え出す必要がある場合:

  • ブランク=フォームをスキャンして、まだ入力していないものを簡単に確認できます。
  • command =は、何かをする必要があることを明確に示しています。

これに基づいて、おそらくコマンドをデフォルトとして持っているが、JavaScript/CSSを介してそれを視覚的にグレー表示するハイブリッドソリューション。これにより、選択したアイテムとは明らかに異なるが、空白のままにすることはできません。

12
DA01

空白の値は実際には良い考えではありません-それは実際に視覚的な手掛かりを提供せず、フィールドが必須ではないことを一部のユーザーに示唆することさえあるかもしれません。 「動物を選択してください」のようなことを、他の必須フィールド(最も一般的なのは赤いアスタリスク)に使用するのと同じタイプの視覚的合図とともに言うことは、要点を伝えるのに役立ちます。

7
Charles Boyung

デフォルトは正当な値である必要があります。これは、ほぼすべてのデスクトップGUIでの慣行であり、数十年にわたって問題なく機能してきました。 Windows 7 UXインタラクションガイドラインでは、特に「データの損失やシステムアクセスの損失を防ぐために」最も安全で、最も安全なオプションをデフォルトで選択するように指示しています。安全性とセキュリティが重要でない場合は、最も可能性の高い、または便利なオプションを選択してください。[リストから何かを選択するようユーザーに指示するためだけにドロップダウンリスト内のプロンプトを使用しないでください](p88-89)。

Webアプリが異なるはずである理由はわかりません。デフォルト以外の値に設定することは、ドロップダウンリストの設計および実装の意図に反することであり、誤用を表すかなり良い指標です。

デフォルトは次のとおりです。

  • 第1に、ユーザーまたはその所有者に回復不可能な損失または損傷を引き起こす可能性が最も低い、危険ではない値。このドロップダウンがユーザーにメッセージを配信するように指定している場合、デフォルトはHungry Tigerにしないでください。

  • 第二に、最も一般的に選択された値。ユーザーの20.1%だけが「犬」を選択したとしても、数回クリックする必要がないユーザーの20.1%であり、残りの79.9%のユーザーには費用がかかりません。

  • 第三に、セットの最も良い例です。ドロップダウンのデフォルトは、ユーザーが選択できる値の種類を示すのに役立ちます。あなたの場合、それは「農場の動物」のカテゴリのように思われるので、「馬」を使用する傾向があります。対照的に、「犬」は「農場の動物」よりも「ペット」を示唆している可能性があります。

デフォルトを指示にしても意味がありません。ドロップダウンリストがあるという事実は、ユーザーが値を選択する必要があることをかなり明白にします。デフォルトとしての値の例は、より有益です。

ユーザーにオプションを明示的に選択させると、より正確なデータが得られると多くのWebデザイナーが考えていると思います。これが当てはまる状況があるかもしれませんが、私はそれについての証拠を見ていません。私は通常、正当な値にデフォルト設定することでそれがmoreになると思います。正確なデータを取得する可能性があります。一部のユーザーが値を選択できないようにすることで、ユーザーが行う可能性のあるスリップを回避します。Webフォームでは、必要な入力を満たすためだけに古い値を選択する可能性があります。

4

私は実際にとにかくドロップダウン選択は悪い使い方ですと思います。この質問は、問題の1つを指摘していますが、それをどうするかは明確ではありません。ブラウザーがそのようなリストを表示する方法の問題の一部ですが、ほとんどの場合ユーザーによるとあなたの問題です。

それを次のものに置き換える方が良い:

  • タグを追加するときのように、許可された値をJavaScriptで検索するフリーテキストボックス。
  • オプションが少ない場合:ラジオ(またはラジオに似た)ボタン
  • 有効/無効にすることができるボタンボックス。その白黒の選択肢ではありません。 「好きな動物」は複数かもしれません。
  • 結局のところ、必須ではないことがわかった場合は、完全にフリーテキストにしてください。
1
Lode

X Movement.com からこの情報を見つけました

他のフォーム要素と同様に、選択メニューの横には常にラベルが必要です。ただし、選択メニュー内には、ユーザーが何を選択しているのかを示すラベルも必要です。ラベルには、オプションのグループを明確かつ明確に説明する必要があります。

「選択してください」などの一般的なラベルは、スクリーンリーダーを使用してフォームに入力するユーザー補助機能のユーザーには十分に明確ではありません。選択メニューの外側と内側にラベルを追加すると、すべてのユーザーが混乱することなくすばやくアクションを実行できます。

全体として、100%正しい解決策はなく、ユーザーがエラーを起こす可能性を最小限にしてタスクを完了することができるものだけです。

1
Bob

フィールドに入力が必要であることを視覚的に示しています。マウスを合わせると、ツールチップが付いた赤い感嘆符が付いた赤い境界線のようなもの。

-編集-ピーターがコメントで指摘しているように、何かをする前に何か間違ったことをしたことをユーザーに知らせるため、これは本当に良い考えではありません。アスタリスクのような別の視覚的な手掛かり、またはフィールドが必要であることを示すための何かが、デフォルトのオプションが空白であっても、より適していると思います。

0
jpsstavares