Aller au contenu

Formulaire, les bonnes pratiques

8 mai 2024 · 11 min

Personne n’aime remplir des formulaires.
Il est pourtant difficile de s'en séparer : système de connexions, création de compte, renseignement pour une commande ou pour une démarche en ligne...
Mais alors comment faciliter et améliorer ces passages obligés de nombreux parcours web ?

Les bonnes pratiques générales

Faire court

2 forumualaire, un longs un court

Pour réduire la longueur des formulaires, nous pouvons identifier les champs qui ne manqueront pas s'ils sont absents ou définir des champs à compléter plus tard dans le parcours. L'adresse de livraison peut être demandée seulement lors du passage d'une commande et non à la création d'un compte.

Groupement visuel

2 forumualaire, un sans groupement visuel, l'autre

Pour aider le travail de compréhension par les utilisateurs, on peut regrouper visuellement les informations qui font partie de la même catégorie : partie identité, partie coordonnée, partie condition... Ce regroupement peut s'effectuer de 2 manières différentes :

  • En ajoutant un titre aux sous-parties avec la balise legende pour le titre et fieldset pour contenir les champs de la sous-partie.
  • Ou en les séparant visuellement par un espacement vertical large.

Placez les champs dans une seule colonne

2 formulaires, un avec 2 colonnes, l'autre avec une

Pour éviter de manquer des champs et mieux guider le regard, nous allons placer nos champs dans une seule colonne.
Il peut exister des exceptions comme pour l'indicatif téléphonique et le champ numéro de téléphone.

Ajuster la taille

2 forumualaire, un avec des champs de taille identique, l'autre non

Pour renforcer la compréhension des informations attendues de chaque champ, il est recommandé d'ajuster visuellement la longueur de ces derniers. Mon champ « adresse email » sera plus long que mon champs « code postal » où seul 5 caractères sont attendus.

Choisir les bons types de champ

Les formulaires sur le web sont écrits avec des balises Html. Les balises champs ont des propriétés appelées attributs, parmi elle l'attribut type permet de spécifier la typologie de l'information attendue : si c'est une adresse email, un nombre, un numéro de téléphone ou un texte.

Si l'attribut et bien renseigné, cela permet d'afficher un clavier virtuel adéquat à la saisie :

Apparence d'un clavier virtuel en fonction de la valeur de l'attribut type=""
type détail rendu sur iOS
text Affiche un clavier texte et les fonctionnalités de saisie vocale et la barre de suggestion
number Affiche la ligne des chiffres en haut du clavier
tel Affiche un clavier numérique avec le symbole +
email Affiche un clavier texte et les symboles @ et .
url Affiche le . le / et l'extension web du pays (.fr)
Il exisge la saisie entière du site, précédé du "http(s)://". Cette règle va générer des messages d'erreurs chez les usagers qui saision le nom de domaine et non l'adresse web. Utiliser un champ "text" peu s'avèrer plus adapté.
date Affiche un calendrier. Idéale pour choisir une date proche (de quelques mois)
Pour une date d'anniversaire Les inputs de type date ne sont pas adapté pour les dates d'anniversaires. Il est long d'aller chercher une date lointaine dans les calendrier proposé par les navigateurs. Pour cela il convient d'ajout un champs libre qui ajoutera automatiquement les "/" pour faciliter la saisie.
Voir le code
<label for="anniv">Date de naissance (jj/mm/aaaa) </label><input id="anniv" type="text" maxlength="10" inputmode="numeric" autocomplete="bday" onkeyup="addSlash(event, this)">
<script> function addSlash(event, input) { if (event.key !== 'Backspace') { let value = input.value; let out = value.replace(/\D/g, ''); let len = out.length; if (len > 1 && len < 4) { out = out.substring(0, 2) + '/' + out.substring(2); } else if (len >= 4) { out = out.substring(0, 2) + '/' + out.substring(2, 4) + '/' + out.substring(4, 8); out = out.substring(0, 10); } input.value = out; } }
search Affiche un bouton "rechercher" pour lancer la recherche depuis le clavier virtuel

L'autocomplétion

C'est l'attribut clé pour réduire le temps de remplissage des champs. Pour le mettre en place, il faut ajouter l'attribut autocomplete="" et sélectionner la valeur correspondant à la donnée souhaitée :

  • given-name pour le prénom
  • family-name pour le nom de famille
  • email pour l'adresse email
  • tel pour le numéro de téléphone

Voir la liste complète sur la Mdn

Il n'est pas interprété par tous les navigateurs. Cependant, il est disponible sur le navigateur Chrome et sur les claviers virtuels iOS.

affichage de l'autocompletion de chrome et des clavier iOS

Les suggestions de saisies

Pour les champs textes et de ceux chercher, il est possible de joindre une liste de saisies sugerées. Cela aider les usagers à saisir plus rapidement et avec moins d'effort des informations.

