Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 1218 minDébutant

Accessibilité web : RGAA et WCAG en pratique

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • expliquer pourquoi l'accessibilité concerne tout le monde, et ce que la loi impose ;
  • situer les référentiels WCAG 2.2 et RGAA 4.1 ;
  • vérifier les points essentiels d'une page, au clavier et au lecteur d'écran ;
  • auditer une page avec les bons outils et rédiger une déclaration d'accessibilité.

4 exercices corrigés

L'accessibilité numérique consiste à rendre un site utilisable par toutes les personnes, quel que soit leur handicap (visuel, auditif, moteur, cognitif) et les aides techniques qu'elles utilisent. En France, elle se vérifie avec le RGAA (référentiel général d'amélioration de l'accessibilité), construit sur le standard international WCAG du W3C ; elle est obligatoire pour les services publics, les grandes entreprises et, depuis le 28 juin 2025, pour de nombreux services en ligne du secteur privé. Ce chapitre explique les obligations, les référentiels, les vérifications à faire sur chaque page et les outils de test.

Pourquoi l'accessibilité concerne tout le monde

Derrière l'écran, les situations sont très variées :

SituationComment la personne utilise le WebCe qui la bloque
Personne aveugleun lecteur d'écran (NVDA, JAWS, VoiceOver, TalkBack) lit la page à voix haute ou sur une plage braille ; elle navigue au clavierimages sans alt, boutons sans nom, titres absents, formulaires sans étiquettes
Personne malvoyantezoom ou loupe d'écran, contraste élevé, police agrandietexte trop pâle, mise en page qui casse au zoom, information donnée par la couleur seule
Personne sourde ou malentendantesous-titres, transcriptionsvidéo sans sous-titres, information uniquement sonore
Handicap moteurclavier seul, contacteur, commande vocale, souris à la têteélément inaccessible au clavier, focus invisible, cible minuscule, délai trop court
Troubles cognitifs, dyslexietextes clairs, structure régulièrejargon, textes justifiés, navigation incohérente d'une page à l'autre, animations

Et tout le monde se retrouve un jour dans une situation de handicap temporaire ou liée au contexte : un bras dans le plâtre, un écran de téléphone en plein soleil, une vidéo regardée sans le son dans les transports, l'âge qui fatigue la vue. Un site accessible est un site plus facile pour tous ; il est aussi mieux compris par les moteurs de recherche, qui « lisent » la page à peu près comme un lecteur d'écran.

Ce que dit la loi

Pour le secteur public et les grandes entreprises. L'article 47 de la loi n° 2005-102 du 11 février 2005 impose l'accessibilité des services de communication au public en ligne aux administrations, aux organismes chargés d'une mission de service public et aux entreprises dont le chiffre d'affaires en France dépasse 250 millions d'euros. Ils doivent :

  • rendre leurs sites, applications et documents conformes au RGAA ;
  • publier une déclaration d'accessibilité et afficher dès la page d'accueil la mention « Accessibilité : totalement / partiellement / non conforme » ;
  • publier un schéma pluriannuel de mise en accessibilité (sur trois ans) et un plan d'action annuel.

Depuis une ordonnance de 2023, l'Arcom contrôle ces obligations et peut, après mise en demeure, prononcer une sanction pouvant atteindre 50 000 € pour un service non accessible.

Pour les services du secteur privé (European Accessibility Act). La directive européenne (UE) 2019/882, dite European Accessibility Act, transposée en France par la loi n° 2023-171 du 9 mars 2023 et le décret n° 2023-931 du 9 octobre 2023, s'applique depuis le 28 juin 2025. Elle rend obligatoire l'accessibilité de nombreux produits et services vendus aux consommateurs, notamment :

  • le commerce électronique (les sites et applications de vente en ligne) ;
  • les services bancaires aux consommateurs ;
  • les livres numériques et leurs logiciels de lecture ;
  • certains éléments des services de transport de voyageurs (sites, applications, billetterie) ;
  • les services de communications électroniques et l'accès aux services de médias audiovisuels.

Les microentreprises qui fournissent des services (moins de 10 personnes et un chiffre d'affaires annuel ou un total de bilan qui ne dépasse pas 2 millions d'euros) en sont exemptées.

WCAG 2.2 et RGAA 4.1 : les référentiels

Les WCAG (Web Content Accessibility Guidelines) sont le standard international, publié par le W3C. La version 2.2 date d'octobre 2023. Elles reposent sur quatre principes, qu'on retient avec le mot POUR :

