WP WordPress Débutant

EAA Accessibility Auto-Fixer — Guide complet

Installer, auditer et mettre votre site WordPress/WooCommerce en conformité European Accessibility Act : scanner WCAG 2.2 AA, corrections automatiques, alt IA et déclaration légale.

Mis à jour Version du module 1.0.0

Présentation

EAA Accessibility Auto-Fixer met votre site WordPress et WooCommerce en conformité avec l’European Accessibility Act (directive UE 2019/882, applicable depuis le 28 juin 2025). Le plugin combine quatre briques : un scanner WCAG 2.2 niveau AA, un correcteur frontend automatique, un générateur de textes alternatifs par IA (Anthropic Claude) et un générateur de déclaration légale d’accessibilité.

Qui est concerné ? Les e-commerces de l’UE avec plus de 10 salariés OU plus de 2 M€ de chiffre d’affaires annuel. Les micro-entreprises sont exemptées pour les services mais doivent rendre leurs produits accessibles.

Installation

  1. Téléchargez le ZIP depuis votre compte DataFirefly.
  2. Dans WordPress, allez dans Extensions → Ajouter → Téléverser une extension, sélectionnez le ZIP puis cliquez sur Installer maintenant.
  3. Cliquez sur Activer. Le plugin crée automatiquement 4 tables (wp_eaa_audits, wp_eaa_issues, wp_eaa_fixes, wp_eaa_alt_cache), programme un audit hebdomadaire et génère une page « Déclaration d’accessibilité » contenant le shortcode [eaa_accessibility_declaration].

Prérequis : WordPress 6.2+, WooCommerce 8.0+ (facultatif — le plugin fonctionne aussi sur WordPress seul), PHP 8.1+.

Premier audit

  1. Allez dans EAA Accessibility → Audit.
  2. L’URL de la page d’accueil est pré-remplie ; vous pouvez la remplacer par n’importe quelle URL du site.
  3. Cliquez sur Lancer l’audit. Le scanner analyse la page et affiche le score sur 100, la liste des anomalies (sévérité, règle, critère WCAG, extrait HTML, suggestion) et un bouton Corriger pour les anomalies auto-corrigeables.

Comprendre le score

Le score démarre à 100 et chaque anomalie retire des points selon sa sévérité : critique 15 points, sérieuse 8, modérée 3, mineure 1. Un score de 90 ou plus s’affiche en vert, de 70 à 89 en orange, en dessous en rouge. La déclaration légale reprend ce score : 90+ donne « Totalement conforme », 50 à 89 « Partiellement conforme », moins de 50 « Non conforme ».

Les 15 règles vérifiées

  • html-lang — attribut lang sur l’élément racine (WCAG 3.1.1)
  • page-title — présence et contenu de la balise title (2.4.2)
  • headings — présence d’un h1 unique et hiérarchie sans saut (1.3.1)
  • image-alt — attribut alt sur toutes les images (1.1.1)
  • link-name — texte accessible sur chaque lien (2.4.4)
  • button-name — nom accessible sur chaque bouton (4.1.2)
  • label — étiquette sur chaque champ de formulaire (1.3.1, 4.1.2)
  • skip-link — lien d’évitement en début de page (2.4.1)
  • landmarks — repère main présent (1.3.1)
  • duplicate-id — pas d’identifiant en double (4.1.1)
  • aria-roles — rôles ARIA valides (4.1.2)
  • target-size — cibles tactiles de 24×24 px minimum (2.5.8, nouveauté WCAG 2.2)
  • color-contrast — contraste texte/fond de 4,5:1 minimum (1.4.3)
  • tabindex — pas de tabindex positif (2.4.3)
  • autoplay — pas de lecture automatique non contrôlable (1.4.2)

Corrections automatiques

Dans EAA Accessibility → Réglages → Corrections actives, activez les corrections que le plugin applique en temps réel via output buffer, sans modifier votre thème :

  • Attribut lang — ajoute la langue du site sur l’élément racine si absente.
  • Lien d’évitement — insère « Aller au contenu » en tête de page, visible au focus clavier.
  • Texte alternatif manquant — marque les images décoratives (classes decoration, icon…) avec un alt vide ; les images de contenu passent par l’IA si activée.
  • Étiquettes de formulaire — ajoute un aria-label déduit du placeholder ou du name sur les champs sans label.
  • Rôles ARIA et icônes — aria-label sur les boutons-icônes, role= »presentation » sur les SVG décoratifs.
  • Indicateur de focus — injecte un style :focus-visible contrasté.
  • Contrastes — corrige les couleurs inline sous 4,5:1 en assombrissant ou éclaircissant automatiquement.
  • Taille des cibles — garantit 24×24 px sur boutons et liens via CSS.

