Le catalogue des règles du scanner d’accessibilité

Le catalogue recense chaque règle que connaît le scanner de Validiscan : les règles d’axe-core et les contrôles propres à Validiscan, avec les critères WCAG que chacune teste, son impact, son niveau de correction et si elle est exécutée lors d’un scan.

Ce que contient le catalogue

entrées dans le catalogue
128
règles d’axe-core
105
contrôles que Validiscan a écrits
23
exécutées lors d’un scan
102

Le catalogue compte 128 entrées : 105 règles d’axe-core, le moteur de règles open source de Deque Systems, et 23 contrôles que Validiscan a écrits pour ce qu’axe-core ne teste pas, comme les pièges au clavier, l’ordre de tabulation, la taille des cibles et les bandeaux cookies. Sur l’ensemble des entrées, 102 sont exécutées lors d’un scan.

Une règle exécutée peut malgré tout passer à côté d’un échec, et de nombreux critères de succès des WCAG ne peuvent pas du tout être tranchés par une règle. La matrice des critères montre, pour chaque critère de succès, quelles règles le testent, ainsi que la vérification manuelle correspondante lorsque la liste de vérifications manuelles en prévoit une.

Comment lire une entrée

Ce que dit le statut

  • exécutée : le scanner exécute la règle sur les pages qu’il scanne.
  • remplacée : un des contrôles propres à Validiscan couvre ce que teste la règle d’axe-core. Le scanner désactive donc la règle d’axe-core, et un même élément ne donne jamais deux constats. 11 règles sont remplacées.
  • non exécutée : axe-core marque la règle comme expérimentale ou obsolète, ou la règle ne teste que le niveau AAA, qui ne fait pas partie de l’objectif WCAG 2.2 niveau AA. 15 règles ne sont pas exécutées.

Impact et niveau de correction

L’impact est la gravité par défaut de la règle : critique, grave, modéré ou mineur. Le niveau de correction indique comment un échec de la règle est corrigé sur Shopify, Shopware, WooCommerce et Magento, dans les termes mêmes de l’application :

AUTO
Une recette déterministe modifie le code source du thème.
ASSISTED
Une modification rédigée par l’IA, que l’opérateur relit avant la livraison.
MANUAL
Conseils uniquement : une décision de contenu ou de design que quelqu’un doit prendre.

Dans ces termes, l’opérateur désigne Validiscan, qui relit chaque modification avant sa livraison. La rédaction par IA est désactivée par défaut et n’est activée pour une boutique qu’une fois que le commerçant a donné son accord.

Les entrées

Une règle exécutée, qui est l’un des contrôles propres à Validiscan ou qui est corrigée par une recette du moteur de correction, a sa propre page lorsqu’il y a assez à en dire. Son identifiant dans le catalogue renvoie à cette page.

