Chapitre 11 du RGAA : Formulaires – rendre la saisie accessible et compréhensible

Introduction
Le chapitre 11 du RGAA est consacré aux formulaires, éléments centraux de nombreux services numériques : création de compte, démarches administratives, recherches, paiements, demandes de contact, etc.
Les formulaires représentent souvent un point critique en accessibilité. Une mauvaise conception peut empêcher un utilisateur de comprendre les champs à remplir, de corriger ses erreurs ou même de finaliser une action.
L’objectif de ce chapitre est de garantir que chaque utilisateur puisse identifier les champs, comprendre ce qui est attendu et recevoir un retour clair lors de la saisie.
Les enjeux d’accessibilité des formulaires
Un formulaire accessible doit permettre :
D’identifier clairement chaque champ
De comprendre quelles informations sont attendues
De repérer les champs obligatoires
De recevoir des messages d’erreur explicites
De naviguer facilement au clavier
Les technologies d’assistance s’appuient fortement sur la structure HTML et sur certains attributs ARIA pour restituer ces informations.
Principe fondamental : chaque champ doit avoir une étiquette
L’étiquette (label) est l’élément qui décrit le rôle du champ.
Exemple conforme
<label for="email">Adresse email</label>
<input type="email" id="email" name="email">
Le lecteur d’écran annoncera :
« Adresse email, champ de saisie ».
Exemple non conforme
<input type="email" placeholder="Adresse email">
Le placeholder ne remplace pas un label. Il disparaît dès que l’utilisateur commence à écrire.
Exemple 2 : champ obligatoire
Un champ requis doit être clairement identifié.
<label for="nom">
Nom <span aria-hidden="true">*</span>
</label>
<input
type="text"
id="nom"
name="nom"
required
aria-required="true">
Bonnes pratiques :
requiredpour le navigateuraria-required="true"pour les technologies d’assistanceL’astérisque visible complète l’information
Exemple 3 : aide à la saisie
On peut associer une instruction à un champ.
<label for="mdp">Mot de passe</label>
<input
type="password"
id="mdp"
aria-describedby="aide-mdp">
<p id="aide-mdp">
Le mot de passe doit contenir au moins 8 caractères.
</p>
aria-describedby permet au lecteur d’écran de lire l’aide automatiquement.
Exemple 4 : message d’erreur lié à un champ
Lorsqu’une erreur apparaît, elle doit être compréhensible et associée au bon champ.
<label for="email">Adresse email</label>
<input
type="email"
id="email"
aria-describedby="erreur-email">
<p id="erreur-email" role="alert">
L’adresse email saisie n’est pas valide.
</p>
role="alert" annonce immédiatement l’erreur.
Exemple 5 : groupe de champs liés
Pour des choix multiples, il faut regrouper les éléments.
<fieldset>
<legend>Mode de contact préféré</legend>
<label>
<input type="radio" name="contact" value="email">
Email
</label>
<label>
<input type="radio" name="contact" value="telephone">
Téléphone
</label>
</fieldset>
Le <legend> donne un contexte au groupe.
Exemple 6 : champ avec icône seule
Si un bouton n’a pas de texte visible, il doit être nommé.
<button aria-label="Lancer la recherche">
🔍
</button>
ARIA donne un nom accessible.
Exemple 7 : état invalide d’un champ
ARIA peut signaler qu’un champ contient une erreur.
<label for="code">Code postal</label>
<input
type="text"
id="code"
aria-invalid="true">
Le lecteur d’écran annonce que la valeur est incorrecte.
Exemple 8 : désactiver temporairement un champ
<input
type="text"
aria-disabled="true">
Cela indique que le champ n’est pas utilisable, même si l’apparence le suggère déjà.
Le rôle d’ARIA dans les formulaires
ARIA complète le HTML pour améliorer la compréhension :
aria-required="true": champ obligatoirearia-describedby: aide ou message associéaria-invalid="true": erreur détectéerole="alert": annonce immédiate d’un messagearia-label: nom accessible sans texte visible
Mais le HTML natif reste la base indispensable.
Les critères clés du RGAA pour les formulaires
Le chapitre 11 vérifie notamment que :
Chaque champ possède un label
Les champs obligatoires sont identifiés
Les messages d’erreur sont clairs
Les aides à la saisie sont accessibles
Les groupes de champs sont structurés
Ces éléments rendent l’interaction plus simple et plus fiable.
Erreurs fréquentes observées en audit
On retrouve souvent :
Des champs sans étiquette
Des instructions uniquement en placeholder
Des erreurs non associées aux champs
Des formulaires difficiles à utiliser au clavier
Des messages affichés mais non annoncés
Ces problèmes peuvent bloquer complètement un utilisateur.
Impact concret pour les utilisateurs
Une personne utilisant un lecteur d’écran peut ne pas savoir :
Quel champ elle remplit
Ce qui est attendu
Où se trouve l’erreur
Comment corriger la saisie
Une bonne structuration transforme l’expérience : le formulaire devient clair, guidé et compréhensible.
Conclusion
Le chapitre 11 du RGAA encadre la conception de formulaires accessibles, en insistant sur la clarté des étiquettes, la gestion des erreurs et l’accompagnement de l’utilisateur lors de la saisie.
Les balises HTML structurent les champs et les groupes, tandis que les attributs ARIA viennent enrichir les informations transmises aux technologies d’assistance. Ensemble, ils permettent de créer des formulaires inclusifs, compréhensibles et utilisables par tous.