Voir le code Html pour ajouter les suggestions
<label for="produit">Rechercher un sac</label> <br><input list="list-produit" id="produit" name="produit" type="search"/><datalist id="list-produit"><option value="Sac en bandouillère "><option value="Banane"><option value="Saq à dos"><option value="Sac de sport"><option value="Sac de voyage"><option value="Sac à roulette"><option value="Sacoche"><option value="Cartable"><option value="Sacoche de vélo"><option value="Sac à main"></datalist>
Apparence des sugestion sur firefox, chrome et les clavier ios

Ne pas recourir aux doubles saisies

Une double saisie de mot de passe vs une seule saisie

Cette approche fut très prisée, il fut un temps, retaper son email ou son mot de passe pour être sûr qu'il soit correct. Si le besoin de s'assurer de la validité des saisies demeure, l'autocomplétion anticipe l'arrivée d'erreurs et la fonction dévoiler son mot de passe sont moins rébarbatives et plus pratiques pour l'usager.

Donner un titre explicite aux champs

Nommer les champs de sorte que les utilisateurs comprennent ce qui leur est demandée. Cela signifie s'assurer que les termes utilisés sont connus et les plus communs pour désigner l'information attendue.

Champs requis et optionnel

Les champs de saisie sont requis ou optionnel. Le marquage de cette information doit s'effectuer en toute lettre pour informer l'utilisateur d'un champ optionnel. L'usage de l'astérisque pour les champs requis n'est pas dans le vocabulaire de l'ensemble des internautes, son usage n'est pas à privilégier.

Limiter les placeholders

2 champs avec uniquement un placeholder vs 2 champs avec des étiquettes et une description

Les placeholder sont des indications qui apparaissent en gris clair dans le champ lorsque aucune information n'est encore saisie. Dans certains cas, elle est utilisée pour spécifier le nom du champ ou le format attendu par un exemple.
Le problème de cette approche, c'est qu'une fois complété, il nous est plus possible de s'assurer du bon emplacement ou du bon format des informations pour la relecture.

Apparence

un champs qui resemble un intertitre vs un champ qui ressemble à un champ

L'apparence des composants, en particulier celle des champs de saisie. Elle doit permettre aux usagers de les identifier comme tels. Dans certains systèmes de design ou sites web, on recourt à une seule ligne pour les afficher. Cela porte à confusion avec les séparateurs visuels et peuvent-être apparentés à un titre de sous-section.

Les longs formulaires

Les formulaires considérés comme long — au-delà de 12 champs — doivent être séparé en parties. Ces derniers devraient être sauvegardés pour ne pas perdre la progression. Ces derniers peuvent être complétés en plusieurs fois par les usagers, il faut anticiper cet usage.

Les champs spécifiques

Les sélections multiples

Pour afficher une sélection multiple dans un formulaire, il y a plusieurs composants :

