web-dev-qa-db-fra.com

Avance automatique au champ suivant

Quand est-il approprié d'avancer automatiquement d'un champ de texte au suivant, comme dans les numéros de téléphone et le SSN?

34
user15676

Étant donné que ce comportement est rare et donc inattendu, il surprendra la plupart des utilisateurs novices, ce qui peut leur faire mal comprendre comment utiliser l'interface et interférer avec la convivialité.

(Un exemple de cette interférence pourrait être si l'utilisateur remplit le champ et appuie sur l'onglet, alors que vous avez avancé automatiquement et pendant qu'il pense qu'il tape dans le champ suivant, il découvre qu'il tape réellement dans le champ après le champ suivant).

Cependant, si vous avez des utilisateurs très expérimentés qui utilisent votre formulaire tous les jours, ils s'habitueront à ce comportement et apprécieront le raccourci.

Je dirais donc

  • ne le faites pas si vos utilisateurs n'utilisent ce formulaire qu'occasionnellement, par exemple, s'il s'agit du formulaire d'inscription de votre site Web.

  • ne le considérez que si vos utilisateurs visitent cette page encore et encore, par exemple, si vous fournissez une interface utilisateur permettant aux agents du centre d'appels d'entrer des données qu'ils saisissent plusieurs fois par jour.

37
Joel Spolsky

Avec l'une de mes affectations précédentes, ce problème est survenu avec nos utilisateurs. Cela s'est avéré frustrant pour les utilisateurs débutants et avancés. Voici quelques problèmes majeurs liés à l'avancement automatique:

  1. Tout le monde ne regarde pas l'écran pendant la frappe. Ils peuvent ne pas se rendre compte qu'ils se trouvent dans un nouveau champ et taper des valeurs erronées. Cela arrive même aux personnes qui savent que les champs avancent automatiquement.

  2. Savoir quand pour passer au champ suivant est assez délicat. Presque toujours, l'utilisateur avancé saura mieux que vous qu'il doit passer au champ suivant. Tandis que le processus de progression manuelle vers le champ suivant informera les nouveaux utilisateurs du moment où un champ est terminé. Les utilisateurs avancés deviendront assez à l'aise avec la touche de tabulation.

  3. Il s'agit d'un problème/bogue d'implémentation, mais assez courant, le programmeur aura du code qui indique que le focus doit se déplacer, mais l'utilisateur souhaite modifier/ajouter au champ précédent. Le mécanisme d'avance automatique se met souvent en travers du chemin, frustrant l'utilisateur.

En gardant cela à l'esprit, je ne peux pas penser à de nombreux avantages pour les champs à progression automatique. Assurez-vous simplement que votre ordre de tabulation est approprié et qu'il devrait être correct.

18
mawcsco

Très souvent, nous essayons de permettre à l'utilisateur de résoudre plus facilement un problème pour nous, alors que nous devrions vraiment résoudre le problème nous-mêmes.

Dans ce cas, la technique d'avance automatique est utilisée pour permettre aux utilisateurs de remplir plus facilement plusieurs champs de formulaire, mais pourquoi ne pas la rendre plus simple et ignorer complètement les multiples champs de formulaire? Dans le cas d'un numéro de téléphone, par exemple, pourquoi ne pas avoir un seul champ de formulaire pour tous les numéros, puis les séparer par programme sur le backend si nécessaire?

Cela simplifie la tâche de l'utilisateur, ce qui est mieux que d'essayer de faciliter une tâche plus complexe.

Voir cette version pourquoi Mint a battu Wesabe (c'est un peu large en ce qui concerne ce sujet mais est certainement pertinent) pour un exemple de ce principe en action: Mint s'est concentré sur tout pour l'utilisateur afin qu'il n'a pas eu à le faire lui-même:

Mint s'est efforcé de faire en sorte que l'utilisateur ne fasse pratiquement aucun travail, en modifiant et en catégorisant automatiquement ses données, en réduisant le nombre de champs dans son formulaire d'inscription et en leur donnant une gratification immédiate dès qu'ils le pourraient ...

9
Rebecca C.

D'excellentes réponses sur l'opportunité d'utiliser l'auto-avance commune ont déjà été écrites. Au lieu de cela, je proposerai un peu d'une alternative à l'avance automatique régulière.

Au lieu d'envoyer automatiquement l'utilisateur au champ suivant après avoir tapé les 6 lettres obligatoires dans le champ (ou autre), vous devez garder le curseur dans le premier champ. Ce n'est que lorsqu'une nouvelle touche est enfoncée que le curseur doit être déplacé vers le champ suivant, sauf si cette touche est un retour arrière.

Avantages

  • Si un utilisateur ne sait pas que le formulaire utilise l'avance automatique, il peut appuyer sur TAB comme d'habitude.
  • Si l'utilisateur suppose que l'avance automatique est activée, cela fonctionnera également comme prévu au moment où une touche est enfoncée.
  • Contrairement à l'avance automatique régulière, si un utilisateur tape mal la dernière lettre, il n'est pas obligé de revenir manuellement au champ précédent; le curseur est toujours là.

Contre

  • L'utilisateur peut être confus lorsque le curseur clignote dans un champ, et au moment où une touche est enfoncée, la lettre apparaît dans un autre champ où le curseur a également été déplacé.
2
kba