Aller à une règle : les 128 identifiants de règle
Le catalogue des règles : 128 entrées
RègleCe qu’elle vérifieWCAGImpactNiveau de correctionStatut
vs-accessible-auth Contrôle Validiscan La connexion ne doit pas dépendre d’un test cognitif sans alternative 3.3.8 Grave ASSISTED exécutée
vs-consistent-help Contrôle Validiscan Les options d’aide et de contact doivent apparaître au même endroit sur chaque page 3.2.6 Modéré ASSISTED exécutée
vs-documents Contrôle Validiscan Les documents liés nécessitent une vérification manuelle de l’accessibilité aucun Mineur MANUAL exécutée
vs-dragging Contrôle Validiscan Les éléments à faire glisser doivent offrir une alternative à pointeur unique 2.5.7 Grave MANUAL exécutée
vs-focus-obscured Contrôle Validiscan L’élément qui a le focus ne doit pas être masqué par un en-tête fixe ou un élément superposé 2.4.11 Grave ASSISTED exécutée
vs-focus-order Contrôle Validiscan L’ordre de tabulation doit suivre l’ordre visuel 2.4.3 Modéré MANUAL exécutée
vs-focus-visible Contrôle Validiscan Le focus clavier doit être visible 2.4.7 Grave AUTO exécutée
vs-forms-ecommerce Contrôle Validiscan Les champs de commande, d’adresse et de connexion doivent avoir des étiquettes, l’autocomplétion et des messages d’erreur associés 1.3.5, 3.3.1, 3.3.2 Critique AUTO exécutée
vs-headings-landmarks Contrôle Validiscan Les pages doivent avoir une structure de titres, des repères et un lien d’évitement 1.3.1, 2.4.1 Modéré AUTO exécutée
vs-hover-focus-contrast Contrôle Validiscan Les boutons et les liens doivent garder un contraste suffisant au survol et au focus 1.4.3, 1.4.11 Grave ASSISTED exécutée
vs-keyboard-trap Contrôle Validiscan Le focus clavier ne doit jamais rester piégé 2.1.2 Critique MANUAL exécutée
vs-lang Contrôle Validiscan La langue de la page doit être déclarée et correspondre au contenu 3.1.1 Modéré AUTO exécutée
vs-live-updates Contrôle Validiscan Les mises à jour du prix, de la variante, du stock et du panier doivent être annoncées 4.1.3 Grave AUTO exécutée
vs-media Contrôle Validiscan Les vidéos ont besoin de sous-titres, l’audio d’une transcription, et rien ne doit démarrer automatiquement avec le son 1.2.1, 1.2.2, 1.4.2 Modéré MANUAL exécutée
vs-motion Contrôle Validiscan Les animations devraient respecter le réglage de réduction des animations bonne pratique Mineur AUTO exécutée
vs-product-images Contrôle Validiscan Les images produit doivent avoir un texte alternatif pertinent 1.1.1 Grave ASSISTED exécutée
vs-redundant-entry Contrôle Validiscan Les clients ne doivent pas avoir à ressaisir des informations déjà fournies 3.3.7 Modéré ASSISTED exécutée
vs-reflow Contrôle Validiscan Le contenu doit s’adapter à une largeur de 320 pixels CSS sans défilement horizontal 1.4.10 Grave ASSISTED exécutée
vs-target-size Contrôle Validiscan Les cibles interactives doivent mesurer au moins 24 × 24 pixels CSS 2.5.8 Grave AUTO exécutée
vs-text-spacing Contrôle Validiscan Le texte doit rester lisible avec un espacement du texte augmenté 1.4.12 Modéré ASSISTED exécutée
accesskeys axe-core 4.13.0 La valeur de l’attribut accesskey devrait être unique bonne pratique Grave ASSISTED exécutée
area-alt axe-core 4.13.0 Les éléments <area> actifs doivent avoir une alternative textuelle 2.4.4, 4.1.2 Critique ASSISTED exécutée
aria-allowed-attr axe-core 4.13.0 Les éléments ne doivent utiliser que des attributs ARIA pris en charge 4.1.2 Critique ASSISTED exécutée
aria-allowed-role axe-core 4.13.0 Le rôle ARIA devrait être adapté à l’élément bonne pratique Mineur ASSISTED exécutée
aria-braille-equivalent axe-core 4.13.0 Les attributs aria-braille doivent avoir un équivalent hors braille 4.1.2 Grave ASSISTED exécutée
aria-command-name axe-core 4.13.0 Les boutons, liens et éléments de menu ARIA doivent avoir un nom accessible 4.1.2 Grave ASSISTED exécutée
aria-conditional-attr axe-core 4.13.0 Les attributs ARIA doivent être utilisés comme le prévoit le rôle de l’élément 4.1.2 Grave ASSISTED exécutée
aria-deprecated-role axe-core 4.13.0 Les rôles ARIA obsolètes ne doivent pas être utilisés 4.1.2 Mineur ASSISTED exécutée
aria-dialog-name axe-core 4.13.0 Les éléments ARIA dialog et alertdialog devraient avoir un nom accessible bonne pratique Grave ASSISTED exécutée
aria-hidden-body axe-core 4.13.0 L’attribut aria-hidden="true" ne doit pas figurer sur l’élément body du document 1.3.1, 4.1.2 Critique ASSISTED exécutée
aria-hidden-focus axe-core 4.13.0 Un élément masqué par ARIA ne doit pas être focalisable ni contenir d’éléments focalisables 4.1.2 Grave ASSISTED exécutée
aria-input-field-name axe-core 4.13.0 Les champs de saisie ARIA doivent avoir un nom accessible 4.1.2 Grave ASSISTED exécutée
aria-meter-name axe-core 4.13.0 Les éléments ARIA meter doivent avoir un nom accessible 1.1.1 Grave ASSISTED exécutée
aria-progressbar-name axe-core 4.13.0 Les éléments ARIA progressbar doivent avoir un nom accessible 1.1.1 Grave ASSISTED exécutée
aria-prohibited-attr axe-core 4.13.0 Les éléments ne doivent utiliser que des attributs ARIA autorisés 4.1.2 Grave ASSISTED exécutée
aria-required-attr axe-core 4.13.0 Les attributs ARIA requis doivent être présents 4.1.2 Critique ASSISTED exécutée
aria-required-children axe-core 4.13.0 Certains rôles ARIA doivent contenir des enfants précis 1.3.1 Critique ASSISTED exécutée
aria-required-parent axe-core 4.13.0 Certains rôles ARIA doivent être contenus dans des parents précis 1.3.1 Critique ASSISTED exécutée
aria-roledescription axe-core 4.13.0 L’attribut aria-roledescription doit être placé sur des éléments dotés d’un rôle sémantique 4.1.2 Grave ASSISTED non exécutée : obsolète dans axe-core
aria-roles axe-core 4.13.0 Les rôles ARIA utilisés doivent avoir des valeurs valides 4.1.2 Critique ASSISTED exécutée
aria-tab-name axe-core 4.13.0 Les onglets ARIA doivent avoir un nom accessible 4.1.2 Grave ASSISTED exécutée
aria-text axe-core 4.13.0 Un élément role=text ne devrait pas avoir de descendants focalisables bonne pratique Grave ASSISTED exécutée
aria-toggle-field-name axe-core 4.13.0 Les champs à bascule ARIA doivent avoir un nom accessible 4.1.2 Grave ASSISTED exécutée
aria-tooltip-name axe-core 4.13.0 Les infobulles ARIA doivent avoir un nom accessible 4.1.2 Grave ASSISTED exécutée
aria-treeitem-name axe-core 4.13.0 Les éléments ARIA treeitem devraient avoir un nom accessible bonne pratique Grave ASSISTED exécutée
aria-valid-attr axe-core 4.13.0 Les noms des attributs ARIA doivent être valides 4.1.2 Critique ASSISTED exécutée
aria-valid-attr-value axe-core 4.13.0 Les valeurs des attributs ARIA doivent être valides 4.1.2 Critique ASSISTED exécutée
audio-caption axe-core 4.13.0 Les éléments <audio> doivent avoir une piste de sous-titres 1.2.1 Critique MANUAL non exécutée : obsolète dans axe-core
autocomplete-valid axe-core 4.13.0 L’attribut autocomplete doit être utilisé correctement 1.3.5 Grave AUTO remplacée par vs-forms-ecommerce
avoid-inline-spacing axe-core 4.13.0 L’espacement du texte défini en ligne doit pouvoir être ajusté par des feuilles de style personnalisées 1.4.12 Grave ASSISTED exécutée
button-name axe-core 4.13.0 Les boutons doivent avoir un texte perceptible 4.1.2 Critique ASSISTED exécutée
bypass axe-core 4.13.0 La page doit permettre de contourner les blocs répétés 2.4.1 Grave AUTO remplacée par vs-headings-landmarks
color-contrast axe-core 4.13.0 Les éléments doivent respecter les seuils minimaux de rapport de contraste des couleurs 1.4.3 Grave ASSISTED exécutée
color-contrast-enhanced axe-core 4.13.0 Les éléments doivent respecter les seuils renforcés de rapport de contraste des couleurs 1.4.6 Grave ASSISTED non exécutée : ne teste que le niveau AAA
css-orientation-lock axe-core 4.13.0 Les requêtes média CSS ne doivent pas verrouiller l’orientation de l’affichage 1.3.4 Grave ASSISTED non exécutée : expérimentale dans axe-core
definition-list axe-core 4.13.0 Les éléments <dl> ne doivent contenir directement que des groupes <dt> et <dd> correctement ordonnés, ou des éléments <script>, <template> ou <div> 1.3.1 Grave ASSISTED exécutée
dlitem axe-core 4.13.0 Les éléments <dt> et <dd> doivent être contenus dans un <dl> 1.3.1 Grave ASSISTED exécutée
document-title axe-core 4.13.0 Les documents doivent avoir un élément <title> pour faciliter la navigation 2.4.2 Grave AUTO exécutée
duplicate-id axe-core 4.13.0 La valeur de l’attribut id doit être unique 4.1.1 Mineur ASSISTED non exécutée : obsolète dans axe-core
duplicate-id-active axe-core 4.13.0 Les id des éléments actifs doivent être uniques 4.1.1 Grave ASSISTED non exécutée : obsolète dans axe-core
duplicate-id-aria axe-core 4.13.0 Les id utilisés dans ARIA et dans les étiquettes doivent être uniques 4.1.2 Critique ASSISTED exécutée
empty-heading axe-core 4.13.0 Les titres ne devraient pas être vides bonne pratique Mineur ASSISTED exécutée
empty-table-header axe-core 4.13.0 Le texte des en-têtes de tableau ne devrait pas être vide bonne pratique Mineur ASSISTED exécutée
focus-order-semantics axe-core 4.13.0 Les éléments de l’ordre de tabulation devraient avoir un rôle approprié bonne pratique Mineur ASSISTED non exécutée : expérimentale dans axe-core
form-field-multiple-labels axe-core 4.13.0 Un champ de formulaire ne doit pas avoir plusieurs éléments label 3.3.2 Modéré ASSISTED exécutée
frame-focusable-content axe-core 4.13.0 Les cadres au contenu focalisable ne doivent pas avoir tabindex=-1 2.1.1 Grave ASSISTED exécutée
frame-tested axe-core 4.13.0 Les cadres devraient être testés avec axe-core bonne pratique Critique MANUAL exécutée
frame-title axe-core 4.13.0 Les cadres doivent avoir un nom accessible 4.1.2 Grave AUTO exécutée
frame-title-unique axe-core 4.13.0 Les cadres doivent avoir un attribut title unique 4.1.2 Grave ASSISTED exécutée
heading-order axe-core 4.13.0 Les niveaux de titre ne devraient augmenter que d’un cran à la fois bonne pratique Modéré AUTO remplacée par vs-headings-landmarks
hidden-content axe-core 4.13.0 Le contenu masqué de la page devrait être analysé bonne pratique Mineur MANUAL non exécutée : expérimentale dans axe-core
html-has-lang axe-core 4.13.0 L’élément <html> doit avoir un attribut lang 3.1.1 Grave AUTO remplacée par vs-lang
html-lang-valid axe-core 4.13.0 L’élément <html> doit avoir une valeur valide pour l’attribut lang 3.1.1 Grave AUTO remplacée par vs-lang
html-xml-lang-mismatch axe-core 4.13.0 Les éléments HTML dotés de lang et de xml:lang doivent avoir la même langue de base 3.1.1 Modéré ASSISTED exécutée
image-alt axe-core 4.13.0 Les images doivent avoir une alternative textuelle 1.1.1 Critique ASSISTED exécutée
image-redundant-alt axe-core 4.13.0 L’alternative textuelle d’une image ne devrait pas être répétée dans le texte bonne pratique Mineur ASSISTED exécutée
input-button-name axe-core 4.13.0 Les boutons de type input doivent avoir un texte perceptible 4.1.2 Critique ASSISTED exécutée
input-image-alt axe-core 4.13.0 Les boutons image doivent avoir une alternative textuelle 1.1.1, 4.1.2 Critique ASSISTED exécutée
label axe-core 4.13.0 Les éléments de formulaire doivent avoir une étiquette 4.1.2 Critique AUTO remplacée par vs-forms-ecommerce
label-content-name-mismatch axe-core 4.13.0 Le texte visible d’un élément doit faire partie de son nom accessible 2.5.3 Grave ASSISTED non exécutée : expérimentale dans axe-core
label-title-only axe-core 4.13.0 Les éléments de formulaire devraient avoir une étiquette visible bonne pratique Grave ASSISTED exécutée
landmark-banner-is-top-level axe-core 4.13.0 Le repère banner ne devrait pas être contenu dans un autre repère bonne pratique Modéré ASSISTED exécutée
landmark-complementary-is-top-level axe-core 4.13.0 L’élément aside ne devrait pas être contenu dans un autre repère bonne pratique Modéré ASSISTED non exécutée : obsolète dans axe-core
landmark-contentinfo-is-top-level axe-core 4.13.0 Le repère contentinfo ne devrait pas être contenu dans un autre repère bonne pratique Modéré ASSISTED exécutée
landmark-main-is-top-level axe-core 4.13.0 Le repère main ne devrait pas être contenu dans un autre repère bonne pratique Modéré ASSISTED exécutée
landmark-no-duplicate-banner axe-core 4.13.0 Le document ne devrait pas avoir plus d’un repère banner bonne pratique Modéré ASSISTED exécutée
landmark-no-duplicate-contentinfo axe-core 4.13.0 Le document ne devrait pas avoir plus d’un repère contentinfo bonne pratique Modéré ASSISTED exécutée
landmark-no-duplicate-main axe-core 4.13.0 Le document ne devrait pas avoir plus d’un repère main bonne pratique Modéré ASSISTED exécutée
landmark-one-main axe-core 4.13.0 Le document devrait avoir un repère main bonne pratique Modéré AUTO remplacée par vs-headings-landmarks
landmark-unique axe-core 4.13.0 Les repères devraient avoir un rôle unique ou une combinaison unique de rôle, d’étiquette et de titre (c’est-à-dire de nom accessible) bonne pratique Modéré ASSISTED exécutée
list axe-core 4.13.0 Les éléments <ul> et <ol> ne doivent contenir directement que des éléments <li>, <script> ou <template> 1.3.1 Grave ASSISTED exécutée
listitem axe-core 4.13.0 Les éléments <li> doivent être contenus dans un <ul> ou un <ol> 1.3.1 Grave ASSISTED exécutée
marquee axe-core 4.13.0 Les éléments <marquee> sont obsolètes et ne doivent pas être utilisés 2.2.2 Grave AUTO exécutée
meta-refresh axe-core 4.13.0 L’actualisation différée de moins de 20 heures ne doit pas être utilisée 2.2.1 Critique MANUAL exécutée
meta-refresh-no-exceptions axe-core 4.13.0 L’actualisation différée ne doit pas être utilisée 2.2.4, 3.2.5 Mineur MANUAL non exécutée : ne teste que le niveau AAA
meta-viewport axe-core 4.13.0 Le zoom et l’agrandissement ne doivent pas être désactivés 1.4.4 Modéré AUTO exécutée
meta-viewport-large axe-core 4.13.0 Les utilisateurs devraient pouvoir zoomer et agrandir le texte jusqu’à 500 % bonne pratique Mineur AUTO exécutée
nested-interactive axe-core 4.13.0 Les éléments interactifs ne doivent pas être imbriqués 4.1.2 Grave MANUAL exécutée
no-autoplay-audio axe-core 4.13.0 Les éléments <video> ou <audio> ne doivent pas être lus automatiquement 1.4.2 Modéré AUTO remplacée par vs-media
object-alt axe-core 4.13.0 Les éléments <object> doivent avoir une alternative textuelle 1.1.1 Grave ASSISTED exécutée
p-as-heading axe-core 4.13.0 Les éléments <p> mis en forme ne doivent pas servir de titres 1.3.1 Grave ASSISTED non exécutée : expérimentale dans axe-core
page-has-heading-one axe-core 4.13.0 La page devrait contenir un titre de niveau 1 bonne pratique Modéré AUTO remplacée par vs-headings-landmarks
presentation-role-conflict axe-core 4.13.0 Les éléments au rôle de présentation devraient être ignorés de façon cohérente bonne pratique Mineur MANUAL exécutée
region axe-core 4.13.0 Tout le contenu de la page devrait se trouver dans des repères bonne pratique Modéré AUTO exécutée
role-img-alt axe-core 4.13.0 Les éléments [role="img"] et [role="image"] doivent avoir une alternative textuelle 1.1.1 Grave ASSISTED exécutée
scope-attr-valid axe-core 4.13.0 L’attribut scope devrait être utilisé correctement bonne pratique Modéré ASSISTED exécutée
scrollable-region-focusable axe-core 4.13.0 Les zones défilantes doivent être accessibles au clavier 2.1.1, 2.1.3 Grave MANUAL exécutée
select-name axe-core 4.13.0 Les éléments select doivent avoir un nom accessible 4.1.2 Critique ASSISTED exécutée
server-side-image-map axe-core 4.13.0 Les images réactives côté serveur ne doivent pas être utilisées 2.1.1 Mineur MANUAL exécutée
summary-name axe-core 4.13.0 Les éléments summary doivent avoir un texte perceptible 4.1.2 Grave ASSISTED exécutée
svg-img-alt axe-core 4.13.0 Les éléments <svg> ayant un rôle img ou image doivent avoir une alternative textuelle 1.1.1 Grave ASSISTED exécutée
tabindex axe-core 4.13.0 Les éléments ne devraient pas avoir un tabindex supérieur à zéro bonne pratique Grave AUTO exécutée
table-duplicate-name axe-core 4.13.0 Les tableaux ne devraient pas avoir un résumé et une légende identiques bonne pratique Mineur ASSISTED exécutée
table-fake-caption axe-core 4.13.0 Les cellules de données ou d’en-tête ne doivent pas servir de légende à un tableau de données. 1.3.1 Grave ASSISTED non exécutée : expérimentale dans axe-core
target-size axe-core 4.13.0 Toutes les cibles tactiles doivent mesurer 24 px ou disposer d’un espace suffisant 2.5.8 Grave ASSISTED remplacée par vs-target-size
td-has-header axe-core 4.13.0 Les éléments <td> non vides d’un grand <table> doivent être associés à un en-tête de tableau 1.3.1 Critique ASSISTED non exécutée : expérimentale dans axe-core
td-headers-attr axe-core 4.13.0 Les attributs headers des cellules doivent faire référence à d’autres éléments <th> du même tableau 1.3.1 Grave ASSISTED exécutée
th-has-data-cells axe-core 4.13.0 Les en-têtes d’un tableau de données doivent se rapporter à des cellules de données 1.3.1 Grave ASSISTED exécutée
valid-lang axe-core 4.13.0 L’attribut lang doit avoir une valeur valide 3.1.2 Grave ASSISTED exécutée
video-caption axe-core 4.13.0 Les éléments <video> doivent avoir des sous-titres 1.2.2 Critique MANUAL remplacée par vs-media

Commencez par une vérification gratuite de votre boutique.

Envoyez l’adresse de votre boutique. Validiscan la scanne et vous envoie chaque échec que le scan peut prouver, avec sa page et son code.

Demander une vérification gratuite

Ou écrivez à info@validiscan.com.

Ce que couvre la vérification gratuite, et ce qu’elle laisse de côté
Vous envoyez
l’adresse de votre boutique
Pages scannées
jusqu’à 15
Vous recevez
chaque échec que le scan peut prouver, avec la page et le code
Sur votre boutique
pages publiques uniquement ; aucune connexion, aucun achat, aucun formulaire envoyé
Ce qu’elle n’est pas
un audit complet

Écrire à Validiscan

Pour une vérification gratuite, indiquez l’adresse de votre boutique et sa plateforme.

Validiscan utilise ce que vous envoyez pour vous répondre. Politique de confidentialité