web-dev-qa-db-ja.com

フォームオプションを非表示または無効にしますか?

可能性のある複製:
メニュー項目を非表示にしたり無効にしたりしませんか?

エンドユーザーが利用できるオプションが以前の入力に依存する作成/編集フォームでは、データを入力する方法に関するいくつかのガイドをユーザーに提供するために、以下を行います。

  • コントロールを無効にして、前提条件が満たされた場合にのみ有効にします。
  • 代わりにそれらを非表示にします
  • 何もしない
  • その他のオプション

例:誰かの法的代理人を尋ねると、フォームには次のオプションが含まれるコンボボックスが含まれます:自分の人、両親、または他の誰か。ユーザーが他の誰かを選択した場合にのみ、誰が誰であるかを伝えるテキストボックスに記入することになります。

どのオプションが最高のユーザーエクスペリエンスを提供しますか?

24
dcarneiro

通常、無効化されたフィールドよりも隠されたフィールドを優先します

無効なフィールドは、なぜそれが利用できないのかについてユーザーに特別な考えを与えます。 Steve Krugの " Do n't make me think "のように、ユーザーに考えさせる要素や、​​ユーザーがとにかく必要のない要素を削除する必要があります。 (無効になっているフィールド/設定を利用できるようにするフィールド/設定にこの注意を払うことをお勧めします。)

さらに、hidden fieldsは、他の場合にも使用できます。たとえば、フィールドがオプションであり、ユーザーがそれらを必要としない間、ユーザーが気を取られたくない場合。非表示フィールドはより多くのケースで使用できるため、すべての種類のフィールドのデフォルトの動作としてユーザーが学習できます。要求/必要になるまで非表示になります。

いつ無効にすべきか

とはいえ、無効化されたフィールドが使用できるようになると、少し考えることができます。

  • これらのフィールドの多く:ビューが常に変化するため、フィールドを常に非表示および表示すると、気が散ることがあります。次に、デフォルトで無効なフィールドを表示する方がよい場合があります。
  • 文の一部を無効化:SEの[x] Notify [email address] daily of any new answersのメールアドレスフィールドのように質問する
  • ゲーム/発見:ユーザーが遊び、特定のフィールドが利用可能になったときに発見したい場合。

取り扱い注意

無効にされたフィールドを有効にするものを常に明確にすることは良いことです。したがって、ユーザーは、無効化されたフィールドが必要である/欲しいと思った場合に、少なくとも何をすべきかについて明確な手がかりを得ることができます。

非表示または無効なフィールドを使用する場合は、読み取り順序を尊重してください。フローの上位に表示/有効化するアクションを配置します。したがって、選択legal representativerepresentative nameaboveです。それ以外の場合は、人々がもう見ない場所でより高い位置にあるものを表示/有効にし、別のフィールドを有効にしたことを彼らが知ることはありません。

また、JavaScriptを無効にしたユーザーは、ページを完全に更新しない限り、非表示のフィールドや無効にしたフィールドを変更できないことに注意してください。たとえば、視覚的およびテキストによる十分な説明を使用するなどして、フォームを使用できるようにします。

22
Lode

無効なコントロールはユーザーに次のことを伝えます。

  • 入力可能です。

  • ただ今は違います。

  • しかし、ユーザーはそれを可能にすることができます。

これは、隣接するオプションを変更するだけで入力が可能になる例をかなり説明しています。ユーザーが特定のオプションに必要なものを予測するのに役立つため、非表示にするよりも無効化を使用することをお勧めします。無効化を使用する場合は常に、コントロールを具体的に有効にするものを明確にする必要があります。例では、ラジオボタンを使用して、テキストボックスが[誰か他のオプション]のすぐ隣にある場合はおそらく十分です。さらに悪いことに、テキストラベルまたはツールチップを使用して、コントロールを有効にする方法を示します。コマンド(メニュー項目とコマンドボタン)の場合は、コントロールを有効にしたままにし、何を最初に行う必要があるかを説明するエラーメッセージを表示することもできますが、これは最後の手段としてのみ行う必要があります。

