Skip to main content

Consulting

Conformité RGAA sur Drupal 11 : automatiser les audits d'accessibilité numérique dans votre pipeline GitLab CI/CD

EN BREF

  • Drupal 11 propose une base sémantique native hautement conforme grâce à son moteur de rendu moderne et à ses thèmes optimisés.
  • L'automatisation des tests de non-régression s'appuie sur l'intégration du moteur Axe-core directement dans les étapes de validation de GitLab CI/CD.
  • Un runner Debian configuré avec Chromium en mode sans tête permet de scanner vos pages à chaque nouveau déploiement.
  • Les tests automatisés ne détectent qu'une fraction des critères du RGAA ; un audit humain méthodique reste indispensable pour valider l'expérience utilisateur réelle.

L'accessibilité numérique est devenue un pilier incontournable de la qualité logicielle front end. En France, le Référentiel Général d'Amélioration de l'Accessibilité (RGAA) impose des exigences strictes aux services publics ainsi qu'aux grandes entreprises. Atteindre la conformité web légale nécessite une approche structurée dès la phase de conception. Heureusement, l'écosystème Drupal a toujours placé l'accessibilité au centre de ses préoccupations. Avec la sortie de Drupal 11, les équipes de développement disposent d'outils natifs encore plus puissants pour structurer leurs interfaces, tandis que les pratiques DevOps permettent d'automatiser le contrôle de cette conformité tout au long du cycle de vie du projet.

schéma technique représentant le flux de travail entre un développeur qui pousse son code sur GitLab

L'arsenal d'accessibilité de Drupal 11

Le choix d'un système de gestion de contenu comme Drupal 11 apporte des garanties structurelles fortes en matière d'accessibilité numérique entreprise. Le cœur du CMS intègre par défaut des principes stricts de conception universelle.

Une architecture sémantique native et robuste

Le moteur de rendu de Drupal 11 s'appuie sur Twig 3 et propose des gabarits HTML5 nativement structurés. Les éléments de navigation, les formulaires et les structures de pages respectent scrupuleusement les balises sémantiques fondamentales. Par exemple, le thème d'administration Claro et le thème par défaut Olivero ont été audités pour offrir une expérience utilisateur irréprochable avec les technologies d'assistance.

Voici un exemple de surcharge sémantique d'un menu de navigation Drupal 11 pour garantir la présence des attributs indispensables :

