RGAA 4 · Checklist··12 min de lecture

Checklist RGAA 4 pour équipes produit : les 10 critères prioritaires avant votre audit

L'EAA (European Accessibility Act) est en application depuis juin 2025. Pour les équipes produit, DSI et lead devs des entreprises françaises, l'audit RGAA n'est plus une perspective lointaine : c'est une obligation imminente. Pourtant, dans la plupart des organisations, la préparation à l'audit reste l'apanage des auditeurs et des équipes QA — au détriment des équipes qui construisent réellement les interfaces.

Cette checklist a été conçue pour vous, pas pour l'auditeur. Elle couvre les 10 critères RGAA 4 les plus souvent en échec lors des premiers audits, comment les mapper à vos composants React, une méthode de test rapide en 30 minutes, et ce que l'auditeur va regarder en premier. L'objectif : que votre équipe ne découvre pas ces problèmes lors de l'audit, mais qu'elle les ait déjà résolus.

Les 10 critères RGAA les plus souvent en échec

Lors des premiers audits RGAA, les mêmes critères reviennent systématiquement en non-conformité. Ce ne sont pas forcément les plus complexes — souvent, ce sont ceux que les équipes de développement n'ont pas eu l'occasion de tester. Voici les 10 critères que votre équipe doit traiter avant l'arrivée de l'auditeur.

1

Critère 1.1 — Images sans texte alternatif

Les balises <img> sans attribut alt renseigné constituent la non-conformité la plus fréquente dans les premiers audits RGAA. Pour les images porteuses d'information, le texte alternatif doit décrire l'information véhiculée, pas simplement dire « image » ou « photo ». Pour les images décoratives, l'attribut alt="" doit être présent mais vide, afin que les lecteurs d'écran ignorent l'élément. Les composants d'image Next.js génèrent souvent des alt manquants quand les données viennent d'un CMS ou d'une API : vérifiez vos sources de données, pas seulement votre code.

2

Critère 3.2 — Rapport de contraste des textes

Le rapport de contraste minimum est de 4,5:1 pour les textes de taille normale (inférieur à 18px en regular ou 14px en bold) et de 3:1 pour les grands textes. Les palettes de gris légers sur fond blanc sont systématiquement non conformes — en particulier les textes de placeholder, les labels inactifs et les textes d'aide. Les outils de design comme Figma ne signalent pas toujours ces insuffisances. Testez toutes vos nuances de gris avec un outil de mesure de contraste avant l'audit.

3

Critère 10.7 — Focus visible sur les éléments interactifs

Ajouter outline: none; ou outline: 0; dans les reset CSS est l'une des erreurs les plus répandues dans les codebases React. Tout élément interactif — bouton, lien, champ, composant custom — doit présenter un indicateur de focus visible et suffisamment contrasté (rapport ≥3:1 entre l'indicateur et le fond adjacent). Le WCAG 2.2 a durci ces exigences avec le critère 2.4.11 (Focus Appearance). Ne supprimez pas le focus par défaut du navigateur sans le remplacer par un équivalent conforme.

4

Critère 11.1 — Étiquettes des champs de formulaire

Chaque champ de formulaire doit avoir un label explicitement associé via l'attribut for/htmlFor d'un élément <label>, ou via aria-labelledby / aria-label. Les placeholders seuls ne constituent pas des labels accessibles : ils disparaissent à la saisie et ne sont pas lus de manière fiable par tous les lecteurs d'écran. Ce critère est systématiquement contrôlé sur les formulaires d'inscription, de connexion, de recherche et de paiement.

5

Critère 11.10 — Gestion accessible des erreurs de formulaire

Quand un formulaire comporte des erreurs de validation, elles doivent être présentées de manière accessible : le texte d'erreur doit être associé au champ via aria-describedby, le champ en erreur doit porter aria-invalid="true", et l'erreur doit être annoncée par les lecteurs d'écran au moment de la soumission. Mettre les erreurs uniquement en rouge sans texte explicite est non conforme — la couleur seule ne suffit pas à indiquer une erreur (critère 3.3).

6

Critère 6.1 — Intitulés des liens

Les liens doivent avoir un intitulé explicite qui permet de comprendre leur destination ou leur action, lu hors contexte. Un lien « Cliquez ici », « En savoir plus » ou « Lire » est non conforme si la destination n'est pas identifiable sans le texte environnant. Solution : texte de lien descriptif, aria-label, ou un <span class="sr-only"> ajoutant du contexte pour les lecteurs d'écran tout en restant invisible à l'écran.

7

Critère 9.1 — Structure de la page avec des balises de titre

La hiérarchie des titres (H1, H2, H3…) doit être logique, progressive et non sautée. Un seul H1 par page, les H2 pour les sections principales, les H3 pour les sous-sections. Les équipes React ont tendance à utiliser des balises de titre de manière stylistique — choisir h3 parce que la taille de police convient — plutôt que sémantique. Utilisez CSS pour les styles, pas les niveaux de titre. Les auditeurs parcourent systématiquement la structure de titres avec NVDA ou VoiceOver.

