Pimp my form
L’expérience utilisateur fournie par un formulaire est déterminante. Tant pour la data que vous souhaitez recueillir que pour votre taux de conversion et/ou de transformation. Un formulaire qui est simple et rassurant pour l’utilisateur vous permettra d’atteindre plus facilement vos objectifs, quels qu’ils soient.
Commencez par limiter la charge cognitive
Moins l’utilisateur a à réfléchir à ce qu’il doit faire pour atteindre son objectif, plus il est probable qu’il y parvienne. Il convient donc de limiter le nombre d’étapes, la longueur perçue des étapes ainsi que leur difficulté, et n’hésitez pas à lui expliquer quel sera son bénéfice à renseigner votre formulaire (recevoir un cadeau, un bon de réduction, ou simplement assurer le fonctionnement du service que vous proposez…)
Présentez votre formulaire sur une seule colonne
Cela permet de limiter les mouvements oculaires.
Dans ce même but, les labels se présentent au dessus de l’input et pas à côté.
Utilisez la taille comme affordance
Adaptez la taille des champs au contenu attendu. Par exemple, en France, un code postal est composé de 5 caractères, on utilise donc un champ moins large.
On vous voit venir avec vos “c’est moins joli à l’oeil”, certes, mais ces bonnes pratiques vous assurent un meilleur taux de remplissage.
Supprimez les champs non-essentiels
Si la data que vous souhaitez récolter est indispensable, il est important de distinguer ce qui vous sera vraiment utile afin de ne pas demander trop d’informations à votre utilisateur.
Les utilisateurs sont souvent réticents à donner des informations qui ne leur semblent pas pertinentes dans le contexte où ils les donnent, et c’est une cause d’abandon. Si vous voulez préserver votre taux de conversion / de transformation, limitez-vous aux informations essentielles.
Indiquez les champs facultatifs plutôt qu’obligatoires
Il n’est pas rare de rencontrer des formulaires avec des champs obligatoires et facultatifs.
Si vous avez la contrainte d’ajouter des champs non-essentiels, l’utilisateur trouvera moins contraignant de voir un champ facultatif que 3 obligatoires. (Pour les développeurs, ce sera un effort supplémentaire, car pour le moment rien n’est prévu dans les frameworks pour vous simplifier la tâche. Par exemple, Symfony permet de marquer les champs comme obligatoires mais pas les champs comme facultatifs ou optionnels. Nul doute que cela évoluera aussi dans le bon sens de ce côté-là).
Quoiqu’il arrive, les étoiles en fin de label sont à proscrire, on constate qu’elles ne sont pas comprises par une majorité d’utilisateurs. On préfèrera notifier “Facultatif” ou “Optionnel” à côté du label du champ non obligatoire.
Evitez les Captcha
Il existe aujourd’hui des services tiers comme Akismet qui permettent de détecter si oui ou non l’utilisateur est un robot. Des bundles sont disponibles pour Wordpress, Symfony, Magento ; ou encore des honeypot (un champ non visible en front, mais lisible par les robots, si celui-ci est rempli c’est qu’il s’agit d’un robot et pas d’un utilisateur). Ce ne sont pas des solutions parfaites, et les diffuseurs de spams trouveront toujours un moyen de parer à ces solutions anti-spams, c’est un peu le jeu du chat et la souris.
Vous pouvez aussi utiliser l’outil Google ReCaptcha dans sa version invisible, qui analyse le remplissage du formulaire et décide ou non d’afficher le captcha simple “Je ne suis pas un robot” s’il a un doute, notez néanmoins que les chiffres ont tendance à montrer que c’est un frein à la conversion.
Anticipez les différentes possibilités de renseigner un champ
Par exemple, un numéro de téléphone peut se renseigner de plusieurs manières :
- 0611223344
- +33611223344
- 0033611223344
- 06 11 22 33 44
Prévoir ces différentes possibilités limite la frustration pour l’utilisateur.
C’est l’utilisateur qui décide
Evitez de contraindre votre utilisateur sur les éléments à intégrer à un mot de passe (caractères spéciaux, majuscules, chiffres). Essayez plutôt de le sensibiliser sur la robustesse du mot de passe qu’il choisit et de lui suggérer d’ajouter des éléments qui augmenteront la sécurité.
Formulaire d’inscription à Dropbox
Utilisez les outils d’auto-complétion et la recherche prédictive
Cela simplifie la tâche de l’utilisateur, soit par un gain de temps, soit par une suggestion d’idée.
Auto-complétion sur un formulaire Air France
Faites attention au contraste et à la taille de votre typo
Généralement on recommande 16px pour un site ou une application, mais notez que cela dépend de la typo utilisée. Une typo bien lisible est aussi l’assurance de permettre l’accessibilité aux personnes mal voyantes. Il existe de nombreux outils en ligne pour tester le niveau de contraste, par exemple colorsafe.
Limitez les dropdowns quand c’est possible
Utilisez plutôt des steppers ou des segmented controls lorsque vous en avez la possibilité (notamment quand vous n’avez pas trop d’informations à intégrer dans votre champ d’options), il est préférable d’éviter les dropdowns, qui nécessitent un clic supplémentaire pour visualiser les options. Cela permet d’éviter une action inutile.
Dropdowns et segmented controls sur des formulaires de recherche de vols
Pensez aux novices mais ne négligez pas les experts
Typiquement, l’utilisation du clavier est un mode d’interaction “expert”. Pensez donc à garder la touche Tab pour passer d’un champ à un autre. De la même façon, les novices comme les experts n’aiment pas l’auto-advance. Les uns utilisent le clic de la souris, les autres la touche Tab du clavier. L’utilisateur a besoin de se sentir libre de naviguer comme il veut.
Guidez votre utilisateur et gérez ses erreurs, le cas échéant
Signalez les champs actifs
En augmentant l’épaisseur du contour de votre input et/ou sa couleur (pseudo-classe CSS :focus). Sur mobile, le champ actif se situe juste au-dessus du clavier.
L’utilisateur sait où il se trouve.
Exemples de focus dans des champs de formulaires (connexion à Invision en mobile)
Utilisez les wizards pour séparer les différentes étapes
Par exemple, dans un tunnel de paiement où il y a la plupart du temps plusieurs étapes, indiquez-les clairement à vos utilisateurs. Ils sauront dès le départ quelle est la charge de travail qui leur reste mais aussi où ils sont. Diviser un long formulaire en étapes est un bon moyen de le rendre plus digeste pour votre utilisateur.
Exemple de wizard dans un tunnel de paiement
Ne placez pas vos labels dans les champs
En effet, une fois remplis, ils disparaissent. Si l’utilisateur souhaite vérifier son formulaire, il ne saura pas quelle est la question posée, puisqu’elle aura disparu. Si ce type de design vous plait vraiment, vous pouvez utiliser les floating labels. Ainsi l’utilisateur ne sera pas perdu.
Floating labels dans un formulaire de Nielsen and Norman
Bonne nouvelle pour les utilisateurs de bootstrap, vous n’aurez pas à vous creuser la tête avec votre feuille CSS, tout est prévu (et c’est récent)
Floating labels dans Bootstrap
Validez les champs renseignés correctement
Faites apparaître coche verte à droite immédiatement après la saisie. Attention à ne pas afficher un message d’erreur pendant que votre utilisateur n’a pas terminé de renseigner sa réponse !
Rédigez des messages d’erreur clairs et pédagogiques pour aider à la correction
Plus le message est précis, mieux l’utilisateur est guidé ; s’il manque une @ dans un champ email, il faut mentionner spécifiquement à l’utilisateur qu’il manque une @ et pas simplement “email invalide”.
Exemple de champ validé et message d’erreur sur un champ mal renseigné
Choisissez des labels explicites pour vos call-to-actions
Evitez les “Envoyer” au profit de “Créer mon compte”, “Réserver mon billet” ou encore “Payer XX €”. Pour vous aider, complétez “je veux” avec l’action que vous avez à faire.
Pensez à modifier l’état de vos call-to-action pour informer l’utilisateur
Par exemple, dans un formulaire de paiement, vous pouvez montrer par une animation que le paiement est en cours, puis validé.
Les micro-interactions sont un vrai plus dans l’information de l’utilisateur, elles lui permettent de ne pas douter de la prise en compte de son action.
Exemple de micro-interaction sur un bouton de paiement
Pimpez aussi vos champs de numéro de carte
Il existe une animation intéressante en Javascript. Lorsque l’utilisateur saisit les premiers chiffres de son numéro de carte, le champ sélectionne automatiquement le type de carte concerné (https://cardjs.co.uk/)
Animation JS de détection de carte Visa
Animation JS de détection d’une carte American express
Changez des restitutions classiques
Quand la situation s’y prête, n’hésitez pas à trouver une autre option qu’une suite de champs de saisie. L’interaction créée par les deux solutions qui suivent est particulièrement intéressante et engageante.
Typeforms
Ici, le questionnaire est restitué sous la forme d’une interview, avec soit des champs de saisie pour répondre, soit des éléments à sélectionner.
Cette restitution est interactive et avec une UI travaillée, on arrive à un résultat particulièrement agréable à utiliser.
Exemple de restitution d’un formulaire Typeform
Natural language forms
Ils ne suivent pas le style traditionnel. Ici, les champs de saisie sont inclus dans une phrase écrite en langage naturel. L’utilisateur est sollicité pour fournir les mêmes informations, mais sous une forme narrative. Le but est de rendre la saisie aussi facile que possible et aussi un peu amusante.
Exemple de restitution d’un formulaire en Natural language form
Intégrez des éléments de réassurance
En effet, de plus en plus d’internautes sont frileux quant à l’utilisation de leurs données personnelles. N’hésitez pas à préciser la gratuité, l’absence d’engagement, les preuves sociales. En revanche, les symboles de sécurité sont à réserver par convention aux formulaires de paiement, l’utilisateur pourrait penser qu’il a quelque chose à payer en voyant un pictogramme de cadenas, par exemple.
Ne négligez pas l’UI
Plus un formulaire est beau, plus l’utilisateur est rassuré. L’exotisme est souvent contre-productif quand il s’agit de transformer, gardez des champs qui ressemblent à des champs, des messages d’erreur qui ressemblent à des messages d’erreur et des boutons qui ressemblent à des boutons.
A lire également
Figma vol.3 : le process de validation client
Non classé • Méthodologie • ProtipsSketch-Invision vs. Figma Après plusieurs longs mois de résistance, nous sommes définitivement passés sur Figma, et c’est indéniable c’est un
Figma vol.2 : Les plugins
Méthodologie • ProtipsPour continuer notre série sur le logiciel Figma, nous allons nous pencher dans ce deuxième article sur ces petites extensions