ユーザーがコントロールにアクセスするために実行できる簡単なアクション(たとえば、同じウィンドウで他のコントロールを選択するなど)がない限り、無効化を使用しないでください。むしろ、コントロールを非表示にします。たとえば、特定のジョブまたはクラスのユーザーが使用を許可されていないコントロールに無効化を使用しないでください。無効にすると、一部のユーザーを混乱させて、有効にするためにウィンドウを探し回る必要があります。ユーザーに関する限り、ユーザーが権限を持たないアクションは自分の仕事ではありません(そうでない場合はアクセス権があります)。したがって、関連付けられたコントロールは単にUIに存在しないはずです。ドキュメンテーションまたは組織手順マニュアルは、そのようなアクションがどのように達成されるかをユーザーに伝えるかもしれません。

あるコントロールセットへのアクセスを別のセットへのアクセスで置換している場合、無効化の代替手段として非表示を考慮する必要もあります。これは、使用できない過剰なコントロールでウィンドウが乱雑にならないようにするためです。

特定の例では、ラジオボタンを使用していると仮定して、さらに別の方法があります。テキストボックスを有効のままにします。ユーザーがテキストボックスに入力する場合は、[他の人]ラジオボタンを自動的に選択します。これにより、ユーザーのクリックを節約できます。 MS Officeは、印刷ダイアログの[ページ]ラジオボタンとテキストボックスを使用してこれを行います。

Controlling Your Controls で、あなたがこのテーマについて可能だと思ったことはありません。

無効化と非表示に関連する同様の問題と回答については、以下も参照してください。

それを多年にわたる質問と呼ぶのは公正です。

10

通常の状況では:

  • 一部のフィールドのみが影響を受ける場合は、有効/無効にします。
  • 多くのフィールドが影響を受けるかどうかを非表示/表示します。

依存関係が明確になるように、それらに影響を与えるフィールドの直後に依存フィールドを置くと、同じ行にあるか、下の行にあり、依存関係を示すためにインデントされていると、本当に役立ちます。

3
James Crook

無効化されたコントロールはほとんどの場合混乱するだけだと思います。なぜ無効化されているのですか、どうすればよいですか?

フォーム内でユーザーが最初に何かを選択する必要があり、その決定に応じて、追加のフィールドに入力する必要がある場合、それらを非表示にし、必要な場合にのみ表示します。

したがって、あなたのケースでは、ユーザーがSomeone elseを選択するまで、テキストボックスを常に非表示にします。そうでなければ、私は人々が名前を入力することを期待するかもしれないと想像することができます(それが自分のものか、両親か他の誰かかに関わらず)。人を混乱させるだけです。彼らに考えさせないでください。

1
nathanvda

使用しているUIレイアウトによって異なります。ユーザーが選択を行うときに、サイトの残りの部分で動的に多くのフィールドが表示される場合は、それに従ってください。このアプローチは危険で厳しいものだと言わざるを得ません。ユーザーがコンセプトを理解するには、サイト全体の考え方の範囲内である必要があります。

一部のフィールドがないためにユーザーが混乱する場合が多くあります。あなたの例はこれらのケースの1つだと思います。

  • ドロップダウンメニューにオプションが非表示になっている場合、追加のフィールドが表示されるとは思いません

  • オプションを公開したままにするラジオボタンまたはその他の方法がある場合、無効になっている場合でも、追加のフィールドを探します。

1
Harris

用途により異なります。ただし、一般に、ユーザーが入力する必要がある場合は、入力する必要があるすべてのフィールドを有効にし、入力されていない場合は、ユーザーに警告を発します。一部のフィールドに入力した後で有効にすると、煩わしい場合があります。

0
Orhan Obut