Mode sans média : les images ne sont pas affichées, et celles qui sont chargées à la demande ne sont pas téléchargées. Poids de cette page : —.

Couverture de l'audit automatisé RGAA

Le RGAA 4.1.2 compte 106 critères. L’analyseur en évalue 54, dont 6 entièrement et 48 en partie : il y détecte les erreurs visibles dans le code, mais une vérification humaine reste nécessaire pour conclure. Les 52 autres ne sont pas évalués du tout.

Un score de 100 % ne signifie donc pas qu’une page est conforme au RGAA. Les vérifications manuelles et les critères hors de portée de l’outil sont précisément ce que couvre notre audit RGAA manuel, critère par critère, avec un rapport priorisé et une déclaration d’accessibilité prête à publier. Le calcul du score est détaillé dans la méthodologie.

1. Critères évalués par l’outil (54)

Couverture complète : l’outil tranche seul. Couverture partielle : l’outil signale les erreurs qu’il détecte, mais l’absence d’erreur ne suffit pas à conclure ; la dernière colonne indique ce qu’il faut vérifier à la main.

Critères RGAA évalués par l’outil
Critère Intitulé officiel Couverture Ce qui reste à vérifier à la main
1.1 Chaque image porteuse d’information a-t-elle une alternative textuelle ? Partielle Vérifier que chaque image porteuse d'information a une alternative qui transmet la même information. L'outil détecte les alternatives absentes, mais il prend un alt="" pour une image décorative sans pouvoir vérifier qu'elle l'est vraiment.
1.2 Chaque image de décoration est-elle correctement ignorée par les technologies d’assistance ? Partielle Repérer les images purement décoratives (fonds, ornements, icônes doublant un texte) et vérifier qu'elles sont marquées comme telles : alt="" ou aria-hidden="true". L'outil ne contrôle que les images déjà marquées décoratives.
1.9 Chaque légende d’image est-elle, si nécessaire, correctement reliée à l’image correspondante ? Partielle Pour chaque image légendée, vérifier que la légende décrit bien cette image et qu'elle se trouve dans la même <figure> qu'elle.
2.1 Chaque cadre a-t-il un titre de cadre ? Complète Rien : l’outil tranche seul.
3.2 Dans chaque page web, le contraste entre la couleur du texte et la couleur de son arrière-plan est-il suffisamment élevé (hors cas particuliers) ? Partielle Vérifier à l'œil les textes que l'outil ne peut pas mesurer : texte posé sur une image ou un dégradé, texte qui change au survol ou au focus, texte dans un carrousel ou une vidéo. Les logos et textes purement décoratifs ne sont pas concernés.
3.3 Dans chaque page web, les couleurs utilisées dans les composants d’interface ou les éléments graphiques porteurs d’informations sont-elles suffisamment contrastées (hors cas particuliers) ? Partielle Vérifier à l'œil les composants et graphiques que l'outil ne mesure pas : icônes sans bordure, états (coché, actif, survolé), graphiques et schémas. Seuls ceux qui transmettent une information sont concernés.
4.10 Chaque son déclenché automatiquement est-il contrôlable par l’utilisateur ? Partielle Vérifier qu'aucun son ne démarre seul au chargement, y compris ceux lancés par un script ou un lecteur intégré, ou qu'un moyen de l'arrêter est présent en début de page.
4.3 Chaque média temporel synchronisé pré-enregistré a-t-il, si nécessaire, des sous-titres synchronisés (hors cas particuliers) ? Partielle Pour chaque vidéo qui comporte des paroles ou des sons porteurs d'information, vérifier que des sous-titres synchronisés sont disponibles et fidèles. L'outil écarte les vidéos muettes sans contrôles, supposées décoratives.
4.11 La consultation de chaque média temporel est-elle, si nécessaire, contrôlable par le clavier et tout dispositif de pointage ? Partielle Pour chaque vidéo ou fichier audio, vérifier au clavier et à la souris que lecture, pause, volume et plein écran sont utilisables. Une vidéo purement décorative et sans son n'est pas concernée.
4.12 La consultation de chaque média non temporel est-elle contrôlable par le clavier et tout dispositif de pointage ? Partielle Pour chaque contenu interactif intégré (canvas, iframe d'animation, carte, jeu), vérifier qu'il est utilisable au clavier et à la souris. Les iframes invisibles (publicité, suivi) ne sont pas concernées.
4.13 Chaque média temporel et non temporel est-il compatible avec les technologies d’assistance (hors cas particuliers) ? Partielle Vérifier avec un lecteur d'écran (NVDA, VoiceOver) que chaque média et contenu intégré est restitué : nom du lecteur, boutons de contrôle, contenu ou alternative textuelle.
5.1 Chaque tableau de données complexe a-t-il un résumé ? Partielle Pour chaque tableau signalé, confirmer qu'il est vraiment complexe (en-têtes sur plusieurs niveaux, cellules fusionnées) et que son résumé explique comment le lire.
5.4 Pour chaque tableau de données ayant un titre, le titre est-il correctement associé au tableau de données ? Partielle Vérifier que chaque tableau signalé est bien un tableau de données, et non de mise en page, et que son titre décrit réellement son contenu.
5.6 Pour chaque tableau de données, chaque en-tête de colonne et chaque en-tête de ligne sont-ils correctement déclarés ? Partielle Vérifier dans chaque tableau de données que toutes les cellules d'en-tête, en ligne comme en colonne, sont codées en <th> (ou role="columnheader" / "rowheader"), y compris la première colonne.
5.7 Pour chaque tableau de données, la technique appropriée permettant d’associer chaque cellule avec ses en-têtes est-elle utilisée (hors cas particuliers) ? Partielle Pour les tableaux à en-têtes multiples, vérifier que chaque cellule est reliée à tous ses en-têtes, par scope ou par headers/id.
5.8 Chaque tableau de mise en forme ne doit pas utiliser d’éléments propres aux tableaux de données. Cette règle est-elle respectée ? Partielle Vérifier que les tableaux utilisés pour la mise en page sont bien marqués role="presentation" et se lisent dans un ordre logique une fois linéarisés. L'outil ne contrôle que les tableaux déjà marqués comme de mise en forme.
6.1 Chaque lien est-il explicite (hors cas particuliers) ? Partielle Pour chaque lien, vérifier que son intitulé, seul ou avec son contexte (phrase, paragraphe, titre qui précède), permet de comprendre où il mène. L'outil ne repère que les intitulés génériques (« en savoir plus », « cliquez ici »…).
6.2 Dans chaque page web, chaque lien a-t-il un intitulé ? Complète Rien : l’outil tranche seul.
7.1 Chaque script est-il, si nécessaire, compatible avec les technologies d’assistance ? Partielle Tester chaque composant scripté (menu, onglets, accordéon, fenêtre modale) avec un lecteur d'écran : son rôle, son nom et son état (ouvert, sélectionné…) doivent être annoncés. L'outil ne vérifie que la validité des attributs ARIA.
7.3 Chaque script est-il contrôlable par le clavier et par tout dispositif de pointage (hors cas particuliers) ? Partielle Utiliser chaque composant scripté (menu, onglets, carrousel, accordéon, fenêtre modale) uniquement au clavier : il doit être atteignable avec Tab, activable avec Entrée ou Espace, et les flèches doivent fonctionner là où c'est l'usage. L'outil ne vérifie que la présence d'un tabindex.
8.1 Chaque page web est-elle définie par un type de document ? Complète Rien : l’outil tranche seul.
8.2 Pour chaque page web, le code source généré est-il valide selon le type de document spécifié ? Partielle Valider aussi le code généré après exécution des scripts (copier le DOM depuis les outils de développement dans le validateur W3C) : l'outil n'analyse que le HTML source envoyé par le serveur.
8.3 Dans chaque page web, la langue par défaut est-elle présente ? Complète Rien : l’outil tranche seul.
8.5 Chaque page web a-t-elle un titre de page ? Complète Rien : l’outil tranche seul.
8.6 Pour chaque page web ayant un titre de page, ce titre est-il pertinent ? Partielle Vérifier que le titre de chaque page indique son sujet propre (et pas seulement le nom du site), pour pouvoir la retrouver dans l'historique et les onglets. L'outil ne repère que les titres génériques.
8.8 Dans chaque page web, le code de langue de chaque changement de langue est-il valide et pertinent ? Partielle Pour chaque passage écrit dans une autre langue, vérifier que son code de langue correspond bien à cette langue (en pour l'anglais, es pour l'espagnol…). Vérifier aussi que ces passages portent tous un attribut lang : l'outil ne contrôle que la validité des codes déjà déclarés.
9.1 Dans chaque page web, l’information est-elle structurée par l’utilisation appropriée de titres ? Partielle Vérifier que chaque texte qui a l'aspect d'un titre est codé en <h1>…<h6>, que la hiérarchie suit la structure du contenu et que chaque titre est pertinent. L'outil ne détecte que les titres vides.
9.2 Dans chaque page web, la structure du document est-elle cohérente (hors cas particuliers) ? Partielle Vérifier que <header>, <nav>, <main> et <footer> entourent bien les zones correspondantes, et que <nav> n'est utilisé que pour des zones de navigation.
9.3 Dans chaque page web, chaque liste est-elle correctement structurée ? Partielle Vérifier que les contenus présentés visuellement comme des listes (menus, suites à puces, étapes) sont bien codés en <ul>, <ol> ou <dl>. L'outil ne contrôle que la structure des listes existantes.
10.1 Dans le site web, des feuilles de styles sont-elles utilisées pour contrôler la présentation de l’information ? Partielle Vérifier que la mise en forme n'est pas obtenue par des contournements : espaces ou retours à la ligne pour aligner, images de texte, tableaux de mise en page. L'outil ne détecte que les balises et attributs de présentation obsolètes.
10.4 Dans chaque page web, le texte reste-t-il lisible lorsque la taille des caractères est augmentée jusqu’à 200 %, au moins (hors cas particuliers) ? Partielle Agrandir le texte à 200 % (zoom du navigateur, puis sur mobile) et vérifier qu'aucun contenu n'est coupé ou masqué. L'outil ne détecte que le blocage du zoom par la balise meta viewport.
10.5 Dans chaque page web, les déclarations CSS de couleurs de fond d’élément et de police sont-elles correctement utilisées ? Partielle Pour chaque élément signalé, vérifier qu'une couleur de texte est déclarée avec la couleur de fond, y compris via une classe parente ou une feuille de style que l'outil n'a pas pu lire (CORS).
10.6 Dans chaque page web, chaque lien dont la nature n’est pas évidente est-il visible par rapport au texte environnant ? Partielle Repérer les liens au sein des paragraphes : chacun doit être souligné, ou bien contrasté à 3:1 avec le texte ET souligné au survol et au focus. L'outil ne repère que les liens entourés de texte dans un même élément.
10.7 Dans chaque page web, pour chaque élément recevant le focus, la prise de focus est-elle visible ? Partielle Parcourir la page à la touche Tab : chaque élément qui reçoit le focus doit montrer un indicateur clairement visible et contrasté. L'outil simule le focus par script, ce qui peut produire des faux positifs.
10.8 Pour chaque page web, les contenus cachés ont-ils vocation à être ignorés par les technologies d’assistance ? Partielle Vérifier que les contenus cachés aux lecteurs d'écran (aria-hidden, display: none) n'ont pas vocation à être lus, et qu'aucun élément caché ne reste atteignable au clavier.
10.11 Pour chaque page web, les contenus peuvent-ils être présentés sans perte d’information ou de fonctionnalité (défilement horizontal 320px) ? Partielle Zoomer à 400 % (ou réduire la fenêtre à 320 px de large) et parcourir toute la page : le contenu doit rester lisible et chaque fonction utilisable sans défilement horizontal. Les tableaux de données, cartes et schémas en sont dispensés.
10.12 Dans chaque page web, les propriétés d’espacement du texte peuvent-elles être redéfinies par l’utilisateur sans perte de contenu ? Partielle Appliquer les espacements augmentés (par exemple avec le bookmarklet « Text Spacing ») et vérifier qu'aucun texte n'est coupé, masqué ou chevauché, notamment dans les boutons, menus et blocs à hauteur fixe.
10.13 Dans chaque page web, les contenus additionnels apparaissant à la prise de focus ou au survol d’un composant d’interface sont-ils contrôlables ? Partielle Pour chaque infobulle ou menu qui apparaît au survol ou au focus : il doit se fermer avec Échap, rester affiché quand la souris passe dessus et ne pas disparaître tout seul. L'outil ne teste que les 15 premiers déclencheurs repérés.
11.1 Chaque champ de formulaire a-t-il une étiquette ? Complète Rien : l’outil tranche seul.
11.4 Dans chaque formulaire, chaque étiquette de champ et son champ associé sont-ils accolés (hors cas particuliers) ? Partielle Vérifier à l'œil que chaque étiquette est accolée à son champ : au-dessus ou à gauche pour un champ de saisie, à droite pour une case à cocher ou un bouton radio.
11.5 Dans chaque formulaire, les champs de même nature sont-ils regroupés, si nécessaire ? Partielle Repérer les champs qui vont ensemble (adresse, date en plusieurs champs, choix multiples) et vérifier qu'ils sont regroupés dans un <fieldset> ou un élément role="group". L'outil ne contrôle que les boutons radio de même nom.
11.6 Dans chaque formulaire, chaque regroupement de champs de même nature a-t-il une légende ? Partielle Pour chaque groupe de champs, vérifier que la légende énonce la question commune (« Civilité », « Mode de livraison »…) et pas seulement un titre de section.
11.8 Dans chaque formulaire, les items de même nature d’une liste de choix sont-ils regroupés de manière pertinente ? Partielle Pour chaque liste de choix longue ou composée de familles d'options, vérifier que les options sont regroupées par <optgroup> et que le label de chaque groupe est pertinent.
11.13 Dans chaque formulaire, la finalité d’un champ de saisie peut-elle être déduite pour faciliter le remplissage automatique ? Partielle Pour chaque champ qui concerne l'utilisateur (nom, e-mail, téléphone, adresse…), vérifier qu'un attribut autocomplete adapté est présent. L'outil ne contrôle que la validité des valeurs déjà déclarées.
12.7 Dans chaque page web, un lien d’évitement ou d’accès rapide à la zone de contenu principal est-il présent (hors cas particuliers) ? Partielle Vérifier au clavier que le lien d'évitement est parmi les premiers éléments atteints à la touche Tab, qu'il devient visible au focus et qu'il amène réellement au début du contenu principal. Il doit se trouver au même endroit sur toutes les pages.
12.8 Dans chaque page web, l’ordre de tabulation est-il cohérent ? Partielle Parcourir la page à la touche Tab puis Maj+Tab : le focus doit suivre l'ordre logique de lecture, y compris dans les contenus qui apparaissent ou se mettent à jour.
12.9 Dans chaque page web, la navigation ne doit pas contenir de piège au clavier. Cette règle est-elle respectée ? Partielle Parcourir toute la page à la touche Tab puis Maj+Tab, en ouvrant aussi les menus, fenêtres modales et lecteurs intégrés : le focus doit toujours pouvoir en sortir. L'outil ne simule qu'une quarantaine de tabulations sur la page au repos.
12.11 Dans chaque page web, les contenus additionnels apparaissant au survol, à la prise de focus ou à l’activation d’un composant d’interface sont-ils si nécessaire atteignables au clavier ? Partielle Ouvrir au clavier (Entrée, Espace, flèches) chaque menu déroulant, infobulle ou panneau, puis vérifier que les liens et boutons qu'il contient sont atteignables à la touche Tab.
13.1 Pour chaque page web, l’utilisateur a-t-il le contrôle de chaque limite de temps modifiant le contenu (hors cas particuliers) ? Partielle Vérifier qu'aucune page ne se recharge ou ne redirige seule après un délai, et que chaque limite de temps (session, formulaire) peut être arrêtée ou prolongée. L'outil ne détecte que la balise meta refresh.
13.2 Dans chaque page web, l’ouverture d’une nouvelle fenêtre ne doit pas être déclenchée sans action de l’utilisateur. Cette règle est-elle respectée ? Partielle Vérifier qu'aucune nouvelle fenêtre ne s'ouvre sans action de l'utilisateur, au chargement mais aussi au défilement, après un délai ou en quittant la page. L'outil ne surveille que le chargement initial.
13.3 Dans chaque page web, chaque document bureautique en téléchargement possède-t-il, si nécessaire, une version accessible (hors cas particuliers) ? Partielle Ouvrir chaque document proposé en téléchargement (PDF, Word, tableur…) et vérifier qu'il est accessible (balisage, titres, alternatives aux images, ordre de lecture) ou qu'une version accessible est proposée.
13.5 Dans chaque page web, chaque contenu cryptique (art ASCII, émoticône, syntaxe cryptique) a-t-il une alternative ? Partielle Repérer les contenus cryptiques que l'outil ne détecte pas : art ASCII, symboles utilisés comme icônes, abréviations ou notations obscures. Chacun doit avoir une alternative explicite.
13.8 Dans chaque page web, chaque contenu en mouvement ou clignotant est-il contrôlable par l’utilisateur ? Partielle Repérer les contenus qui bougent ou clignotent automatiquement (carrousels, bandeaux défilants, animations) : chacun doit pouvoir être mis en pause ou arrêté. L'outil ne détecte que les balises obsolètes <blink> et <marquee>.
13.12 Dans chaque page web, les fonctionnalités qui impliquent un mouvement de l’appareil ou vers l’appareil peuvent-elles être satisfaites de manière alternative (hors cas particuliers) ? Partielle Si le site réagit aux mouvements de l'appareil (secouer, incliner), vérifier que chaque fonction correspondante est aussi accessible par un bouton, et que la détection de mouvement peut être désactivée.

2. Critères non évalués par l’outil (52)

Ces critères ne peuvent pas être évalués automatiquement de façon fiable : ils demandent un jugement humain ou une connaissance du contexte que le code seul ne donne pas.

Critères RGAA non évalués
Critère Nom du critère (texte officiel RGAA) Pourquoi l’outil ne l’évalue pas
1.3 Pour chaque image porteuse d’information ayant une alternative textuelle, cette alternative est-elle pertinente (hors cas particuliers) ? Ce critère n'est pas traité volontairement : vérifier la pertinence du texte alternatif nécessite de comparer le texte au contenu visuel de l'image. Une IA de vision pourrait être utilisée, mais elle n'est pas retenue afin de conserver un moteur léger et rapide.
1.4 Pour chaque image utilisée comme CAPTCHA ou comme image-test, ayant une alternative textuelle, cette alternative permet-elle d’identifier la nature et la fonction de l’image ? Ce critère n'est pas traité volontairement car il nécessite une analyse visuelle spécifique, alors que ce cas est trop rare pour justifier l'intégration d'une brique d'IA dédiée.
1.5 Pour chaque image utilisée comme CAPTCHA, une solution d’accès alternatif au contenu ou à la fonction du CAPTCHA est-elle présente ? L'outil ne l'évalue pas car vérifier l'équivalence d'une solution alternative à un CAPTCHA nécessite de comprendre le fonctionnement réel du composant, ce que la seule analyse du code ne permet pas de garantir.
1.6 Chaque image porteuse d’information a-t-elle, si nécessaire, une description détaillée ? L'outil ne l'évalue pas car déterminer si une image nécessite une description détaillée dépend de son contenu visuel. Une IA de vision pourrait être utilisée, mais son niveau de confiance n'est pas jugé suffisant pour produire seule un verdict fiable.
1.7 Pour chaque image porteuse d’information ayant une description détaillée, cette description est-elle pertinente ? L'outil ne l'évalue pas car vérifier la pertinence d'une description détaillée nécessite une comparaison visuelle fine avec l'image, impossible à réaliser à partir du DOM seul.
1.8 Chaque image texte porteuse d’information, en l’absence d’un mécanisme de remplacement, doit si possible être remplacée par du texte stylé. Cette règle est-elle respectée (hors cas particuliers) ? L'outil ne l'évalue pas car il nécessite de détecter visuellement le texte présent dans l'image puis de déterminer si son remplacement par du texte HTML/CSS serait pertinent. Ce contrôle est trop lourd pour être réalisé systématiquement.
2.2 Pour chaque cadre ayant un titre de cadre, ce titre de cadre est-il pertinent ? L'outil ne l'évalue pas car juger si le titre résume correctement le contenu du cadre reste un jugement de résumé, comme la plupart des critères de pertinence de ce tableau.
3.1 Dans chaque page web, l’information ne doit pas être donnée uniquement par la couleur. Cette règle est-elle respectée ? L'outil ne l'évalue pas car une information transmise uniquement par une teinte (le rouge pour signaler une erreur, par exemple) ne laisse aucune trace exploitable dans le code - seul un œil humain, ou une capture d'écran analysée visuellement, peut le repérer.
4.1 Chaque média temporel pré-enregistré a-t-il, si nécessaire, une transcription textuelle ou une audiodescription (hors cas particuliers) ? L'outil ne l'évalue pas car savoir si un média a besoin d'une transcription suppose de connaître son rôle (décoratif, alternatif à un autre contenu, CAPTCHA...) - une intention qui ne se lit pas dans le code.
4.2 Pour chaque média temporel pré-enregistré ayant une transcription textuelle ou une audiodescription synchronisée, celles-ci sont-elles pertinentes (hors cas particuliers) ? L'outil ne l'évalue pas car comparer la transcription au contenu audio ou vidéo réel demande d'écouter ou de visionner le média. Une transcription automatique (type reconnaissance vocale) pourrait s'en approcher, mais ce n'est pas encore intégré au moteur.
4.4 Pour chaque média temporel synchronisé pré-enregistré ayant des sous-titres synchronisés, ces sous-titres sont-ils pertinents ? L'outil ne l'évalue pas car comparer les sous-titres à l'audio réel demande d'écouter le média, ou de le passer par une transcription automatique - piste envisageable mais non retenue pour l'instant.
4.5 Chaque média temporel pré-enregistré a-t-il, si nécessaire, une audiodescription synchronisée (hors cas particuliers) ? L'outil ne l'évalue pas car même verrou que 4.1, appliqué à l'audiodescription.
4.6 Pour chaque média temporel pré-enregistré ayant une audiodescription synchronisée, celle-ci est-elle pertinente ? L'outil ne l'évalue pas car ici il ne suffit pas d'écouter : il faut comprendre ce qui se passe à l'écran pour juger si l'audiodescription le restitue fidèlement - une analyse vidéo bien plus complexe qu'une simple transcription.
4.7 Chaque média temporel est-il clairement identifiable (hors cas particuliers) ? L'outil ne l'évalue pas car juger si le texte adjacent identifie clairement le type de média est une question de clarté rédactionnelle qu'un simple contrôle structurel ne tranche pas.
4.8 Chaque média non temporel a-t-il, si nécessaire, une alternative (hors cas particuliers) ? L'outil ne l'évalue pas car la nécessité d'une alternative à un contenu non temporel (plug-in, applet...) dépend de son usage réel sur la page, pas de sa présence seule.
4.9 Pour chaque média non temporel ayant une alternative, cette alternative est-elle pertinente ? L'outil ne l'évalue pas car comparer l'alternative au contenu et aux fonctionnalités réels du média est un jugement d'équivalence qui dépasse la simple vérification de présence.
5.2 Pour chaque tableau de données complexe ayant un résumé, celui-ci est-il pertinent ? L'outil ne l'évalue pas car comparer le résumé à la structure et au contenu réels du tableau demande une lecture éditoriale que l'outil peut détecter comme présente, mais pas juger comme juste.
5.3 Pour chaque tableau de mise en forme, le contenu linéarisé reste-t-il compréhensible ? L'outil ne l'évalue pas car une fois le tableau linéarisé, seule une lecture de sens permet de dire si le texte reste cohérent - aucun indicateur structurel ne peut s'y substituer.
5.5 Pour chaque tableau de données ayant un titre, celui-ci est-il pertinent ? L'outil ne l'évalue pas car comparer le titre au contenu réel du tableau est, encore une fois, un jugement de résumé.
7.2 Pour chaque script ayant une alternative, cette alternative est-elle pertinente ? L'outil ne l'évalue pas car comparer l'alternative à ce que fait réellement le script demande de comprendre sa fonction, pas juste sa présence.
7.4 Pour chaque script qui initie un changement de contexte, l’utilisateur est-il averti ou en a-t-il le contrôle ? L'outil ne l'évalue pas car juger si l'utilisateur est réellement prévenu avant un changement de contexte suppose d'interpréter le sens du texte affiché, pas seulement sa présence.
7.5 Dans chaque page web, les messages de statut sont-ils correctement restitués par les technologies d’assistance ? L'outil ne l'évalue pas car rien ne signale systématiquement qu'un texte qui apparaît est un message de statut plutôt qu'un contenu ordinaire - repérer ce genre de changement dynamique demande un contexte que le moteur n'a pas.
8.4 Pour chaque page web ayant une langue par défaut, le code de langue est-il pertinent ? L'outil ne l'évalue pas car une détection automatique de langue reste possible, mais son taux d'erreur sur des textes courts ou multilingues est trop élevé pour servir de verdict fiable.
8.7 Dans chaque page web, chaque changement de langue est-il indiqué dans le code source (hors cas particuliers) ? L'outil ne l'évalue pas car repérer un passage en langue étrangère non balisé au fil du texte hérite des mêmes limites qu'en 8.4 : la détection de langue automatique reste trop imprécise pour trancher seule.
8.9 Dans chaque page web, les balises ne doivent pas être utilisées uniquement à des fins de présentation. Cette règle est-elle respectée ? L'outil ne l'évalue pas car distinguer un usage sémantique légitime d'une balise d'un détournement à but purement visuel dépend de l'intention du développeur, pas du rendu final.
8.10 Dans chaque page web, les changements du sens de lecture sont-ils signalés ? L'outil ne l'évalue pas car au-delà de la simple présence de caractères d'une écriture s'écrivant de droite à gauche, juger si l'attribut dir était vraiment nécessaire demande de lire le contexte du passage concerné.
9.4 Dans chaque page web, chaque citation est-elle correctement indiquée ? L'outil ne l'évalue pas car distinguer une vraie citation d'un simple usage de guillemets pour l'emphase est une nuance de lecture, difficile à automatiser de façon fiable.
10.2 Dans chaque page web, le contenu visible porteur d’information reste-t-il présent lorsque les feuilles de styles sont désactivées ? L'outil ne l'évalue pas car comparer le contenu avec et sans CSS est faisable techniquement, mais il faut ensuite juger si ce qui disparaît était réellement porteur d'information ou simplement décoratif - une nuance qui échappe à la comparaison brute.
10.3 Dans chaque page web, l’information reste-t-elle compréhensible lorsque les feuilles de styles sont désactivées ? L'outil ne l'évalue pas car juger si l'ordre de lecture résultant reste compréhensible sans CSS relève de la lecture de sens plutôt que d'une mesure.
10.9 Dans chaque page web, l’information ne doit pas être donnée uniquement par la forme, taille ou position. Cette règle est-elle respectée ? L'outil ne l'évalue pas car repérer qu'une information est donnée uniquement par une forme, une taille ou une position visuelle demande de regarder la page comme un utilisateur, pas d'inspecter son code.
10.10 Dans chaque page web, l’information ne doit pas être donnée par la forme, taille ou position uniquement. Cette règle est-elle implémentée de façon pertinente ? L'outil ne l'évalue pas car ce test va plus loin que le précédent : il exige d'évaluer la pertinence de la solution retenue, un jugement encore plus fin qui hérite du même verrou que 10.9.
10.14 Dans chaque page web, les contenus additionnels apparaissant via les styles CSS uniquement peuvent-ils être rendus visibles au clavier et par tout dispositif de pointage ? L'outil ne l'évalue pas car simuler les états hover et focus au clavier est faisable, mais la variante « accès via un autre composant » de la page n'a aucun signal structurel permettant d'identifier lequel - ce composant peut être n'importe où.
11.2 Chaque étiquette associée à un champ de formulaire est-elle pertinente (hors cas particuliers) ? L'outil ne l'évalue pas car comparer l'étiquette du champ à sa fonction réellement attendue est un jugement sémantique de plus dans cette famille de critères de pertinence.
11.3 Dans chaque formulaire, chaque étiquette associée à un champ de formulaire ayant la même fonction et répétée plusieurs fois dans une même page ou dans un ensemble de pages est-elle cohérente ? L'outil ne l'évalue pas car ce contrôle suppose d'explorer automatiquement plusieurs pages du site pour comparer les étiquettes des champs de même fonction - l'outil analyse chaque page indépendamment, sans cette vision d'ensemble.
11.7 Dans chaque formulaire, chaque légende associée à un regroupement de champs de même nature est-elle pertinente ? L'outil ne l'évalue pas car comparer la légende au contenu réel du regroupement de champs est un jugement de résumé.
11.9 Dans chaque formulaire, l’intitulé de chaque bouton est-il pertinent (hors cas particuliers) ? L'outil ne l'évalue pas car comparer l'intitulé du bouton à l'action qu'il déclenche réellement est un jugement fonctionnel.
11.10 Dans chaque formulaire, le contrôle de saisie est-il utilisé de manière pertinente (hors cas particuliers) ? L'outil ne l'évalue pas car juger si le contrôle de saisie choisi est réellement adapté au contexte du champ demande de comprendre à quoi sert ce champ, au-delà de son type technique.
11.11 Dans chaque formulaire, le contrôle de saisie est-il accompagné, si nécessaire, de suggestions facilitant la correction des erreurs de saisie ? L'outil ne l'évalue pas car juger si un message d'erreur aide réellement l'utilisateur à corriger sa saisie demande d'en évaluer le contenu, pas seulement sa présence.
11.12 Pour chaque formulaire qui modifie ou supprime des données, ou qui transmet des réponses à un test ou à un examen, ou dont la validation a des conséquences financières ou juridiques, les données saisies peuvent-elles être modifiées, mises à jour ou récupérées par l’utilisateur ? L'outil ne l'évalue pas car déterminer si un formulaire a des conséquences financières ou juridiques relève de la nature de l'activité de l'entreprise, une information que le code ne porte pas.
12.1 Chaque ensemble de pages dispose-t-il de deux systèmes de navigation différents, au moins (hors cas particuliers) ? L'outil ne l'évalue pas car recenser tous les systèmes de navigation du site suppose de l'explorer sur plusieurs pages - l'outil audite une page à la fois, sans cette vision d'ensemble du site.
12.2 Dans chaque ensemble de pages, le menu et les barres de navigation sont-ils toujours à la même place (hors cas particuliers) ? L'outil ne l'évalue pas car comparer la position du menu suppose de parcourir plusieurs gabarits du site - même limite que 12.1, faute d'exploration multi-pages.
12.3 La page « plan du site » est-elle pertinente ? L'outil ne l'évalue pas car juger si le contenu de la page « plan du site » couvre correctement le site est un jugement éditorial sur son contenu.
12.4 Dans chaque ensemble de pages, la page « plan du site » est-elle accessible à partir d’une fonctionnalité identique ? L'outil ne l'évalue pas car comparer le mécanisme d'accès au plan du site entre plusieurs pages suppose la même exploration multi-pages absente pour l'instant.
12.5 Dans chaque ensemble de pages, le moteur de recherche est-il atteignable de manière identique ? L'outil ne l'évalue pas car même verrou que 12.4, appliqué au moteur de recherche plutôt qu'au plan du site.
12.6 Les zones de regroupement de contenus présentes dans plusieurs pages web (zones d’en-tête, de navigation principale, de contenu principal, de pied de page et de moteur de recherche) peuvent-elles être atteintes ou évitées ? L'outil ne l'évalue pas car vérifier dynamiquement le transfert de focus des liens d'évitement et la cohérence des zones sur plusieurs pages combine interaction et exploration multi-pages, deux capacités encore absentes ici.
12.10 Dans chaque page web, les raccourcis clavier n’utilisant qu’une seule touche (lettre minuscule ou majuscule, ponctuation, chiffre ou symbole) sont-ils contrôlables par l’utilisateur ? L'outil ne l'évalue pas car recenser tous les raccourcis à une touche posés par le site, puis vérifier qu'ils sont désactivables, demande d'explorer l'ensemble du code applicatif plutôt qu'une simple page rendue.
13.4 Pour chaque document bureautique ayant une version accessible, cette version offre-t-elle la même information ? L'outil ne l'évalue pas car comparer le contenu de deux documents externes est une lecture d'équivalence de contenu, comparable à 4.9 ou 4.2 mais appliquée à des fichiers plutôt qu'à des médias.
13.6 Dans chaque page web, pour chaque contenu cryptique (art ASCII, émoticône, syntaxe cryptique) ayant une alternative, cette alternative est-elle pertinente ? L'outil ne l'évalue pas car comparer l'alternative au contenu cryptique qu'elle est censée expliquer suppose déjà d'avoir identifié ce contenu de façon fiable, ce qui n'est possible que sur un sous-ensemble étroit (émoticônes standards).
13.7 Dans chaque page web, les changements brusques de luminosité ou les effets de flash sont-ils correctement utilisés ? L'outil ne l'évalue pas car détecter les flashs suppose d'analyser le rendu de la page image par image dans le temps, comme le ferait un outil de capture vidéo - un traitement bien plus lourd qu'une lecture du code source.
13.9 Dans chaque page web, le contenu proposé est-il consultable quelle que soit l’orientation de l’écran (portrait ou paysage) (hors cas particuliers) ? L'outil ne l'évalue pas car confirmer qu'un changement d'orientation entraîne une vraie perte de contenu ou de fonctionnalité va au-delà d'un simple débordement visuel détectable : il faut comparer ce qui reste réellement utilisable dans les deux cas.
13.10 Dans chaque page web, les fonctionnalités utilisables ou disponibles au moyen d’un geste complexe peuvent-elles être également disponibles au moyen d’un geste simple (hors cas particuliers) ? L'outil ne l'évalue pas car il faudrait déclencher le geste complexe et son équivalent simple, puis comparer les états résultants de l'application - une manipulation spécifique à chaque interface, difficile à généraliser.
13.11 Dans chaque page web, les actions déclenchées au moyen d’un dispositif de pointage sur un point unique de l’écran peuvent-elles faire l’objet d’une annulation (hors cas particuliers) ? L'outil ne l'évalue pas car au-delà des cas les plus simples, un mécanisme d'annulation peut être codé n'importe où ailleurs sur la page, hors de portée d'une vérification systématique.

Un projet, un doute, un audit à planifier ?

On vous aide à définir le bon périmètre avant de parler budget.

Nous écrire