Chaque correction est journalisée dans la table wp_eaa_fixes avec la valeur avant/après — utile en cas de contrôle. Consultez le total par type dans le Tableau de bord.

Si une correction entre en conflit avec votre thème (par exemple un skip-link déjà présent), désactivez la correction concernée : le plugin détecte les éléments existants mais certains thèmes très personnalisés peuvent nécessiter un ajustement.

Génération IA des textes alternatifs

Configuration

  1. Créez une clé API sur console.anthropic.com.
  2. Dans EAA Accessibility → Réglages → Génération IA, cochez Activer l’IA, collez la clé, puis cliquez sur Tester la connexion.
  3. Choisissez le modèle : Claude Haiku 4.5 (par défaut, environ 0,0001 € par image, recommandé), Sonnet 4.6 (qualité supérieure) ou Opus 4.7 (qualité maximale).

Génération en masse

Depuis le Tableau de bord, le bouton de génération en masse traite la médiathèque par lots de 5 images. Chaque description est générée dans la langue de l’attachement (FR/EN/ES/DE/IT), stockée dans wp_eaa_alt_cache et écrite dans le champ alt de WordPress. Le cache évite toute re-génération : une image déjà décrite dans une langue n’est jamais renvoyée à l’API.

Les images de plus de 4 Mo sont automatiquement redimensionnées à 1024 px maximum avant envoi à l’API — aucun impact sur vos fichiers originaux.

Widget visiteur

Activez-le dans Réglages → Widget visiteur. Un bouton flottant ♿ apparaît en bas à droite du site et ouvre un panneau avec 8 préférences : taille du texte (5 paliers, de 100 % à 200 %), contraste élevé, police adaptée à la dyslexie, espacement amélioré, animations réduites, soulignement des liens, curseur agrandi, et un bouton de réinitialisation. Les choix sont enregistrés en localStorage (aucun cookie, aucune donnée envoyée au serveur) et restaurés à chaque visite. Le panneau est entièrement navigable au clavier et se ferme avec Échap.

Déclaration légale

La page créée à l’activation affiche via le shortcode [eaa_accessibility_declaration] : l’état de conformité calculé sur le dernier audit, le score, la date, les contenus non accessibles, la méthodologie et vos coordonnées de contact. Renseignez ces informations dans Réglages → Informations pour la déclaration légale : raison sociale, e-mail de contact accessibilité, téléphone, adresse postale.

Complément manuel recommandé. Ajoutez vos identifiants légaux (SIRET, RCS ou équivalent) et faites valider la déclaration par un expert en accessibilité : le plugin couvre 30 à 40 % des critères automatisables, une revue humaine reste nécessaire pour la conformité totale.

Ajoutez ensuite un lien vers cette page dans votre pied de page — c’est une exigence de l’EAA.

Audits programmés

Dans Réglages → Audit programmé, choisissez la fréquence : quotidien, hebdomadaire (par défaut) ou mensuel. Le cron WordPress scanne alors la page d’accueil automatiquement et alimente l’historique. Consultez tous les audits passés dans EAA Accessibility → Historique avec score, durée et répartition des anomalies par sévérité.

Désinstallation

Par défaut, la désinstallation conserve les tables et l’historique (traçabilité légale). Pour tout supprimer, activez l’option de suppression des données dans les réglages avant de désinstaller : les 4 tables, les options et la page de déclaration seront alors retirées.

Dépannage

Le scanner retourne une erreur de connexion

Le scanner utilise wp_remote_get pour récupérer la page. Vérifiez que votre serveur peut s’appeler lui-même (loopback) : certains hébergeurs bloquent les requêtes sortantes vers le propre domaine du site. Testez avec Outils → Santé du site.

Le test de la clé API échoue

Vérifiez que la clé commence par sk-ant-, que votre compte Anthropic a du crédit, et que le serveur autorise les connexions sortantes vers api.anthropic.com en HTTPS.

Les corrections ne s’appliquent pas

Le correcteur est inactif sur les flux RSS, les requêtes REST/AJAX, l’administration et le cron. Si un plugin de cache sert une version statique, videz le cache après activation. Vérifiez aussi que Activer le correcteur frontend est bien coché.

Le widget n’apparaît pas

Vérifiez que Widget visiteur est activé dans les réglages et que votre thème appelle bien wp_footer() — le widget s’injecte sur ce hook.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support