web-dev-qa-db-ja.com

チェックボックスグループの動作

「すべて」チェックボックスで制御されるチェックボックスのグループがあります。 「すべて」チェックボックスとそれに依存するチェックボックスの動作を以下のように提案します。

  1. デフォルトの条件:「すべて」がチェックされ、有効になっています。依存するチェックボックスはすべてオンになっており、無効になっています。
  2. 「すべて」のチェックを外します:すべての依存を有効にしますが、それらはクリアしません。
  3. 「すべて」をチェック:依存するチェックボックスがすべてオンになり、無効になります。
  4. 依存関係のチェック/チェック解除:「すべて」または他のチェックボックスには影響しません。

これは、ここで説明するように、YUIで提案されているものとは少し異なり、より単純な実装です。

http://www.yuiblog.com/blog/2010/03/01/gallery-checkbox-group/

これは合理的な行動のように見えますか?

5
S V

「すべて」をチェックする通常は、対応するすべてのエンティティ/チェックボックスを選択する便利な方法です。だから、その親チェックボックスがチェックされているときは、私は思いません無効にする子チェックボックスは良い考えです。

たとえば、20個のチェックボックスがあり、18個だけを選択したい場合は、最初に「すべて」チェックボックスをオンにします。これにより、20個すべてのボックスがオンになり、次に、不要な2つのチェックボックスをオフにします。 。したがって、18回の個別のクリックではなく、3回のクリックしかかかりません。

したがって、「すべて」のチェックボックスがチェックされている場合、個々のチェックボックスを無効にしません。

7
Girish

多くの状況で、ユーザーは[すべてをチェック]とチェックボックスのサブセットのチェックを切り替えたいと思うでしょう。その場合、[すべてチェック]が選択されている場合、(= /// =)すべてのチェックボックスを自動的にチェックしないと、ユーザーが後で使用する作業が消去されるためです。ほとんどのユーザーは、個々のチェックボックスを無効にするだけで、設定が適用されないことを理解できます。これにより、ユーザーは[すべてチェック]をオフにした場合に得られるプレビューをユーザーに提供し、シングルクリックですべてのチェックを元に戻したり、元に戻したりできるようになりました。

いずれの場合も、「すべてをチェック」関数は、チェックボックスコントロールを処理すべきではありません。 チェック解除有効化につながるのは奇妙です。無効化を使用しない場合は、さらに悪いことになります。これは、[すべてチェック]が選択されているときにすべての個別のチェックボックスをオンにする必要があるためです。つまり、1つのチェックボックスをオンにすると、他の多くのチェックボックスがオンになりますが、チェックボックスは、属性の編集などのコマンドを実行するものではありません。次に、ユーザーが個別のチェックボックスの1つをオフにすると、[すべてチェック]チェックボックスが変更されるため、チェックボックスが別のコントロールの設定に影響を与えます。

解決策は、ラジオボタンを使用して、すべてまたはカスタム(またはその他)を選択することです。カスタムを選択すると、個々のチェックボックスが有効になります。これにより、カスタムラジオボタンを個々のチェックボックスの近く(おそらく境界線で囲まれている可能性があります)に配置できるため、何がチェックボックスを有効にするかが明確になります。また、Noneオプションを簡単に追加できるようになります。

別の方法としては、「すべてチェック」をコマンドとして扱い、それをコマンドボタンにすることです。これは、通常、何かの属性や特性を変更するために使用されます。コマンドボタンには永続的な状態がないため、個々のチェックボックスを設定しても影響を受けません。 [すべて]ボタンに加えて、[個別]チェックボックスを[すべて]を選択する前の状態に戻す[リセット]ボタンが必要になる場合があります。クリアボタンは、すべてのチェックボックスをオフにします。

2

子のチェックボックスを無効にすることについて、Girishに同意します。

ここに提案された相互作用に関するいくつかのコメントがあります。

'1.デフォルト条件:「すべて」がチェックされ、有効になっています。依存するチェックボックスはすべてオンになっており、無効になっています。 [すべて]チェックボックスがデフォルトでオンになっているかオフになっているかは、リスト内のアイテムの目的によって異なります。 Allのデフォルト値が異なる2つの例を次に示します。
例1:ページのコンテンツは、クエリからの結果のリストです。チェックボックスは結果のファセットを表します。すべての結果が表示されます。つまり、ファセットのすべての値がチェックされ、[すべて]チェックボックスがチェックされます。
例2:ページのコンテンツは、ユーザーが操作(削除、移動、コピーなど)できるアイテムのリストです。各アイテムの横にチェックボックスがあります。ユーザーは、複数のチェックボックスを選択することで、一度に複数のアイテムを操作できます。この状況では、デフォルトではすべての項目がチェックされていません。つまり、すべてのチェックボックスはデフォルトでチェックされていません。

'5。 [すべて]チェックボックスには、リスト内の1つ以上のチェックボックスがオンになっていることを示す3番目の状態が表示されます。
それは元の質問にはありませんでした。私はそれを追加しました。これは、MSとApple UXガイドラインの両方の推奨事項に基づいています。

0
ux s e name