RGAA 4.1.2 · le référentiel de l’État · socle WCAG 2.2 AA
ultra11y : l’audit d’accessibilité RGAA qui dit ce qu’il ne sait pas vérifier
ultra11y audite un site selon le RGAA 4.1.2, le référentiel d’accessibilité numérique de l’État. Il livre un rapport daté, la grille des 106 critères, un backlog et des tickets. Un moteur statique, un passage dans le navigateur et un jugement de l’IA contre-vérifié s’y partagent le travail. Il ne déclare jamais conforme ce qu’il n’a pas vérifié. Le RGAA repose sur les WCAG 2.2 niveau AA, la norme internationale : ultra11y les vérifie du même coup.
Je ne suis pas expert RGAA. Je suis développeur. ultra11y est l’outil que j’aurais voulu avoir : il fait le travail mécanique, et il dit clairement ce qu’il ne sait pas vérifier.
- 106 critèresdans le RGAA 4.1.2, vérifiés par 258 tests officiels
- 33 / 258tests qu’une règle automatique peut trancher ; tous les autres demandent un jugement
- 102vérifications automatiques sur le code source, sans navigateur
- 0fausse alerte non expliquée sur 401 exemples corrects du corpus officiel du W3C
Essayer en une commande
Vous n’avez jamais ouvert un terminal ? Le guide Installer et lancer son premier audit part de zéro, étape par étape. Sinon : il faut Node.js 22.18 ou plus récent, et rien d’autre. Le moteur tient dans un seul fichier, sans dépendance.
npx ultra11y audit src --standard rgaa
La commande lit les fichiers HTML, JSX, TSX, Vue, Svelte ou Astro du dossier src. Elle affiche les non-conformités trouvées, classées par critère RGAA, avec le fichier et la ligne. Pour un rapport daté, en Markdown et en HTML :
npx ultra11y audit src --standard rgaa --out audits
npx ultra11y report --in audits/audit-latest.json --standard rgaa --html --out audits
Le rapport s’ouvre sur le résumé (niveau atteint, ce qu’il faut corriger), puis un sommaire mène au détail de chaque critère. Il liste aussi tout ce qui reste « à évaluer ». C’est normal : un outil automatique ne tranche qu’une petite partie du RGAA. La suite se fait avec un agent IA (voir l’audit complet).
Dans un agent de code
Un agent de code est un assistant IA qui écrit et modifie du code dans votre dépôt (Claude Code, Codex, OpenCode…). Installé comme extension, ultra11y relit vos changements avant chaque commit, push ou pull request, sans que vous ayez à le demander.
| Agent | Installation |
|---|---|
| Claude Code | /plugin marketplace add SocialGouv/ultra11y puis /plugin install ultra11y@ultra11y |
| Codex CLI | codex plugin marketplace add SocialGouv/ultra11y puis codex plugin add ultra11y@ultra11y |
| OpenCode | npx ultra11y install --opencode |
| Autres agents | npx skills add SocialGouv/ultra11y (les deux skills, sans relecture automatique) |
Une skill est un mode d’emploi que l’agent charge quand la tâche s’y prête. Le dépôt en fournit deux : review-a11y pour relire un changement, ultra11y pour l’audit complet. Le détail est sur la page Intégration.
Ce que c’est
Chacun son travail : la machine décide ce qu’elle sait prouver, l’IA juge le reste sous contrôle, et les garde-fous renvoient tout verdict sans preuve.
La machine décide
L’IA juge, sous contrôle
- CodeHTML, JSX, Vue, Svelte, Astro
- Moteur102 vérifications sur le code
- Navigateurcontraste, focus, zoom
- Agent IAjuge et justifie
- Garde-fous
verify,check: preuve exigée - Livrablesrapport RGAA, backlog, tickets
verdict sans preuve : renvoyé à l’agent
Un moteur déterministe
Déterministe veut dire : même code, même résultat, à chaque fois. Le moteur lit le code source et applique 102 vérifications : image sans alt, champ sans étiquette, page sans langue, tableau sans en-têtes… Il fonctionne hors ligne, sans clé ni compte.
Un passage dans le navigateur
La commande scan ouvre la page dans un vrai navigateur. Elle y lance axe-core, une bibliothèque de tests d’accessibilité reconnue, et mesure ce que le code seul ne dit pas : contraste réel, focus visible, zoom à 200 %, affichage sur petit écran.
Un agent IA qui juge, sous contrôle
La plupart des tests RGAA demandent un jugement : cette alternative décrit-elle l’image ? ce lien est-il explicite ? L’agent IA tranche à partir des preuves collectées par le moteur. Chaque verdict doit citer ce qu’il a lu.
Des garde-fous
Les commandes check et verify refusent un verdict sans preuve, un critère inventé ou un « conforme » prononcé sur des éléments incomplets. Une non-conformité doit toujours pointer vers un élément réel du code. Un « conforme » ou un « non applicable » de l’IA est contre-vérifié avant d’entrer dans le taux.
Au bout : un rapport RGAA daté, une grille critère par critère et page par page, un backlog de corrections et, si vous le voulez, des tickets GitHub, GitLab ou Jira.
Ce que ce n’est pas
- Pas une certification. Un rapport ultra11y aide à préparer un audit RGAA. Il ne remplace pas une déclaration d’accessibilité signée par un auditeur.
- Pas un « score » d’accessibilité. Le taux affiché porte sur les critères décidés. Tout ce qui n’a pas été vérifié reste « à évaluer », jamais « conforme » par défaut.
- Pas infaillible côté IA. Les garde-fous vérifient que l’IA cite ses preuves. Ils ne prouvent pas qu’elle juge juste. Ce point est détaillé sur la page Fiabilité.
- Pas Lighthouse. L’onglet accessibilité de Lighthouse exécute une partie des règles d’axe-core. ultra11y utilise axe-core directement, et ajoute ses propres règles.
Pour aller plus loin
- Installer : de zéro au premier rapport, pour qui n’a jamais utilisé un terminal.
- Principes : pourquoi le RGAA se juge plus qu’il ne se mesure, et qui décide quoi.
- Intégration : les deux skills et où l’outil se branche (agent, commit, CI, tests de bout en bout, MCP).
- Audit : la boucle d’audit complète et les livrables.
- Couverture : les 106 critères un par un, et ce que chaque source apporte.
- Fiabilité : comment l’outil est testé, et ce qu’aucun test ne mesure.
- Commandes : la référence condensée de la ligne de commande.