{"id":114,"date":"2026-02-09T15:22:26","date_gmt":"2026-02-09T13:22:26","guid":{"rendered":"https:\/\/www.conform-it.fr\/?p=114"},"modified":"2026-02-09T15:22:26","modified_gmt":"2026-02-09T13:22:26","slug":"chapitre-11-du-rgaa-formulaires-rendre-la-saisie-accessible-et-comprehensible","status":"publish","type":"post","link":"https:\/\/wp7.conform-it.fr\/index.php\/2026\/02\/09\/chapitre-11-du-rgaa-formulaires-rendre-la-saisie-accessible-et-comprehensible\/","title":{"rendered":"Chapitre 11 du RGAA : Formulaires \u2013 rendre la saisie accessible et compr\u00e9hensible"},"content":{"rendered":"<h2><span style=\"text-decoration: underline;\">Introduction<\/span><\/h2>\n<p>Le chapitre 11 du RGAA est consacr\u00e9 aux formulaires, \u00e9l\u00e9ments centraux de nombreux services num\u00e9riques : cr\u00e9ation de compte, d\u00e9marches administratives, recherches, paiements, demandes de contact, etc.<\/p>\n<p>Les formulaires repr\u00e9sentent souvent un <strong>point critique en accessibilit\u00e9.<\/strong> Une mauvaise conception peut emp\u00eacher un utilisateur de comprendre les champs \u00e0 remplir, de corriger ses erreurs ou m\u00eame de finaliser une action.<\/p>\n<p>L\u2019objectif 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.<\/p>\n<h2><span style=\"text-decoration: underline;\">Les enjeux d\u2019accessibilit\u00e9 des formulaires<\/span><\/h2>\n<p>Un formulaire accessible doit permettre :<\/p>\n<ul>\n<li>\n<p>D\u2019identifier clairement chaque champ<\/p>\n<\/li>\n<li>\n<p>De comprendre quelles informations sont attendues<\/p>\n<\/li>\n<li>\n<p>De rep\u00e9rer les champs obligatoires<\/p>\n<\/li>\n<li>\n<p>De recevoir des messages d\u2019erreur explicites<\/p>\n<\/li>\n<li>\n<p>De naviguer facilement au clavier<\/p>\n<\/li>\n<\/ul>\n<p>Les technologies d\u2019assistance s\u2019appuient fortement sur la structure HTML et sur certains attributs ARIA pour restituer ces informations.<\/p>\n<h2><span style=\"text-decoration: underline;\">Principe fondamental : chaque champ doit avoir une \u00e9tiquette<\/span><\/h2>\n<p>L\u2019\u00e9tiquette (label) est l\u2019\u00e9l\u00e9ment qui d\u00e9crit le r\u00f4le du champ.<\/p>\n<h4>Exemple conforme<\/h4>\n<pre><code class=\"language-html\">&lt;label for=\"email\"&gt;Adresse email&lt;\/label&gt;\n&lt;input type=\"email\" id=\"email\" name=\"email\"&gt;\n<\/code><\/pre>\n<p>Le lecteur d\u2019\u00e9cran annoncera :<br \/>\u00ab Adresse email, champ de saisie \u00bb.<\/p>\n<h4>Exemple non conforme<\/h4>\n<pre><code class=\"language-html\">&lt;input type=\"email\" placeholder=\"Adresse email\"&gt;\n<\/code><\/pre>\n<p>Le placeholder ne remplace pas un label. Il dispara\u00eet d\u00e8s que l\u2019utilisateur commence \u00e0 \u00e9crire.<\/p>\n<h4>Exemple 2 : champ obligatoire<\/h4>\n<p>Un champ requis doit \u00eatre clairement identifi\u00e9.<\/p>\n<pre><code class=\"language-html\">&lt;label for=\"nom\"&gt;\n  Nom &lt;span aria-hidden=\"true\"&gt;*&lt;\/span&gt;\n&lt;\/label&gt;\n&lt;input \n  type=\"text\" \n  id=\"nom\" \n  name=\"nom\" \n  required \n  aria-required=\"true\"&gt;\n<\/code><\/pre>\n<p>Bonnes pratiques :<\/p>\n<ul>\n<li>\n<p><code>required<\/code> pour le navigateur<\/p>\n<\/li>\n<li>\n<p><code>aria-required=\"true\"<\/code> pour les technologies d\u2019assistance<\/p>\n<\/li>\n<li>\n<p>L\u2019ast\u00e9risque visible compl\u00e8te l\u2019information<\/p>\n<\/li>\n<\/ul>\n<h4>Exemple 3 : aide \u00e0 la saisie<\/h4>\n<p>On peut associer une instruction \u00e0 un champ.<\/p>\n<pre><code class=\"language-html\">&lt;label for=\"mdp\"&gt;Mot de passe&lt;\/label&gt;\n&lt;input \n  type=\"password\" \n  id=\"mdp\" \n  aria-describedby=\"aide-mdp\"&gt;\n\n&lt;p id=\"aide-mdp\"&gt;\n  Le mot de passe doit contenir au moins 8 caract\u00e8res.\n&lt;\/p&gt;\n<\/code><\/pre>\n<p><code>aria-describedby<\/code> permet au lecteur d\u2019\u00e9cran de lire l\u2019aide automatiquement.<\/p>\n<h4>Exemple 4 : message d\u2019erreur li\u00e9 \u00e0 un champ<\/h4>\n<p>Lorsqu\u2019une erreur appara\u00eet, elle doit \u00eatre compr\u00e9hensible et associ\u00e9e au bon champ.<\/p>\n<pre><code class=\"language-html\">&lt;label for=\"email\"&gt;Adresse email&lt;\/label&gt;\n&lt;input \n  type=\"email\" \n  id=\"email\" \n  aria-describedby=\"erreur-email\"&gt;\n\n&lt;p id=\"erreur-email\" role=\"alert\"&gt;\n  L\u2019adresse email saisie n\u2019est pas valide.\n&lt;\/p&gt;\n<\/code><\/pre>\n<p><code>role=\"alert\"<\/code> annonce imm\u00e9diatement l\u2019erreur.<\/p>\n<h4>Exemple 5 : groupe de champs li\u00e9s<\/h4>\n<p>Pour des choix multiples, il faut regrouper les \u00e9l\u00e9ments.<\/p>\n<pre><code class=\"language-html\">&lt;fieldset&gt;\n  &lt;legend&gt;Mode de contact pr\u00e9f\u00e9r\u00e9&lt;\/legend&gt;\n\n  &lt;label&gt;\n    &lt;input type=\"radio\" name=\"contact\" value=\"email\"&gt;\n    Email\n  &lt;\/label&gt;\n\n  &lt;label&gt;\n    &lt;input type=\"radio\" name=\"contact\" value=\"telephone\"&gt;\n    T\u00e9l\u00e9phone\n  &lt;\/label&gt;\n&lt;\/fieldset&gt;\n<\/code><\/pre>\n<p>Le <code>&lt;legend&gt;<\/code> donne un contexte au groupe.<\/p>\n<h4>Exemple 6 : champ avec ic\u00f4ne seule<\/h4>\n<p>Si un bouton n\u2019a pas de texte visible, il doit \u00eatre nomm\u00e9.<\/p>\n<pre><code class=\"language-html\">&lt;button aria-label=\"Lancer la recherche\"&gt;\n  \ud83d\udd0d\n&lt;\/button&gt;\n<\/code><\/pre>\n<p>ARIA donne un nom accessible.<\/p>\n<h4>Exemple 7 : \u00e9tat invalide d\u2019un champ<\/h4>\n<p>ARIA peut signaler qu\u2019un champ contient une erreur.<\/p>\n<pre><code class=\"language-html\">&lt;label for=\"code\"&gt;Code postal&lt;\/label&gt;\n&lt;input \n  type=\"text\" \n  id=\"code\"\n  aria-invalid=\"true\"&gt;\n<\/code><\/pre>\n<p>Le lecteur d\u2019\u00e9cran annonce que la valeur est incorrecte.<\/p>\n<h4>Exemple 8 : d\u00e9sactiver temporairement un champ<\/h4>\n<pre><code class=\"language-html\">&lt;input \n  type=\"text\" \n  aria-disabled=\"true\"&gt;\n<\/code><\/pre>\n<p>Cela indique que le champ n\u2019est pas utilisable, m\u00eame si l\u2019apparence le sugg\u00e8re d\u00e9j\u00e0.<\/p>\n<h2><span style=\"text-decoration: underline;\">Le r\u00f4le d\u2019ARIA dans les formulaires<\/span><\/h2>\n<p>ARIA compl\u00e8te le HTML pour am\u00e9liorer la compr\u00e9hension :<\/p>\n<ul>\n<li>\n<p><code>aria-required=\"true\"<\/code> : champ obligatoire<\/p>\n<\/li>\n<li>\n<p><code>aria-describedby<\/code> : aide ou message associ\u00e9<\/p>\n<\/li>\n<li>\n<p><code>aria-invalid=\"true\"<\/code> : erreur d\u00e9tect\u00e9e<\/p>\n<\/li>\n<li>\n<p><code>role=\"alert\"<\/code> : annonce imm\u00e9diate d\u2019un message<\/p>\n<\/li>\n<li>\n<p><code>aria-label<\/code> : nom accessible sans texte visible<\/p>\n<\/li>\n<\/ul>\n<p>Mais le HTML natif reste la base indispensable.<\/p>\n<h2><span style=\"text-decoration: underline;\">Les crit\u00e8res cl\u00e9s du RGAA pour les formulaires<\/span><\/h2>\n<p>Le chapitre 11 v\u00e9rifie notamment que :<\/p>\n<ul>\n<li>\n<p>Chaque champ poss\u00e8de un label<\/p>\n<\/li>\n<li>\n<p>Les champs obligatoires sont identifi\u00e9s<\/p>\n<\/li>\n<li>\n<p>Les messages d\u2019erreur sont clairs<\/p>\n<\/li>\n<li>\n<p>Les aides \u00e0 la saisie sont accessibles<\/p>\n<\/li>\n<li>\n<p>Les groupes de champs sont structur\u00e9s<\/p>\n<\/li>\n<\/ul>\n<p>Ces \u00e9l\u00e9ments rendent l\u2019interaction plus simple et plus fiable.<\/p>\n<h2><span style=\"text-decoration: underline;\">Erreurs fr\u00e9quentes observ\u00e9es en audit<\/span><\/h2>\n<p>On retrouve souvent :<\/p>\n<ul>\n<li>\n<p>Des champs sans \u00e9tiquette<\/p>\n<\/li>\n<li>\n<p>Des instructions uniquement en placeholder<\/p>\n<\/li>\n<li>\n<p>Des erreurs non associ\u00e9es aux champs<\/p>\n<\/li>\n<li>\n<p>Des formulaires difficiles \u00e0 utiliser au clavier<\/p>\n<\/li>\n<li>\n<p>Des messages affich\u00e9s mais non annonc\u00e9s<\/p>\n<\/li>\n<\/ul>\n<p>Ces probl\u00e8mes peuvent bloquer compl\u00e8tement un utilisateur.<\/p>\n<h2><span style=\"text-decoration: underline;\">Impact concret pour les utilisateurs<\/span><\/h2>\n<p>Une personne utilisant un lecteur d\u2019\u00e9cran peut ne pas savoir :<\/p>\n<ul>\n<li>\n<p>Quel champ elle remplit<\/p>\n<\/li>\n<li>\n<p>Ce qui est attendu<\/p>\n<\/li>\n<li>\n<p>O\u00f9 se trouve l\u2019erreur<\/p>\n<\/li>\n<li>\n<p>Comment corriger la saisie<\/p>\n<\/li>\n<\/ul>\n<p>Une bonne structuration transforme l\u2019exp\u00e9rience : le formulaire devient clair, guid\u00e9 et compr\u00e9hensible.<\/p>\n<h2><span style=\"text-decoration: underline;\">Conclusion<\/span><\/h2>\n<p>Le chapitre 11 du RGAA encadre la conception de formulaires accessibles, en insistant sur la clart\u00e9 des \u00e9tiquettes, la gestion des erreurs et l\u2019accompagnement de l\u2019utilisateur lors de la saisie.<\/p>\n<p>Les balises HTML structurent les champs et les groupes, tandis que les attributs ARIA viennent enrichir les informations transmises aux technologies d\u2019assistance. Ensemble, ils permettent de cr\u00e9er des formulaires inclusifs, compr\u00e9hensibles et utilisables par tous.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Le chapitre 11 du RGAA est consacr\u00e9 aux formulaires, \u00e9l\u00e9ments centraux de nombreux services num\u00e9riques : cr\u00e9ation de compte, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-114","post","type-post","status-publish","format-standard","hentry","category-comprendre-le-rgaa"],"_links":{"self":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/comments?post=114"}],"version-history":[{"count":0,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/posts\/114\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/media?parent=114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/categories?post=114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp7.conform-it.fr\/index.php\/wp-json\/wp\/v2\/tags?post=114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}