2010-03-08 3 views
3

Dans la programmation d'un module d'application basé sur une table (c'est-à-dire que l'utilisateur entre principalement des données tabulaires dans un tableau déjà agencé), comment rejetteriez-vous l'entrée utilisateur pour une cellule donnée? Le scénario est le suivant: l'utilisateur édite la cellule, entre quelque chose (texte, image, ...) et vous voulez qu'ils remarquent quand ils finissent d'éditer (en appuyant sur Entrée, par exemple) que leur entrée n'est pas valide pour votre donné "format" (au sens large: il se peut qu'ils aient entré une chaîne à la place d'un nombre, que leur entrée soit trop longue, trop courte, qu'ils incluent une image alors que ce n'est pas acceptable, ...).Comment refuser visuellement la saisie d'un utilisateur dans un tableau?

Je vois deux choses différentes qui se passe:

  1. Vous pouvez adapter assez facilement leur entrée dans le format, et vous le faites, mais vous les voulez qu'il remarque afin qu'ils puissent changer si votre proposition est pas assez bon (exemple: ils ont entré "15.47" dans un champ qui doit être un entier, donc votre programme le fait "15")
  2. Vous ne pouvez pas deviner quoi faire avec leur entrée, et vous voulez les informer que ce n'est pas valide.

Ma question est spécifiquement: quel affichage visuel pouvez-vous offrir pour informer l'utilisateur que son entrée est invalide? Est-il préférable de refuser de quitter le mode d'édition ou non?

Les deux choses que je peux imaginer sont:

  • couleurs à l'aide (fond rouge si invalide, fond jaune pour mon cas 1 ci-dessus)
  • lorsque vous rejetez une entrée, faire quelque chose comme Apple le fait pour le mot de passe entrée de comptes utilisateur: vous faites «trembler» la cellule (c'est-à-dire oscillant à gauche et à droite) pendant une seconde, et gardez la mise au point/édition dans leur afin qu'ils ne perdent pas ce qu'ils ont tapé.

Écoutons vos suggestions.

PS: Cette question est, au moins dans mon processus de pensée, en quelque sorte une continuation et une spécialisation de ma question précédente sur getting users to read error messages.

PPS: Fait ce wiki communautaire, est que la bonne chose à faire sur ce genre de question ou non?

Répondre

2

Soyez prudent en utilisant l'autocorrection, par exemple en forçant l'entrée utilisateur à s'adapter à votre format.Voir:

Is it acceptable to normalize text box content when it loses focus?.

Il est généralement préférable d'éviter les entrées invalides en premier lieu que de les corriger automatiquement par la suite. Par exemple, si seuls les entiers sont autorisés, vous ignorez toute saisie du point décimal (avec toutes les lettres et la plupart des caractères spéciaux). Dans certains environnements, vous pouvez fournir un signal sonore silencieux dont l'entrée est ignorée (par exemple, un bruit sourd). En ce qui concerne le moment où vous devez alerter l'utilisateur à propos d'une erreur, qu'en est-il d'une légende? Dessinez une ligne brillante du contrôle ou du point en question (champ, indicateur d'état, bouton, menu, emplacement d'un glisser-déposer) jusqu'à la marge de la fenêtre et mettez un bref message (deux ou trois mots, comme "Date non reconnue") dans un ballon. Placer le message sur la marge devrait l'empêcher d'obstruer quelque chose d'intérêt dans une table bondée. L'apparition soudaine de l'appel doit être suffisante pour attirer l'attention de l'utilisateur, donc il est acceptable de laisser l'utilisateur passer à d'autres cellules au cas où il voudrait corriger l'erreur plus tard. Pour plus d'efficacité, vous souhaiterez peut-être maintenir l'utilisateur dans le champ relatif aux erreurs lorsque l'erreur se produit à l'origine (puisque souvent l'utilisateur souhaite le corriger immédiatement), mais permettre ensuite à l'utilisateur de naviguer. Au passage de la souris ou lorsque le focus est sur le contrôle associé à l'erreur, la ligne est mise en surbrillance (pour la distinguer des autres lignes d'appel pouvant être présentes) et le ballon devient un message d'erreur complet, fournissant plus de détails sur pour résoudre le problème (jusqu'à deux phrases). Permettre à l'utilisateur de faire glisser et déposer le ballon à un nouvel emplacement dans le cas où cela occulte quelque chose d'intéressant.

Incluez un bouton d'aide dans le repère étendu pour plus de détails. Vous pouvez également inclure un bouton pour corriger l'erreur (par exemple, Réessayer, Reconnecter ou définir la valeur par défaut).

La bulle disparaît automatiquement lorsque l'erreur est corrigée. Annuler annule tout ce qui a provoqué l'erreur (par exemple, rétablit le champ à sa valeur d'origine), ce qui devrait effacer l'erreur.

Si l'utilisateur fait défiler l'endroit associé à l'erreur, le ballon se réduit à une icône qui reste visible pour que l'utilisateur ait moins tendance à l'oublier. Peut-être qu'un point d'exclamation dans un triangle est une bonne icône. Placez l'icône à côté ou dans la piste de la barre de défilement pour indiquer son emplacement relatif dans la table, de sorte que l'utilisateur puisse rapidement défiler pour le retrouver plus tard. Mouseover étend l'icône à son message complet. Peut-être que cliquer sur l'icône peut faire défiler au bon endroit dans le tableau et mettre le focus dans le contrôle correspondant.

Les ballons peuvent également rétrécir à des icônes s'ils commencent à interférer visuellement les uns avec les autres. Vous pouvez même vouloir inclure un contrôle dans un ballon pour permettre à l'utilisateur de le forcer à prendre une icône. Par cohérence, utilisez pour toutes les erreurs, pas seulement celles associées aux champs dans les tables.

0

La dernière fois que j'ai fait un tel formulaire (sur une page Web), j'ai mis une boîte rouge autour de l'entrée incriminée. Je pensais que c'était vraiment bien ... jusqu'à ce qu'un utilisateur me demande "Pourquoi y a-t-il une boîte rouge autour de cette cellule?" Ce qui serait bien, c'est aussi afficher pourquoi l'entrée est incorrecte: "Ce champ n'accepte que des nombres", disons.

0

Vous pouvez afficher une icône dans la cellule ou une info-bulle. L'info-bulle peut s'ouvrir automatiquement ou lorsque le pointeur de la souris survole l'icône. Il peut disparaître automatiquement lorsque l'utilisateur modifie une autre cellule ou lorsque le délai expire.

0

Vous pouvez utiliser les info-bulles comme les info-bulles d'erreur d'Adobe Flex. Il concentre l'attention sur l'erreur et fournit une brève description.

Questions connexes