8

Critère 12.8 — Ordre de tabulation cohérent

L'ordre dans lequel les éléments interactifs reçoivent le focus au clavier (via Tab) doit être cohérent avec l'ordre visuel et logique de la page. Les composants React complexes — modales, menus déroulants, accordéons, tableaux de données — perturbent fréquemment cet ordre. L'utilisation de tabIndex positifs (tabindex="1", tabindex="2"…) est une mauvaise pratique qui crée des ordres de focus imprévisibles. Préférez tabindex="0" pour les éléments custom et laissez le DOM définir l'ordre.

9

Critère 4.1 — Contrôle de la consultation des médias temporels

Les vidéos et contenus audio doivent proposer des alternatives accessibles : sous-titres synchronisés pour les contenus audio, audiodescription pour les contenus visuels importants non restitués par la piste audio. Ce critère est souvent ignoré pendant la phase de développement produit. Si votre site intègre des vidéos de démonstration, des témoignages clients ou des webinaires, chacun d'eux est contrôlé lors de l'audit.

10

Critère 13.8 — Changements de contexte non sollicités

Les changements de contexte — navigation automatique, ouverture d'une nouvelle fenêtre, soumission automatique d'un formulaire — ne doivent pas se produire sans action explicite de l'utilisateur, ou l'utilisateur doit en être averti au préalable. Ce critère touche les composants autocomplete qui naviguent automatiquement à la sélection, les redirections automatiques, les modales déclenchées sans interaction utilisateur, et les mises à jour de contenu via live regions mal configurées.

Mapping critère RGAA → composant React

Chaque critère RGAA se traduit concrètement par des exigences sur vos composants UI. Ce tableau de correspondance vous permet d'identifier rapidement quels composants de votre codebase sont concernés par chaque critère prioritaire.

ComposantCritères RGAA concernésPoints d'attention
Button10.7 (focus visible), 6.1 (intitulé), 12.8 (tabindex)Ne jamais utiliser <div> ou <span> comme bouton cliquable
Input / Form11.1 (label associé), 11.10 (erreurs ARIA), 3.2 (contraste)Label explicite, aria-invalid + aria-describedby sur erreur
Modal / Dialog12.8 (piège clavier), 10.7 (focus retour), 13.8 (déclenchement)Focus piégé, fermeture avec Échap, focus retour à l'élément déclencheur
Nav / Navigation9.1 (structure), 12.8 (ordre tab), 6.1 (liens descriptifs)Landmark <nav>, aria-current="page" sur le lien actif
Image1.1 (texte alt), 3.2 (contraste texte sur image)alt renseigné pour images informatives, alt="" pour décoratives
Table5.1 (en-têtes), 5.6 (scope), 9.1 (structure)<th scope="col|row">, caption ou aria-label sur le tableau
Select / Dropdown11.1 (label), 12.8 (focus), 10.7 (focus visible)Préférer les éléments natifs ; pour custom : pattern ARIA combobox
Toast / Notification13.8 (déclenchement), 4.13 (live region)role="alert" ou role="status" selon l'urgence, aria-live correctement configuré
Tabs12.8 (focus), 9.1 (structure), 6.1 (intitulés)Pattern tablist/tab/tabpanel, navigation avec touches flèches
Accordion9.1 (structure), 10.7 (focus), 12.8 (ordre)<button> + aria-expanded, zone contrôlée via aria-controls

Pour chaque composant, consultez la documentation détaillée sur la page composants Konform.

Comment tester en 30 minutes avant l'audit

Vous n'avez pas besoin d'un audit complet pour identifier les principaux problèmes d'accessibilité de votre interface. Avec les bons outils et une méthode structurée, 30 minutes suffisent à détecter l'essentiel des non-conformités critiques. Voici la méthode rapide utilisée par les équipes qui se préparent à un premier audit RGAA.

Les outils à avoir

axe DevTools

Extension Chrome / Firefox — scan automatique, détecte 30 à 40 % des problèmes RGAA

NVDA

Lecteur d'écran Windows gratuit (nvaccess.org) — à utiliser avec Firefox

VoiceOver

Lecteur d'écran natif macOS / iOS — activer avec Cmd+F5, utiliser avec Safari

Colour Contrast Analyser (TPGi)

Mesure précise des ratios de contraste — gratuit sur Windows et macOS

5 min

Scan automatique avec axe DevTools

Installez l'extension axe DevTools dans Chrome ou Firefox. Ouvrez vos pages principales (accueil, connexion, formulaire principal, page produit ou dashboard), lancez le scan et notez toutes les violations marquées critiques ou sérieuses. Ces violations sont garanties non conformes — l'auditeur les trouvera aussi. Ne corrigez pas les avertissements en priorité : concentrez-vous d'abord sur les violations confirmées.

10 min

Navigation au clavier uniquement

