Disons que nous avons trois zones de texte pour les nombres positifs (disons A, B et C) qui doivent satisfaire à la condition que leur produit soit 1. Par exemple, A = 0,5, B = 10, C = 0,2, serait une entrée valide .
Une fois que l'utilisateur a saisi deux des nombres, la zone de texte restante est automatiquement remplie. Donc, si l'utilisateur entre A = 0,5 et C = 0,2, le programme remplira B = 10.
Supposons maintenant que l'utilisateur essaie de taper 5 dans la zone de saisie. Qu'est-ce qui devrait être fait?
Laquelle de celles-ci est une interface utilisateur optimale?
Modifiez la dernière modification par l'utilisateur.
Cela ne rendra pas tout le monde heureux, car il n'est pas toujours évident de savoir qui sera modifié.
En guise de repère, vous pouvez désactiver celui qui va être modifié, indiquant que celui-ci n'est actuellement pas modifiable.
Cependant, il existe d'autres méthodes:
Normaliser automatiquement - c'est celui sur lequel je me sens le plus en confiance, pour un public général: supprimez la contrainte. Si le produit des valeurs saisies est 12, divisez par 12, sans en informer l'utilisateur.
Normaliser manuellement - rejeter les entrées où le produit n'est pas 1, proposer un bouton Normalize
à la place, qui ajuste toutes les valeurs.
Si le formulaire contient uniquement ou principalement cette entrée, vous pouvez utiliser le même emplacement de bouton/bouton: l'utilisateur entre des valeurs, OK
se transforme en Normalize
, l'utilisateur clique dessus, les valeurs sont normalisées et le bouton se transforme en OK
Verrouillage manuel - étendez l'idée de "désactivation" ci-dessus: ajoutez un symbole de "verrouillage" à chaque entrée. (serrure ouverte - grisée, serrure fermée - noir)
Indiquez qu'il est interactif (tabstop, en survol). Lorsque l'utilisateur active le verrou, c'est l'élément qui ne se modifie pas.
Un seul verrou peut être actif à un moment donné. Lorsqu'une entrée obtient le focus, le verrouillage de cette entrée est désactivé. L'activation d'un verrou lorsque son entrée a le focus doit sélectionner l'entrée suivante.
Option: vous pouvez autoriser la désactivation de tous les verrous et répartir la modification requise entre les deux entrées non focalisées.
J'irais avec la solution 3.3 (informer l'utilisateur des critères non remplis et fournir des boutons de mise à jour pour définir le bon nombre). Vous pouvez également l'afficher sous forme de liste déroulante (la valeur unique étant le nombre correct).