web-dev-qa-db-fra.com

Comportement du groupe de cases à cocher

J'ai un groupe de cases à cocher contrôlées par une case à cocher "Tous". Je propose le comportement de la case à cocher "Tous" et ses cases à cocher dépendantes comme ci-dessous:

  1. Condition par défaut: "Tout" est coché et activé. Les cases à cocher dépendantes sont toutes cochées et désactivées.
  2. Décochez "Tous": activez toutes les dépendances mais PAS les effacer.
  3. Cochez "Tous": les cases à cocher dépendantes sont toutes cochées et désactivées.
  4. Cochez/décochez les dépendants: ils n'affectent pas la case à cocher "Tous" ou toute autre case à cocher.

Ceci est légèrement différent et une implémentation plus simple que ce qui est suggéré par YUI, comme décrit ici:

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

Cela semble-t-il un comportement raisonnable?

5
S V

La vérification de "TOUS" généralement est juste un moyen pratique de sélectionner toutes les entités/cases à cocher correspondantes. Donc, quand cette case parent est cochée, je ne pense pas que désactiver les cases enfants soit une bonne idée.

Par exemple, s'il y a 20 cases à cocher et que je ne souhaite en sélectionner que 18, je cocherais d'abord la case "TOUT", qui vérifiera toutes les 20 cases pour moi, puis je décocherai les 2 dont je ne veux pas. . Ainsi, il ne prend que 3 clics contre 18 clics distincts.

Je ne désactiverais donc pas les cases à cocher individuelles lorsque la case à cocher "TOUS" est cochée.

7
Girish

Dans de nombreuses situations, l'utilisateur voudra basculer entre Vérifier tout et cocher un sous-ensemble de cases à cocher. Si tel est le cas, alors ne cochez pas automatiquement toutes les cases à cocher lorsque Vérifier tout est sélectionné car cela efface le travail que l'utilisateur voudra utiliser plus tard. La désactivation des cases à cocher individuelles suffit à la plupart des utilisateurs pour comprendre que leurs paramètres ne s'appliquent pas. Cela fournit également aux utilisateurs un aperçu de ce qu'ils obtiendraient s'ils désactivaient Tout vérifier, et maintenant, en un seul clic, les utilisateurs peuvent annuler ou annuler Tout vérifier.

Dans tous les cas, la fonction Vérifier tout ne doit probablement pas être gérée comme un contrôle de case à cocher. C'est bizarre quand décocher conduit à activer . Si vous n'utilisez pas la désactivation, c'est encore pire, car maintenant vous devez cocher toutes les cases à cocher lorsque l'option Tout cocher est sélectionnée. Cela signifie que la vérification d'une case à cocher en vérifie un tas d'autres, mais les cases à cocher ne sont pas censées exécuter des commandes telles que la modification des attributs. Ensuite, lorsque l'utilisateur décoche l'une des cases à cocher individuelles, la case à cocher Tout vérifier doit changer, de nouveau, une case à cocher affecte les paramètres d'un autre contrôle.

La solution consiste à utiliser boutons radio pour sélectionner entre Tout et Personnalisé (ou autre), où la sélection Personnalisée active les cases à cocher individuelles. Cela vous permet de placer le bouton radio Personnalisé près des cases à cocher individuelles (peut-être entourées d'une bordure) afin de savoir clairement ce qui activera les cases à cocher. Cela facilite également l'ajout d'une option Aucune, ce qui peut être une bonne idée dans votre cas.

Une alternative consiste à traiter Tout vérifier comme une commande et à en faire un bouton de commande, qui sont généralement utilisés pour modifier les attributs ou les caractéristiques de quelque chose. Étant donné qu'un bouton de commande n'a pas d'état permanent, il n'est pas affecté par la définition des cases à cocher individuelles. En plus du bouton Tous, vous souhaiterez probablement un bouton Réinitialiser qui rétablit les cases à cocher individuelles à ce qu'elles étaient avant de sélectionner Tout. Un bouton Effacer décoche toutes les cases.

2
Michael Zuschlag

Je suis d'accord avec Girish concernant la désactivation des cases à cocher enfant.

Voici quelques commentaires supplémentaires sur l'interaction proposée.

'1. Condition par défaut: "Tout" est coché et activé. Les cases à cocher dépendantes sont toutes cochées et désactivées. ' Le fait que la case à cocher Tout soit cochée ou décochée par défaut dépend de l'objectif des éléments de la liste. Voici deux exemples dans lesquels la valeur par défaut de All diffère.
Exemple 1: Le contenu de la page est une liste de résultats d'une requête. Les cases à cocher représentent les facettes des résultats. Tous les résultats sont affichés, ce qui signifie que toutes les valeurs des facettes sont cochées et que la case Tout est cochée.
Exemple 2: Le contenu de la page est une liste d'éléments sur lesquels l'utilisateur peut agir (par exemple, supprimer, déplacer, copier). Il y a une case à cocher à côté de chaque élément. L'utilisateur peut agir sur plusieurs éléments à la fois en cochant plusieurs cases. Dans cette situation, aucun des éléments n'est coché par défaut, ce qui signifie que la case à cocher Tout n'est pas cochée par défaut.

"5. La case à cocher Tout affiche un troisième état pour indiquer qu'une ou plusieurs cases à cocher de la liste sont cochées. '
Ce n'était pas dans la question d'origine. J'ai ajouté celui-là. Il est basé sur les recommandations à la fois dans les directives MS et Apple UX.

0
ux s e name