Fermez votre souris. Naviguez dans l'interface en utilisant uniquement Tab, Maj+Tab, Entrée, Espace, les touches fléchées et Échap. Vérifiez : est-ce que chaque élément interactif est atteignable ? Le focus est-il visible à tout moment ? Y a-t-il des pièges clavier (endroits où vous ne pouvez plus sortir) ? Le focus disparaît-il lors de l'ouverture d'une modale ? Notez chaque anomalie — ce sont les non-conformités que l'auditeur trouvera en premier.

10 min

Test avec NVDA (Windows) ou VoiceOver (macOS)

Sur Windows, activez NVDA (gratuit) avec Firefox. Sur macOS, activez VoiceOver (Cmd+F5) avec Safari. Naviguez dans vos formulaires principaux : est-ce que le label du champ est bien annoncé ? Quand vous déclenchez une erreur de validation, est-elle annoncée automatiquement ? Les boutons ont-ils un intitulé explicite ? Naviguez dans la structure de la page avec H pour passer d'un titre à l'autre — vérifiez que la hiérarchie est cohérente.

5 min

Vérification des contrastes

Utilisez le vérificateur de contraste intégré aux DevTools du navigateur (onglet Elements > propriété color) ou le Colour Contrast Analyser de TPGi. Vérifiez systématiquement : les textes gris sur fond blanc, les placeholders de formulaires, les labels des boutons secondaires (outline buttons), les textes sur fonds colorés. Si vous utilisez Konform, cette vérification est déjà documentée par critère dans la fiche de conformité de chaque composant.

Ce qu'un auditeur RGAA va regarder en premier

Les auditeurs RGAA expérimentés ont une méthode rodée. Ils ne commencent pas par les pages les moins visitées ni par les critères les plus obscurs. Voici les 5 premiers points qu'ils examinent systématiquement — et ce que vous devez avoir corrigé avant leur arrivée.

1

La page d'accueil et la navigation principale

La première chose qu'un auditeur RGAA vérifie est le lien d'évitement (skip link) : ce lien caché qui permet aux utilisateurs de lecteur d'écran de sauter directement au contenu principal sans traverser la navigation. Son absence est quasi-systématiquement non conforme. L'auditeur vérifie ensuite la structure de la navigation : landmark <nav>, aria-label si plusieurs navigations sont présentes, aria-current sur le lien de la page active. Pensez à ajouter un lien d'évitement visible au focus dans votre layout si ce n'est pas déjà fait.

2

Un formulaire de connexion ou d'inscription

Les formulaires concentrent 30 à 40 % des non-conformités dans la plupart des audits. L'auditeur teste : les labels associés à chaque champ, le comportement des erreurs de validation (aria-invalid, aria-describedby, annonce par les lecteurs d'écran), le contraste des placeholders, la soumission au clavier, et l'ordre logique de tabulation. Si votre formulaire de connexion est conforme, c'est un signal très positif pour la suite de l'audit.

3

Une modale ou un panneau latéral (drawer)

Les composants modaux React sont parmi les plus souvent non conformes. L'auditeur vérifie : le focus est-il capturé dans la modale à l'ouverture ? La modale peut-elle être fermée avec la touche Échap ? Le focus retourne-t-il à l'élément déclencheur à la fermeture ? Le contenu derrière la modale est-il masqué aux technologies d'assistance (aria-hidden) ? La modale est-elle annoncée correctement via role="dialog" et aria-labelledby ?

4

Les images de contenu

L'auditeur inspecte le code source directement — il ne se fie pas à l'aspect visuel. Il cherche les balises <img> sans attribut alt ou avec alt généré automatiquement (souvent le nom de fichier ou l'URL). Les images chargées dynamiquement depuis un CMS ou une API sont les plus à risque. Si vous utilisez next/image, assurez-vous que l'attribut alt est toujours passé depuis la source de données, et jamais laissé vide pour des images informatives.

5

Les contrastes globaux de la charte graphique

L'auditeur n'inspecte pas chaque texte individuellement : il repère d'abord les patterns récurrents — couleur de texte secondaire, placeholders, boutons ghost, liens non soulignés. Si votre charte graphique utilise un gris #999 sur fond blanc (#fff), le ratio est de 2,85:1 — non conforme pour les textes normaux. Une seule nuance de gris non conforme, utilisée dans 50 composants, génère 50 non-conformités. Corriger la variable CSS globale est beaucoup plus efficace que corriger composant par composant.

Pour aller plus loin sur la méthodologie d'audit RGAA, consultez notre guide complet de l'audit RGAA 4.

Composants React conformes RGAA 4, prêts pour l'audit

Konform livre des composants React avec une documentation de conformité RGAA 4 et WCAG 2.2 AA intégrée — critère par critère. Chaque Button, Input, Modal ou Nav vient avec son mapping aux critères RGAA et les patterns ARIA corrects déjà implémentés. Quand votre auditeur arrive, la documentation est déjà prête.

Ressources associées

Aller plus loin sur la conformité RGAA 4