PrincipeLe contenu doit être…Exemples de critères
Perceptibleperçu par au moins un sensalternatives textuelles, sous-titres, contraste
Opérableutilisable, au clavier notammenttout au clavier, focus visible, temps suffisant, pas de clignotement
Compréhensiblecompréhensiblelangue déclarée, navigation cohérente, aide à la saisie, messages d'erreur clairs
Robusteinterprétable par les navigateurs et les aides techniquescode valide, nom et rôle des composants

Chaque critère a un niveau : A (minimum), AA (le niveau exigé par la loi, en France comme en Europe) et AAA (renforcé, rarement visé pour tout un site). La version 2.2 a notamment ajouté des critères sur la taille des cibles (au moins 24 × 24 pixels CSS, ou assez d'espace autour), le focus qui ne doit pas être caché par un bandeau collant, et l'authentification sans test cognitif (pouvoir coller son mot de passe, utiliser un gestionnaire).

Le RGAA traduit les WCAG en une méthode de vérification opérationnelle. Sa version en vigueur, la 4.1.2, compte 106 critères répartis en 13 thématiques :

1. Images2. Cadres3. Couleurs4. Multimédia
5. Tableaux6. Liens7. Scripts8. Éléments obligatoires
9. Structuration de l'information10. Présentation de l'information11. Formulaires12. Navigation
13. Consultation

Chaque critère est une question (« Chaque image porteuse d'information a-t-elle une alternative textuelle ? ») assortie de tests précis. Le taux de conformité d'un site donne sa mention : totalement conforme (tous les critères applicables respectés), partiellement conforme (au moins 50 %), non conforme (moins de 50 %, ou aucun audit).

Les points à vérifier sur chaque page

Tu n'as pas besoin de connaître les 106 critères par cœur pour écrire un site accessible. Ces vérifications couvrent la grande majorité des problèmes rencontrés sur les sites des petites organisations :

À vérifierCommentChapitre
La langue de la page<html lang="fr">2
Un titre de page unique et explicite<title>2
Les imagesalt pertinent, ou alt="" si décoratives3
Les liensun texte qui dit la destination ; « nouvel onglet » signalé3
Les titresun <h1>, une hiérarchie sans saut2
Les zones de la pageheader, nav, main, footer ; un lien d'évitement4
Les tableaux de donnéescaption, th, scope3
Les formulairesun label par champ, fieldset et legend, autocomplete, erreurs en texte et reliées au champ5
Le contraste4,5:1 pour le texte courant, 3:1 pour le grand texte et les éléments d'interface6
La couleurjamais le seul moyen de transmettre une information (« les champs en rouge sont obligatoires »)ci-dessous
Le claviertout s'atteint et s'utilise au clavier, dans un ordre logiqueci-dessous
Le focustoujours visible6
Le zoomlisible à 200 %, et sans défilement horizontal à 320 px de large10
Le multimédiasous-titres, transcription, pas de lecture automatique3
Les animationsréglage « réduire les animations » respecté, rien ne clignote11

Pour le contraste, le rapport se calcule à partir de la luminance des deux couleurs ; il va de 1:1 (même couleur) à 21:1 (noir sur blanc). Quelques repères sur fond blanc :

Couleur du texteRapport sur blancTexte courant (4,5:1)
#1f2937 (gris très foncé)14,7:1conforme
#767676 (gris moyen)4,54:1conforme, de justesse
#7777774,48:1non conforme
#999999 (gris clair)2,85:1non conforme
#0f766e (vert de la médiathèque)5,47:1conforme

Le « grand texte » des WCAG commence à 24 px, ou 18,66 px en gras (environ 18 points et 14 points).

Essaie : débranche ta souris et parcours ton site. Les touches à connaître :

ToucheAction
Tab / Maj+Tabélément interactif suivant / précédent (liens, boutons, champs)
Entréesuivre un lien, activer un bouton
Espaceactiver un bouton, cocher une case
Flècheschanger d'option dans un groupe de boutons radio ou une liste déroulante
Échapfermer une fenêtre modale ou un menu

Ce que tu dois constater : chaque lien, bouton et champ reçoit le focus, dans l'ordre de lecture, avec un indicateur bien visible ; aucun piège (un élément d'où l'on ne peut plus sortir au clavier) ; aucun élément cliquable à la souris qui soit inaccessible au clavier.

Les éléments natifs (<a href>, <button>, <input>, <select>, <textarea>, <summary>) sont accessibles au clavier sans rien faire. Un <div> ou un <span> cliquable ne l'est pas : c'est la cause la plus fréquente des problèmes de navigation au clavier. L'attribut tabindex corrige des cas particuliers :

ValeurEffet
tabindex="0"ajoute l'élément à l'ordre de tabulation, à sa place dans le HTML
tabindex="-1"l'élément peut recevoir le focus par script (une fenêtre modale qu'on vient d'ouvrir, le récapitulatif d'erreurs), mais pas par Tab
tabindex="1" ou plusà proscrire : bouleverse l'ordre de tabulation de toute la page

Le lien d'évitement permet de sauter le menu, que l'on devrait sinon traverser à chaque page. Il est caché jusqu'à ce qu'il reçoive le focus :

html
<a class="lien-evitement" href="#contenu">Aller au contenu</a>
…
<main id="contenu">
css
.lien-evitement {
  position: absolute;
  left: 1rem;
  top: -10rem;                 /* hors de l'écran */
  padding: 0.5rem 1rem;
  background-color: #ffffff;
  color: #0f766e;
}

.lien-evitement:focus {
  top: 1rem;                   /* apparaît au premier appui sur Tab */
}

Tester avec un lecteur d'écran

Rien ne remplace dix minutes d'écoute de ta propre page. Les lecteurs d'écran gratuits :

  • NVDA sous Windows (gratuit, libre) : touche Insert (ou Verr. Maj selon la configuration) + F7 pour la liste des liens, des titres et des repères ; H pour passer au titre suivant, D au repère suivant, F au champ de formulaire suivant ;
  • VoiceOver, intégré à macOS (Cmd+F5) et à iOS ;
  • TalkBack, intégré à Android.

Écoute : le titre de la page est-il annoncé ? Les titres forment-ils un plan compréhensible ? Les images importantes sont-elles décrites, les décoratives ignorées ? Chaque bouton a-t-il un nom ? Chaque champ annonce-t-il son étiquette ? Les erreurs du formulaire sont-elles lues ?

Les outils d'audit

OutilCe qu'il fait
Lighthouse (onglet des outils de développement de Chrome et Edge)un score d'accessibilité et une liste de problèmes détectables automatiquement
WAVE (extension et site de WebAIM)affiche les erreurs directement sur la page : images sans alt, contrastes, titres
axe DevTools (extension)liste détaillée des problèmes, avec le critère WCAG concerné
Inspecteur d'accessibilité de Firefoxl'arbre d'accessibilité, le nom et le rôle de chaque élément, une simulation de daltonisme
Colour Contrast Analyser (logiciel gratuit)mesure le contraste de deux couleurs prises à l'écran
HeadingsMap (extension)le plan des titres et les repères de la page

La déclaration d'accessibilité

Un organisme soumis à l'obligation publie, sur une page dédiée reliée depuis toutes les pages (le pied de page), une déclaration d'accessibilité. Elle indique :

  • l'état de conformité au RGAA (totalement, partiellement ou non conforme) et le taux de conformité ;
  • les résultats de l'audit : date, référentiel et version, pages testées, outils et technologies d'assistance utilisés ;
  • les contenus non accessibles, avec les non-conformités et les éventuelles dérogations (charge disproportionnée, contenus non soumis) ;
  • un moyen de contact pour signaler un problème ou obtenir le contenu sous une autre forme ;
  • les voies de recours, notamment la saisine du Défenseur des droits.

La DINUM fournit un générateur de déclaration d'accessibilité en ligne. C'est un élément concret à citer dans ta réalisation « présence en ligne » pour l'E5 : la mention dans le pied de page, la page de déclaration, l'audit qui l'a précédée.

Exercices

Exercice 1 sur 4 Mini-audit Réussi À revoir

Trouve les problèmes d'accessibilité de ce fragment et propose une correction pour chacun.

html
<html>
<body>
  <div class="titre">Inscriptions</div>
  <img src="banniere.jpg">
  <p>Les champs en <span style="color:red">rouge</span> sont obligatoires.</p>
  <input type="text" placeholder="Nom" style="border-color:red">
  <input type="email" placeholder="E-mail">
  <div class="bouton" onclick="valider()">OK</div>
  <a href="reglement.pdf" target="_blank">Cliquez ici</a>
</body>
</html>
Voir la réponseMasquer la réponse de l'exercice 1
  1. Pas de lang sur <html> (critère « langue par défaut ») : <html lang="fr">. Pas de <head> ni de <title> non plus.
  2. Le titre est un <div> : <h1>Inscriptions</h1>.
  3. L'image n'a pas d'alt : alt="" si elle est décorative, une description sinon.
  4. L'information « obligatoire » est donnée par la couleur seule : écrire « (obligatoire) » dans l'étiquette du champ et ajouter required.
  5. Les champs n'ont pas d'étiquette, seulement un placeholder : un <label for> par champ, et autocomplete="family-name" et autocomplete="email".
  6. Le « bouton » est un <div> : inaccessible au clavier, non annoncé. Écrire <button type="submit">Envoyer mon inscription</button>, dans un <form>, avec un texte plus explicite que « OK ».
  7. Le lien « Cliquez ici » ne dit pas sa destination et n'annonce ni le nouvel onglet ni le format : <a href="reglement.pdf" target="_blank" rel="noreferrer">Règlement des ateliers (PDF, nouvel onglet)</a>.

Le rouge red (#ff0000) sur blanc n'atteint d'ailleurs que 4:1 de contraste : insuffisant pour du texte courant.

Tu avais trouvé ?

Exercice 2 sur 4 Conforme ou non ? Réussi À revoir

Dis si chaque association de couleurs respecte le critère de contraste des WCAG (niveau AA) et justifie.

  1. Texte courant de 16 px en #767676 sur fond blanc (rapport 4,54:1).
  2. Texte courant de 16 px en #777777 sur fond blanc (rapport 4,48:1).
  3. Titre de 32 px en #999999 sur fond blanc (rapport 2,85:1).
  4. Titre de 24 px en #64748b sur fond blanc (rapport 4,76:1).
  5. La bordure d'un champ de formulaire en #94a3b8 sur fond blanc (rapport 2,56:1), seule indication de l'emplacement du champ.
Voir la réponseMasquer la réponse de l'exercice 2
  1. Conforme : 4,54 ≥ 4,5.
  2. Non conforme : 4,48 < 4,5. L'écart est invisible à l'œil, mais le seuil est le seuil.
  3. Non conforme : le grand texte demande 3:1, et 2,85 < 3.
  4. Conforme : grand texte (24 px), 3:1 suffit, et 4,76 dépasse même le seuil du texte courant.
  5. Non conforme : les composants d'interface et leurs bordures, quand elles sont nécessaires pour les repérer, demandent 3:1 (critère WCAG 1.4.11). Une bordure en #64748b (4,76:1) convient.

Tu avais trouvé ?

Exercice 3 sur 4 Quelle thématique du RGAA ? Réussi À revoir

Range chaque problème dans sa thématique du RGAA.

  1. Une vidéo de présentation sans sous-titres.
  2. Un tableau de données sans en-têtes <th>.
  3. Une page dont le <title> est « Sans titre ».
  4. Un champ de recherche sans étiquette.
  5. Un texte gris clair sur fond blanc.
  6. Un lien « Lire la suite » répété sur chaque actualité.
  7. Une page qui n'a pas de lien d'évitement ni de <main>.
  8. Un texte qui se superpose à un autre quand on zoome à 200 %.
Voir la réponseMasquer la réponse de l'exercice 3
  1. Multimédia (thématique 4).
  2. Tableaux (5).
  3. Éléments obligatoires (8) : chaque page doit avoir un titre, et ce titre doit être pertinent. La même thématique contient la langue de la page et la validité du code.
  4. Formulaires (11).
  5. Couleurs (3).
  6. Liens (6) : un lien doit être explicite par son texte ou son contexte.
  7. Navigation (12) pour le lien d'évitement ; Structuration de l'information (9) pour les zones de la page.
  8. Présentation de l'information (10).

Tu avais trouvé ?

Exercice 4 sur 4 Parcours au clavier Réussi À revoir

La page d'accueil de la médiathèque contient, dans l'ordre du HTML : un lien d'évitement, le logo-lien, quatre liens de menu, deux liens « S'inscrire » dans les cartes d'ateliers, une <div onclick> « Voir plus d'ateliers », un formulaire de recherche (un champ et un bouton) et trois liens de pied de page.

  1. Combien d'appuis sur Tab faut-il, depuis l'arrivée sur la page, pour atteindre le champ de recherche sans utiliser le lien d'évitement ?
  2. Que se passe-t-il pour l'élément « Voir plus d'ateliers » ?
  3. Comment le corriger ?
Voir la réponseMasquer la réponse de l'exercice 4
  1. Les éléments atteints dans l'ordre : lien d'évitement (1), logo (2), quatre liens de menu (3 à 6), deux liens « S'inscrire » (7 et 8), puis le champ de recherche (9) : 9 appuis. La <div> n'est pas comptée, elle ne reçoit pas le focus.
  2. Elle est sautée : une personne qui navigue au clavier ne peut pas l'atteindre ni l'activer, et un lecteur d'écran ne l'annonce pas comme interactive.
  3. Si elle mène à une autre page : un lien <a href="agenda.html">Voir plus d'ateliers</a>. Si elle affiche d'autres ateliers dans la page : <button type="button">Voir plus d'ateliers</button>. Le comptage passe alors à 10 appuis pour atteindre le champ de recherche.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Référencement naturel (SEO) d'une page webRevoir le sommaire du cours