Vérifier l'accessibilité à chaque mise à jour (intégration continue)
La ligne de commande d'Accessia audite vos pages à chaque mise à jour du site, dans GitHub Actions ou une autre CI, et fait échouer la vérification quand une non-conformité apparaît : une régression d'accessibilité est arrêtée avant d'atteindre vos visiteurs.
Mis à jour le
Relier votre compte
Il faut Node.js 18 ou plus récent et un compte Accessia (gratuit). Rien à installer : npx télécharge l'outil.
- Dans un terminal, créez une clé pour la CI :
npx accessia connexion --ci - Votre navigateur ouvre Accessia. Vérifiez que la page affiche le même code que le terminal, puis cliquez sur « Autoriser ».
- Le terminal affiche la clé, une seule fois. Dans votre dépôt GitHub : « Settings » → « Secrets and variables » → « Actions » → « New repository secret », nom
ACCESSIA_API_KEY, valeur : la clé.
Pour lancer des audits depuis votre propre poste, npx accessia connexion (sans --ci) enregistre la clé sur le poste.
Premier audit
npx accessia audit https://www.exemple.fr https://www.exemple.fr/contactPour chaque page : le taux provisoire de l'analyse automatique, les critères non conformes avec leur gravité et le lien du rapport dans votre compte. Le code de sortie vaut 0 si la barrière est franchie, 1 s'il reste trop de non-conformités, 2 en cas d'erreur (clé, crédits, page injoignable).
GitHub Actions : vérifier le site en ligne
Créez le fichier .github/workflows/accessibilite.yml dans votre dépôt, en remplaçant les adresses par les vôtres :
name: Accessibilité
on:
push:
branches: [main]
workflow_dispatch:
jobs:
accessia:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Audit Accessia
run: npx -y accessia audit https://www.exemple.fr https://www.exemple.fr/contact
env:
ACCESSIA_API_KEY: ${{ secrets.ACCESSIA_API_KEY }}À chaque mise à jour de la branche main, la page du lancement affiche un résumé (taux, non-conformités, liens des rapports) et chaque nouvelle non-conformité apparaît en annotation.
GitHub Actions : vérifier une modification avant de la publier
Le site est construit et lancé dans la CI, puis audité sur localhost : son code est lu sur la machine de la CI et envoyé à Accessia. Adaptez les commandes de construction et de lancement à votre projet :
name: Accessibilité
on: pull_request
jobs:
accessia:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci && npm run build
- name: Démarrer le site
run: npm start & npx -y wait-on http://localhost:3000
- name: Audit Accessia
run: >
npx -y accessia audit http://localhost:3000 http://localhost:3000/contact
--reference accessia-reference.json
env:
ACCESSIA_API_KEY: ${{ secrets.ACCESSIA_API_KEY }}Adopter la vérification sur un site existant : la référence
Un site existant a souvent déjà des non-conformités. Pour ne bloquer que les nouvelles :
- Enregistrez l'état actuel :
npx accessia audit <vos pages> --ecrire-reference accessia-reference.json, puis ajoutez ce fichier au dépôt. - Dans la CI, ajoutez
--reference accessia-reference.json: un critère non conforme absent de la référence, ou avec plus d'éléments en cause, fait échouer la vérification ; les critères déjà connus sont signalés sans bloquer. - Après des corrections, l'outil signale les critères qui ne sont plus détectés : réécrivez la référence pour verrouiller le progrès.
Options
--max-non-conformes <n>: non-conformités tolérées (critères × pages) avant l'échec ; 0 par défaut.--reference <fichier>et--ecrire-reference <fichier>: voir ci-dessus.--navigateur: rendu dans un vrai navigateur (contraste réel, focus, affichage à 320 px), pour les adresses publiques ; offres Pro et Équipe, ou compte avec des crédits (2 crédits par page).--referentiel wcag_2.2(ouwcag_2.1) : vérifier selon les WCAG plutôt que le RGAA 4.1.2.--json <fichier>: écrit le résultat complet pour d'autres outils.
Limites, en toute franchise
- Un audit automatique ne couvre qu'une partie du RGAA : une vérification réussie ne prouve pas la conformité.
- Sur une page locale, le code est analysé tel que le serveur le renvoie, avant l'exécution des scripts : le contraste réel, le focus et l'affichage ne sont pas mesurés.
- La référence compare les critères et leur nombre d'éléments, page par page : une erreur remplacée par une autre sur le même critère, au même nombre, n'est pas signalée comme nouvelle.
- 20 pages au plus par lancement.
Révoquer une clé
npx accessia deconnexion révoque et supprime la clé enregistrée.Le paquet est publié sur npm (nouvelle fenêtre). Pour corriger depuis votre éditeur de code, voir le serveur MCP ; pour lire un rapport, Lire un rapport.
Questions fréquentes
Pourquoi la vérification échoue-t-elle dès le premier lancement ?
Par défaut, la moindre non-conformité détectée fait échouer la vérification. Sur un site existant, commencez par enregistrer une référence (--ecrire-reference) : seules les nouvelles non-conformités feront ensuite échouer la CI, et vous corrigez l'existant à votre rythme.
Que coûte une vérification ?
Chaque page auditée compte comme un audit de votre compte : les audits gratuits du mois, puis 1 crédit par page (2 crédits avec le rendu navigateur). Vérifier 3 pages à chaque mise à jour coûte donc 3 audits : choisissez des pages représentatives, et lancez la vérification sur la branche principale plutôt qu'à chaque modification si le volume est important.
Mon code est-il envoyé à Accessia ?
Pour une adresse publique, Accessia ouvre la page lui-même. Pour une page locale (site lancé dans la CI, localhost), son code HTML est lu sur la machine de la CI et envoyé à Accessia. Chaque audit devient un rapport rangé dans votre compte.
Ça marche avec GitLab, Bitbucket ou une autre CI ?
Oui : la commande est la même partout où Node.js 18 est disponible, avec la clé dans la variable ACCESSIA_API_KEY. Le code de sortie fait échouer l'étape. Le résumé et les annotations sont propres à GitHub Actions ; ailleurs, le journal affiche les mêmes informations, et --json écrit un fichier exploitable.
Une vérification réussie prouve-t-elle la conformité ?
Non. L'analyse automatique ne couvre qu'une partie des critères du RGAA ; les autres demandent un jugement humain (pertinence d'une alternative, ordre de lecture…). La CI empêche les régressions détectables, elle ne remplace pas un audit complet.