Couverture RGAA réelle
Transparence totale : statut réel critère par critère sur les 106 critères RGAA 4.1.2.
Un audit RGAA complet nécessite toujours une vérification humaine. Les critères pré-vérifiés détectent les anomalies structurelles (attribut manquant, balise absente), mais ne peuvent pas juger la pertinence du contenu (un alt="photo" passe la détection automatique sans être conforme au RGAA).
Notre méthodologie
Analyse statique
Parsing du DOM HTML avec 106 règles dédiées. Détection rapide des erreurs de code et de structure.
Analyse visuelle (Puppeteer)
Rendu JavaScript complet, calcul des contrastes réels via getComputedStyle, et vérifications visuelles complémentaires.
Analyse IA
Classification images, pertinence des alternatives textuelles, suggestions contextuelles.
Tableau complet des 106 critères
1. Images(9 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 1.1 | Alternative textuelle | Pré-vérifié | Statique + IA | Détection alt sur img, svg, area, canvas. IA pour classification décorative/informative. |
| 1.2 | Images décoratives | Pré-vérifié | Statique + IA | Vérification alt="", role=presentation, aria-hidden. IA pour détection automatique. |
| 1.3 | Pertinence des alternatives | Pré-vérifié | Statique + IA | Détection noms de fichiers, termes génériques. IA pour pertinence sémantique. |
| 1.4 | Images-texte | Pré-vérifié | Statique | Détection CAPTCHA, format fichier. Contenu texte incrusté : manuel. |
| 1.5 | CAPTCHA | Manuel | Statique | Détection reCAPTCHA, hCaptcha, alternatives audio/email. |
| 1.6 | Description détaillée | Manuel | Statique + IA | Vérification longdesc, aria-describedby, liens adjacents. |
| 1.7 | Pertinence description | Pré-vérifié | Statique | Validation cibles aria-describedby, longdesc, contenu non vide. |
| 1.8 | Images texte remplacement | Manuel | Statique + IA | Détection éléments, IA pour texte incrusté. |
| 1.9 | Légendes d'images | Pré-vérifié | Statique + IA | Association figure/figcaption, IA pour pertinence légende. |
2. Cadres(2 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 2.1 | Titre des cadres | Vérifié auto. | Statique | Vérification attribut title sur iframe et frame. |
| 2.2 | Pertinence titre cadres | Pré-vérifié | Statique + IA | Détection titres génériques, suggestions par provider (YouTube, Maps, etc.). |
3. Couleurs(3 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 3.1 | Information par couleur | Pré-vérifié | Statique | Détection styles inline, mots-clés couleur, classes d'état colorées sans complément visible (icône ou préfixe texte). Validation contextuelle : manuel. |
| 3.2 | Contraste texte | Pré-vérifié | Puppeteer | Calcul ratio WCAG via getComputedStyle. 4.5:1 normal, 3:1 large. |
| 3.3 | Contraste graphiques | Manuel | Statique | Mesure indicative du ratio de contraste des bordures stylées par l'auteur (champs, boutons) avec le fond adjacent le plus favorable. Verdict maintenu manuel : WCAG 1.4.11 exempte les contrôles natifs et une bordure faible n'échoue que si elle est le seul moyen d'identifier le composant. |
4. Multimédia(13 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 4.1 | Transcription textuelle | Manuel | Statique | Détection video/audio, pistes track, liens transcription. |
| 4.2 | Pertinence transcription | Manuel | Statique + IA | Détection track, aria-describedby. IA pour complétude. |
| 4.3 | Sous-titres synchronisés | Pré-vérifié | Statique | Détection <track kind="captions/subtitles"> sur <video>. Renvoi manuel pour YouTube/Vimeo. Contenu VTT non analysé. |
| 4.4 | Pertinence sous-titres | Pré-vérifié | Statique | Vérification présence srclang, label, extension .vtt/.srt. Pertinence du contenu des sous-titres : manuel. |
| 4.5 | Audiodescription | Manuel | Statique | Détection track kind=descriptions, liens version audiodécrite. |
| 4.6 | Pertinence audiodescription | Manuel | Statique | Détection track. Pertinence contenu : manuel. |
| 4.7 | Identification médias | Manuel | Statique | Vérification title, aria-label, figcaption. |
| 4.8 | Alternative non temporelle | Manuel | Statique | Canvas, object, SVG animé avec alternatives. |
| 4.9 | Pertinence alternative | Manuel | Manuel | Vérification manuelle requise. |
| 4.10 | Contrôle du son | Pré-vérifié | Statique | Détection autoplay sans muted, attribut controls. |
| 4.11 | Contrôle temporel | Manuel | Statique | Attribut controls. Contrôles personnalisés : manuel. |
| 4.12 | Contrôle non temporel | Manuel | Manuel | Canvas/SVG interactifs : vérification manuelle. |
| 4.13 | Compatibilité médias | Manuel | Statique | Labels ARIA sur contrôles, rôles appropriés. |
5. Tableaux(8 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 5.1 | Résumé tableaux complexes | Manuel | Statique | Attribut summary, aria-describedby, détection tableaux complexes. |
| 5.2 | Pertinence résumé | Pré-vérifié | Statique + IA | Détection résumés génériques. IA pour suggestions. |
| 5.3 | Linéarisation tableaux layout | Manuel | Statique | Vérification role=presentation/none. |
| 5.4 | Titre des tableaux | Pré-vérifié | Statique | Présence caption, title, aria-label. |
| 5.5 | Pertinence titre | Pré-vérifié | Statique | Détection caption, aria-label, aria-labelledby, title, figcaption. Pertinence du libellé : à valider manuellement. |
| 5.6 | En-têtes colonnes/lignes | Pré-vérifié | Statique | Vérification agrégée : 1re ligne ou 1re colonne entièrement en <th> (ou role=columnheader/rowheader). Échec si déclaration partielle. |
| 5.7 | Association en-têtes/cellules | Pré-vérifié | Statique | Tableaux simples : exige scope, id ou role sur tous les <th>. Tableaux complexes (colspan/rowspan) : exige id sur <th> et headers sur tous les <td>. |
| 5.8 | Tableaux de mise en page | Pré-vérifié | Statique | Vérifie role="presentation"/"none" : aucun <caption>, <th>, <thead>, <tfoot>, summary, scope, headers, axis, role=rowheader/columnheader. Tables sans rôle explicite : signalées en manuel (voir 5.3). |
6. Liens(2 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 6.1 | Intitulé des liens | Pré-vérifié | Statique + IA | Liens vides, termes génériques, contexte ARIA. IA pour pertinence. |
| 6.2 | Titre des liens | Pré-vérifié | Statique | Texte visible, aria-label/labelledby, title, alt image. |
7. Scripts(5 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 7.1 | Compatibilité scripts | Manuel | Statique | Gestionnaires souris sans clavier, role=button sans tabindex. Test d'interaction réel non possible. |
| 7.2 | Alternative scripts | Pré-vérifié | Statique | Détection frameworks SSR (Next.js, Nuxt, Gatsby, Remix), balise noscript, contenu significatif. SSR et contenu substantiel : vérification manuelle. |
| 7.3 | Contrôle au clavier | Pré-vérifié | Statique | Gestionnaires clavier sur interactifs, tabindex. Test d'interaction réel non possible. |
| 7.4 | Changement de contexte | Pré-vérifié | Statique | onchange/onfocus déclenchant navigation ou soumission automatique (location, window.open, .submit()). Formulaires sans bouton de soumission avec onchange. Détection heuristique. |
| 7.5 | Messages de statut | Manuel | Statique | role=status/alert, aria-live regions. |
8. Éléments obligatoires(10 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 8.1 | DOCTYPE | Vérifié auto. | Statique | Présence et validité DOCTYPE HTML5. |
| 8.2 | Validité du code | Pré-vérifié | Statique | Vérification partielle : IDs dupliqués, attributs obsolètes. Validation HTML W3C non implémentée. |
| 8.3 | Attribut lang | Vérifié auto. | Statique | Présence lang sur html. |
| 8.4 | Validité code langue | Vérifié auto. | Statique | Code ISO 639, sous-tags régionaux. |
| 8.5 | Titre de page | Vérifié auto. | Statique | Balise title présente et non vide. |
| 8.6 | Pertinence titre page | Pré-vérifié | Statique | Titres génériques, cohérence h1/title, pattern "Page - Site". |
| 8.7 | Indication changement langue | Pré-vérifié | Statique | Attribut lang sur textes étrangers. |
| 8.8 | Changements de langue | Pré-vérifié | Statique | Attribut lang sur citations, blocs multilingues. |
| 8.9 | Balises utilisées | Pré-vérifié | Statique | Balises HTML conformes, dépréciées. |
| 8.10 | Direction du texte | Pré-vérifié | Statique | Attribut dir sur contenus RTL (arabe, hébreu). |
9. Structuration(4 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 9.1 | Titres | Pré-vérifié | Statique | Hiérarchie des niveaux, sauts de niveaux, titres vides. Pertinence du contenu des titres : à valider manuellement. |
| 9.2 | Structure document | Pré-vérifié | Statique | Présence main, header, footer, nav. Vérification manuelle si landmarks absents. |
| 9.3 | Listes | Pré-vérifié | Statique | Structure ul/ol/li, dl/dt/dd correcte. |
| 9.4 | Citations | Pré-vérifié | Statique | Utilisation blockquote, q, attribut cite. |
10. Présentation(14 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 10.1 | Présentation CSS | Vérifié auto. | Statique | Attributs HTML obsolètes, styles inline. |
| 10.2 | Visibilité contenu sans CSS | Manuel | Statique + Puppeteer | display:none, visibility:hidden. Puppeteer pour icônes/images. |
| 10.3 | Lisibilité contenu | Manuel | Puppeteer | Taille police <12px, interligne <1.3. Couverture partielle. |
| 10.4 | Redimensionnement texte | Manuel | Puppeteer | Zoom 200% (viewport 640px). Couverture partielle. |
| 10.5 | Couleurs CSS | Pré-vérifié | Puppeteer | Fond sans couleur texte, !important. Mode contraste élevé : manuel. |
| 10.6 | Visibilité liens | Pré-vérifié | Statique + Puppeteer | text-decoration:none détecté, contraste lien/texte ≥3:1. |
| 10.7 | Focus visible | Pré-vérifié | Puppeteer | Focus visible via getComputedStyle. Couverture partielle. |
| 10.8 | Contenus cachés | Pré-vérifié | Statique | display:none/aria-hidden sur focusables, sr-only. |
| 10.9 | Information par forme | Manuel | Manuel | Vérification manuelle requise. |
| 10.10 | Information par position | Manuel | Manuel | Vérification manuelle requise. |
| 10.11 | Reflow | Pré-vérifié | Puppeteer | Viewport 320px sans scroll horizontal. Couverture partielle. |
| 10.12 | Espacement texte | Pré-vérifié | Puppeteer | Line-height 1.5, paragraph 2em, letter/word spacing WCAG. |
| 10.13 | Contenu additionnel | Pré-vérifié | Statique + Puppeteer | Tooltips, aria-describedby, title, Bootstrap accessible. |
| 10.14 | Contenu au survol | Pré-vérifié | Statique | onmouseover sans onfocus, CSS :hover sans :focus-within. |
11. Formulaires(13 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 11.1 | Labels présents | Vérifié auto. | Statique | label for, label imbriqué, aria-label/labelledby, title, placeholder seul. |
| 11.2 | Pertinence labels | Pré-vérifié | Statique | Labels vides, génériques, courts, orphelins, = name/id, = placeholder. |
| 11.3 | Cohérence labels | Manuel | Statique | Labels uniformes pour champs similaires. |
| 11.4 | Association labels | Pré-vérifié | Statique | Labels orphelins, aria-labelledby invalide, aria-label vide. Accolage visuel (aria-label/aria-labelledby) : à vérifier manuellement. |
| 11.5 | Regroupement fieldset | Pré-vérifié | Statique | Radio/checkboxes groupés, fieldset avec legend. |
| 11.6 | Legend présent | Pré-vérifié | Statique | legend dans fieldset. |
| 11.7 | Pertinence legend | Pré-vérifié | Statique + IA | Legend vide, générique, court. IA pour suggestions. |
| 11.8 | Groupement options | Pré-vérifié | Statique | optgroup dans select long, label sur optgroup. |
| 11.9 | Boutons | Pré-vérifié | Statique | Intitulé bouton, button avec texte, input submit/button avec value. |
| 11.10 | Types d'entrée | Pré-vérifié | Statique | type email/tel/url, autocomplete approprié. |
| 11.11 | Messages d'erreur | Pré-vérifié | Statique | Messages liés aux champs, aria-describedby, aria-invalid. |
| 11.12 | Modification données | Pré-vérifié | Statique | Formulaires POST critiques, paiement, suppression, confirm(), case confirmation. |
| 11.13 | Contrôle saisie | Pré-vérifié | Statique | pattern avec explication, required signalé. |
12. Navigation(11 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 12.1 | Systèmes de navigation | Pré-vérifié | Statique | Menu nav, plan du site, recherche. 2+ systèmes requis. |
| 12.2 | Position navigation | Manuel | Manuel | Position cohérente : vérification manuelle. |
| 12.3 | Plan du site | Pré-vérifié | Statique + Puppeteer | Détection de la page plan du site, vérification HTTP réelle de ses liens internes (échec si page inexistante, 404/410). Pertinence du plan : manuel. |
| 12.4 | Lien plan du site | Pré-vérifié | Statique | Patterns multiples, emplacement header/footer/nav. |
| 12.5 | Moteur de recherche | Pré-vérifié | Statique | Formulaire recherche, role=search. |
| 12.6 | Landmarks | Pré-vérifié | Statique | Détecte main, header, nav, footer, search. Absences signalées comme à vérifier manuellement. |
| 12.7 | Liens d'évitement | Vérifié auto. | Statique | Présence du lien d'évitement et validité de sa cible. Visibilité à la prise de focus signalée à vérifier si le CSS est externe. |
| 12.8 | Ordre de tabulation | Manuel | Statique | tabindex positifs détectés, ordre logique. |
| 12.9 | Pas de piège au clavier | Manuel | Statique | Détection tabindex. Ordre complet : manuel. |
| 12.10 | Raccourcis clavier | Pré-vérifié | Statique | accesskey détectés, conflits potentiels. |
| 12.11 | Contenus additionnels au survol ou au focus | Pré-vérifié | Statique | Contenus additionnels apparaissant au survol ou au focus : vérification que le déclencheur est atteignable au clavier. |
13. Consultation(12 critères)
| Critère | Nom | Couverture | Méthode | Détails |
|---|---|---|---|---|
| 13.1 | Limite de temps | Pré-vérifié | Statique | Meta refresh détecté automatiquement (fail ≤ 20 s, manual entre 20 s et 20 h, pass sinon). Redirections et décomptes JS (setTimeout/setInterval + écriture location) signalés en manuel. Limites de session côté serveur : non détectables. |
| 13.2 | Nouvelle fenêtre | Pré-vérifié | Statique | Détection de window.open au chargement (body[onload], script inline top-level, addEventListener load/DOMContentLoaded). Ouvertures via onclick sur éléments non interactifs signalées en manuel. |
| 13.3 | Documents téléchargeables | Manuel | Statique | Liens PDF/DOC avec indication format et poids. |
| 13.4 | Fichiers bureautiques | Manuel | Statique | Détection fichiers. Accessibilité contenu : manuel. |
| 13.5 | Alternative contenu cryptique | Manuel | Statique | Détection art ASCII (balises pre), émoticônes, syntaxe cryptique. Alternative : manuel. |
| 13.6 | Pertinence alternative cryptique | Pré-vérifié | Statique + IA | Alternatives des contenus cryptiques et balises abbr avec title. IA pour pertinence. |
| 13.7 | Effets de flash | Manuel | Statique | Détection des effets de flash et changements brusques de luminosité. Fréquence réelle (3 flashs/seconde) : manuel. |
| 13.8 | Contenu en mouvement | Pré-vérifié | Statique | Détection marquee/blink, carrousels et animations sans mécanisme de contrôle. |
| 13.9 | Orientation de l'écran | Pré-vérifié | Statique + Puppeteer | Media queries d'orientation détectées. Différentiel portrait/paysage mesuré : échec si le contenu est masqué dans une orientation. |
| 13.10 | Gestes complexes | Pré-vérifié | Statique | Gestionnaires d'événements tactiles (touch/gesture) détectés. Alternative par geste simple : manuel. |
| 13.11 | Annulation pointeur | Manuel | Statique | mousedown/touchstart sans annulation. |
| 13.12 | Mouvement de l'appareil | Manuel | Statique | API DeviceMotion détectée. Alternatives : manuel. |
Ce qui distingue RGAA Checker
| Outil | Référentiel | Analyse IA des images | Audit RGAA manuel assisté | Crawler multi-pages |
|---|---|---|---|---|
| RGAA Checker | RGAA 4.1.2 natif | |||
| axe DevTools | WCAG 2.x | — | — | — |
| WAVE | WCAG 2.x | — | — | — |
| Lighthouse | WCAG 2.x | — | — | — |
axe, WAVE et Lighthouse s'appuient sur les règles WCAG. RGAA Checker mappe directement les 106 critères du référentiel RGAA 4.1.2 et combine, dans un même outil, l'analyse IA des images et l'audit manuel assisté.
Prêt à auditer votre site ?
Lancez un audit gratuit pour détecter les anomalies d'accessibilité RGAA sur votre site.