Accéder au contenu principalAccéder à la navigationAccéder au pied de page
Page d'accueil IncluddyPage d'accueil Includdy
  • FAQ
  • Blog
  • Glossaire
  • Contact
Includdy

Rendons le web accessible à tous

Produit

  • Scan automatique
  • Correction guidée
  • Collaboration

Ressources

  • FAQ
  • Blog
  • Glossaire
  • Plan du site

Légal

  • CGU
  • CGV
  • Mentions légales
  • Politique de confidentialité

© 2026 Includdy. Tous droits réservés.

  1. Accueil
  2. Glossaire
  3. Contrôle de saisie

Contrôle de saisie


Le contrôle de saisie regroupe les mécanismes qui aident l'utilisateur à remplir un formulaire sans erreur : signalement des champs obligatoires, indication du format attendu et messages d'erreur explicites quand la saisie échoue. Sans ces indications, un utilisateur de lecteur d'écran ne sait ni quoi remplir, ni ce qui a échoué.


Un utilisateur soumet un formulaire de contact. La page se recharge, une bordure rouge entoure le champ courriel. Aucun texte. Un utilisateur voyant devine le problème. Peut-être. Un utilisateur de lecteur d'écran ne perçoit rien du tout.

#Avant, pendant, après

Le contrôle de saisie ne se résume pas aux messages d'erreur. Le RGAA (critères 11.10 et 11.11) distingue trois moments :

Avant la saisie : signaler les champs obligatoires et le format attendu. Un astérisque seul ne suffit pas. Le texte « obligatoire » ou l'attribut aria-required="true" doit accompagner chaque champ concerné.

Pendant la saisie : si une validation en temps réel existe, elle doit être annoncée aux technologies d'assistance via aria-live ou un role="status".

Après la soumission : chaque champ en erreur est identifié et l'erreur décrite en texte. C'est l'exigence du critère WCAG 3.3.1 (niveau A). Le critère 3.3.3 (niveau AA) ajoute une obligation : si une suggestion de correction existe, elle doit être proposée. « L'adresse courriel doit contenir un @ » satisfait les deux critères. « Champ invalide » ne satisfait que le premier.

#Le trio technique

Trois attributs suffisent : aria-invalid, aria-describedby et un message texte visible.

<!-- ✅ Erreur identifiée et décrite -->
<label for="email">Courriel (obligatoire)</label>
<input id="email" type="email"
       aria-invalid="true"
       aria-describedby="email-erreur">
<p id="email-erreur" class="erreur">
  L'adresse courriel doit contenir un @
</p>
 
<!-- ❌ Erreur invisible pour les lecteurs d'écran -->
<input type="email" style="border-color: red">

Le lecteur d'écran annonce pour le premier champ : « Courriel, obligatoire, invalid entry, L'adresse courriel doit contenir un @ ». Le second ? Silence total.

Pourquoi aria-describedby plutôt que aria-errormessage ? Adrian Roselli a comparé les deux en détail : aria-describedby fonctionne dans toutes les combinaisons navigateur et lecteur d'écran testées. aria-errormessage reste mal supporté. La documentation MDN confirme cette prudence.

#La couleur ne suffit jamais

La bordure rouge est un indice visuel utile. Un daltonien ne la distingue pas de la bordure par défaut. Un utilisateur de lecteur d'écran ne la perçoit pas du tout. Le W3C l'exige : l'erreur doit être décrite en texte, pas seulement signalée par un changement visuel.

#En résumé

Signalez les champs obligatoires et le format attendu avant la saisie. Décrivez chaque erreur en texte, reliée au champ via aria-describedby. Ne comptez jamais sur la couleur seule.

Retour au glossaire

Partagez cet article

Partagez cet article

Pour aller plus loin

Champ de saisie de formulaire

Un champ de saisie de formulaire est l'élément HTML dans lequel l'utilisateur entre ou sélectionne des données : texte libre, date, case à cocher, liste déroulante, fichier à téléverser. Pour être accessible, chaque champ doit être relié dans le code à une étiquette (label) qui identifie la donnée attendue. Sans cette liaison, les lecteurs d'écran restituent un champ muet.

Étiquette de champ de formulaire

L'étiquette de champ de formulaire est le texte qui indique la donnée attendue par un champ de saisie (« Nom », « Courriel », « Mot de passe »). Pour être accessible, ce texte doit être relié au champ dans le code HTML, via l'élément label ou les attributs ARIA. Sans cette liaison, les lecteurs d'écran restituent un champ muet, sans indication sur ce qu'il faut saisir.

Message de statut

Un message de statut est une information qui apparaît sur la page sans déplacer le focus de l'utilisateur : confirmation d'envoi, erreur de formulaire, mise à jour d'un panier. Les utilisateurs voyants le repèrent visuellement, mais les lecteurs d'écran ne le détectent que si le message est balisé avec role="status" ou une région ARIA live. Le critère WCAG 4.1.3 (niveau AA) rend cette signalisation obligatoire.