Apparence Détail
Case à cocher
Sélecteur carré utilisé pour les multiples choix. Certaines règles sont à prendre en compte :
- Pas d’option précoché, (sélection d'une taille 44 par défaut),
- Pas de logique inversé : cocher pour ne pas s’abonner
Exemple : Accepter les conditions d'utilisation, filtres et facettes de recherche, choix d'options
Commutateur
Pour activer ou désactivé une fonctionnalité.
Exemple : Gestion de mes préférences de diffusions (Sms email, application...), mode nuit.

Les sélections uniques

Apparence Détail
Bouton radio
Sélecteur circulaire utilisé pour les choix unique.
Exemple : civilité, choix du moyen de paiement
Liste déroulante
Sélecteur à choix unique. Si la liste est inférieure à 6 éléments, privilégier les boutons radio.
Exemple : pays de livraison, motif de contact.

Les listes déroulantes longues

une liste déroulante sans priorisation vs une avec une section fréquent

Comme pour les pays où les marques de voitures faire une section « populaire », peu de personnes de votre audience ne réside en Antarctique ou possède une Acura.

Champ document

Spécifier le format (pdf, jpg, png...) et le poids maximum avec une limite haute avec un moyen de compresser le fichier en guise de message d'erreur. Champs mots de passe

Champs mots de passe

Comment allier bonne expérience utilisateur et création de mot de passe sécurisé ? De nombreux sites demandent un mot de passe avec au moins 8 caractères, 1 lettre, 1 chiffre, 1 caractère spécial. Cette consigne contraignante n'est pas efficace. La plupart des usagers vont placer les caractères requis à la fin, les modèles de craquage de mots de passe sont entraînés pour tester ce type de compositions, ce qui ne les rend pas davantage sécurisées.

L'option la plus recommandée est la suivante : 12 caractères minimum.
Cette mesure permet de réduire la charge mentale de l'utilisateur pour créer et se souvenir de son mot de passe. Cette approche reste aux attaques "brute-force". Pour la rendre à l'épreuve des attaques "dictionnaire", il est possible de tester les mots de passe pour vérifier s'ils figurent dans le dictionnaire ou s'ils font partie des 1000 mots de passe les plus utilisées.

Aide à la saisie

Report d'informations

Dans le cas où un report d’information est nécessaire, expliciter où et comment trouver la donnée demander. Exemple : retrouver son identifiant client, son numéro de réservation...

Fournir un support

Il existe une multitude de cas particulier et les utilisateurs peuvent rencontrer des difficultés à remplir et à soumettre un formulaire. Pour cela, vous devez fournir un support, une Faq, un tutoriel, un contact email ou téléphonique.

Pour les informations sensibles, expliquer pourquoi vous en avez besoin

Il arrive d'avoir besoins d'informations relativement sensibles. Cela peut être un numéro de téléphone ou une information relative à la santé, la sexualité ou la religion.
Si celle-ci est essentielle au bon fonctionnement du dispositif, il faut en expliciter l'usage qui en sera fait et pourquoi elle est nécessaire.

Maintenir l'engagement

Jauge de progression

Les jauges de progression sont une des formes de l' « effet de gradation du but ». Il s'appuie sur notre biais humain à vouloir terminer des actions en cours. Elles sont régulièrement utilisées dans les tunnels d'achat ou les applications comme Duolingo pour nous inciter à terminer notre série de cours.

Motiver en donnant les avantages à terminer le formulaire

Les utilisatrices ont tendance à vite se décourager. Pour maintenir leur attention à terminer la saisie communiquer quelques avantages à terminer la complétion : « Compléter la description et les tags pour optimiser la visibilité de votre vidéo »

Ergonomie et accessibilité

Utiliser des éléments natifs

Les personnes en situation de handicap moteur ou visuel naviguent de manière linéaire au clavier ou à la synthèse vocale. Penser un formulaire qui leur est accessible c'est :

Taille des champs et boutons

Pour les écrans tactiles ou pour les personnes atteintes de troubles moteurs, les éléments interactifs doivent avoir une zone cliquable de 8 mm à 1 cm au minimum.

0 limites de temps

Certains sites ont des sessions limitées en temps pour des raisons de limites techniques ou de disponibilité de produits comme la Sncf. Sur cette dernière, l'on doit recommencer la sélection d'un billet de train si on prend plus de 30 min à choisir notre place.
Dans cas d'une limite techniques, la durée des sessions doit être prolongé pour permettre aux utilisateurs d'avoir le temps et de ne pas se retrouver à ressaisir les informations déjà soumises dû à la limite de sessions.
Pour le cas des limites produits, la limitation des sessions et inévitable, pour la rendre plus acceptable, il est possible d'ajouter des modales pour prolonger les sessions ou de recommencer une session là où la précédente s'est terminée.

Les Captchas

Les captchas sont des tests de vérification conçus pour différencier les robots des humains. Ils prennent la forme d'image où il faut sélectionner les zones contenant des passages piétons, des feux de circulation ou encore des vélos.
Cette technologie est aujourd'hui dépassée par les robots, mais elle continue de ralentir et exaspérer les usagers. Elle est même bloquante pour ceux en situation de handicap visuel.

Gestions des erreurs

Pas de champs désactivés

Les boutons de soumission ont deux rôles : vérifier la conformité du formulaire et le soumettre. Si le bouton de soumission est désactivé, cela empêche les utilisateurs d'obtenir un retour sur les champs manquants ou non conforme : « ce champ requis n'est pas renseigné » ou « l'adresse email n'est pas conforme ».

Des messages d’erreurs pour comprendre et résoudre les problèmes

Pour établir un bon message d'erreur

Vérification orthographique

L'attribut spellcheck="true" permet de souligner les mots mal orthographiés. Il est pertinent de l'utiliser sur tous les champs de saisie qui ne sont pas composées de nom propre comme les noms, les prénoms ou les villes.

Traitement et retour utilisateur

Page de relecture

Pour des soumissions de dossier ou de procédures notamment où la modification ne peuvent-être appliqué après l'envoi, ajouter une page de relecture pour confirmer les données saisies avant l'envoi.

Envoyer une copie par email

Donner la possibilité à l'utilisateur de recevoir une copie de son envoie de son formulaire.

Informer les usagers du traitement

En cas de réussite de l'envoi du formulaire, afficher un message bien visible et explicite de succès. Ce dernier peut être complété par le détail des étapes suivantes et les éventuels délais.

Évaluer les formulaires

Les tests utilisateurs

Concevez un prototype en Html et soumettez à des usagers représentatifs de votre audience. Notez-les difficultés et les indications qui auraient pu les réduire pour itérer le prototype interactif.

Taux d'abandon

Ce taux se calcule avec l'écart du nombre d'usagers ayant rempli au moins le premier champ et ceux qui l'ont terminé. C'est un indicateur clé pour réaliser un baromètre mensuel ou mesurer les évolutions entre 2 mise à jour.

Chronométrer le temps de remplissage médian

Les technologies ont pour objectif initial de nous faire gagner du temps. C'est aussi l'objectif de notre formulaire. Comme pour le taux d'abandon, nous allons chronométrer le temps médian entre la saisie du premier champ et la soumission.

Retour aux articles

Entre 25 et 2500 caractères