{# Fichier de gabarit menu--main.html.twig pour le menu principal #}
<nav aria-label="Menu principal" class="navigation-principale">
  <ul class="menu-liste">
    {% for item in items %}
      <li class="menu-item">
        <a href="{{ item.url }}" {% if item.is_active %}aria-current="page"{% endif %} class="menu-lien">
          {{ item.title }}
        </a>
      </li>
    {% endfor %}
  </ul>
</nav>

Ce simple code démontre comment Drupal 11 permet de lier dynamiquement l'état d'une page à des attributs sémantiques précis comme aria-current, indispensables pour les utilisateurs de lecteurs d'écran.

La gestion dynamique du focus et des attributs ARIA

Drupal 11 améliore l'interactivité pour les utilisateurs naviguant exclusivement au clavier. Le système intègre des bibliothèques JavaScript permettant de gérer l'annonce des changements d'état dynamiques aux technologies d'assistance via l'API Drupal.announce(). De plus, les fenêtres modales et les éléments interactifs natifs exploitent un système de piégeage du focus (focus trapping) pour éviter que l'utilisateur ne se perde dans le document lors de l'activation d'un composant de formulaire complexe.

Industrialisation de l'audit et approche DevOps

Pour pérenniser les efforts d'accessibilité, il est indispensable de mettre en place des tests de non-régression. Intégrer un audit automatisé dans votre pipeline GitLab CI QA web permet d'intercepter les erreurs avant même qu'elles n'atteignent l'environnement de production.

gitlab-test-accessibilité

Architecture du runner Debian et prérequis

Pour exécuter nos analyses d'accessibilité automatisées, nous allons utiliser un exécuteur GitLab CI configuré sous Debian. Le moteur d'analyse s'appuie sur Axe-core, l'un des outils les plus fiables du marché. Pour fonctionner correctement en mode sans tête (headless), l'outil nécessite l'installation de Node.js ainsi que d'un navigateur Chromium léger au sein de l'environnement du runner.

Configuration du pipeline GitLab CI/CD avec Axe-cli

Voici le fichier de configuration de votre pipeline. Ce script installe Chromium, déploie le client en ligne de commande de l'outil Axe-core, puis procède à l'analyse de votre environnement de recette ou de préproduction Drupal 11 :

stages:
  - audit

rgaa_scan:
  stage: audit
  image: node:18-slim
  before_script:
    - apt-get update && apt-get install -y chromium
    - npm install -g @axe-core/cli
  script:
    - axe [http://my-drupal-11-site.local](http://my-drupal-11-site.local) --chrome-path /usr/bin/chromium --tags wcag2a,wcag2aa --stdout
  artifacts:
    name: "rapport-accessibilite"
    paths:
      - rgaa-report.json
    when: always

Ce job automatise l'analyse de premier niveau. Si une erreur d'accessibilité majeure est détectée (par exemple, un contraste de couleur insuffisant ou un champ de formulaire dépourvu d'étiquette), le pipeline échoue, alertant immédiatement l'équipe de développement.

Les limites de l'automatisation face aux exigences du RGAA

L'automatisation est un atout puissant pour la qualité logicielle front end, mais elle ne peut pas se substituer intégralement à l'expertise humaine. Comprendre ce périmètre est essentiel pour réussir un audit officiel de conformité web légale.

Ce qui peut être validé par les scripts

Les outils d'analyse automatique comme Axe-core ou Lighthouse sont d'une efficacité redoutable pour valider les aspects purement structurels et mathématiques du code ; on peut lister parmi eux :

  • La présence systématique d'une alternative textuelle sur les balises d'images.
  • Le respect du ratio de contraste minimal pour les textes et les éléments graphiques.
  • La hiérarchie logique des balises de titre de type Hn.
  • L'association correcte entre les étiquettes et leurs champs de saisie de formulaire.
  • La cohérence syntaxique des attributs ARIA injectés dans le code HTML.

La nécessité incontournable des tests manuels

Malgré la puissance des algorithmes, une grande partie des critères du RGAA fait appel au discernement et au contexte d'usage ; les limites se situent au niveau de divers éléments :

  • La pertinence de l'alternative textuelle : un script peut vérifier qu'un attribut d'image existe, mais il ne pourra pas déterminer si la description textuelle est pertinente vis-à-vis du contexte de la page.
  • La cohérence du parcours clavier : le script ne peut pas juger si l'ordre de tabulation des éléments interactifs est logique et confortable pour l'utilisateur.
  • La qualité de la restitution audio : l'interprétation correcte des abréviations, des changements de langue ou des structures complexes par les principaux lecteurs d'écran du marché nécessite un test humain en conditions réelles.

Comparaison des approches de test d'accessibilité

Pour structurer au mieux vos efforts au sein de vos équipes projets, voici les distinctions majeures à prendre en compte entre les deux méthodes de test.

  • Les tests automatisés offrent une couverture instantanée et répétable à chaque modification du code source ; ils sont parfaits pour identifier les erreurs de syntaxe simples de manière continue.
  • Les tests automatisés présentent un coût d'exécution extrêmement faible une fois le pipeline initialisé dans votre usine logicielle.
  • Les tests manuels permettent de valider la véritable navigabilité d'une interface ; ils sont les seuls capables de mesurer l'effort cognitif et l'utilisabilité réelle de l'application.
  • Les tests manuels sont indispensables pour obtenir une certification officielle de conformité au RGAA, car ils couvrent l'intégralité des critères applicables du référentiel français.

FAQ sur l'accessibilité RGAA avec Drupal 11

Est-ce que le thème Olivero garantit une conformité totale au RGAA ?

Le thème Olivero fournit une base de départ exceptionnelle et respecte les critères du niveau double A du WCAG. Cependant, la conformité finale dépend entièrement de l'intégration de vos propres contenus, des modules complémentaires installés, de la qualité de vos développements sur mesure et de la saisie des éditeurs de contenu.

Comment gérer les faux positifs dans la pipeline de tests automatisés ?

Il est possible d'exclure certains composants spécifiques ou des scripts tiers de l'analyse en configurant un fichier de règles au format JSON pour l'outil Axe-cli. Cela évite d'interrompre votre intégration continue pour des éléments hors de votre contrôle, tout en maintenant un niveau d'exigence élevé sur le reste de la plateforme.

À quelle fréquence faut-il réaliser des tests manuels ?

Il est recommandé d'intégrer des validations manuelles lors des phases majeures de recette fonctionnelle, idéalement avant chaque livraison majeure en production. Les tests réguliers peuvent se concentrer sur les parcours utilisateurs critiques comme l'inscription, la recherche ou le processus d'achat.

Cyprien Prouvot

Cyprien Prouvot

Associé & Directeur Technique

Associé de l'agence, Cyprien pilote la vision technique et garantit la qualité des développements web. Il encadre les équipes internes et conseille les clients sur les choix d'architecture ou d'outils digitaux les plus pertinents. Il intervient également sur ce blog pour décrypter l'écosystème web, les tendances tech et les bonnes pratiques de conception.


Prêt ? Partez.

Que ce soit pour vous aider à faire le point sur vos besoins ou vous présenter les avantages et fonctionnalités de nos solutions, nous sommes là.
 

Back to top