| 1 | {
|
|---|
| 2 | "lang": "fr",
|
|---|
| 3 | "rules": {
|
|---|
| 4 | "accesskeys": {
|
|---|
| 5 | "description": "Vérifier que chaque valeur de l’attribut accesskey est unique",
|
|---|
| 6 | "help": "La valeur de l’attribut accesskey doit être unique"
|
|---|
| 7 | },
|
|---|
| 8 | "area-alt": {
|
|---|
| 9 | "description": "Vérifier que les éléments <area> d’une image réactive ont une alternative textuelle",
|
|---|
| 10 | "help": "Les éléments <area> actifs doivent avoir une alternative textuelle"
|
|---|
| 11 | },
|
|---|
| 12 | "aria-allowed-attr": {
|
|---|
| 13 | "description": "Vérifier que les attributs ARIA sont autorisés pour le rôle d’un élément",
|
|---|
| 14 | "help": "Les éléments doivent seulement utiliser les attributs ARIA autorisés"
|
|---|
| 15 | },
|
|---|
| 16 | "aria-allowed-role": {
|
|---|
| 17 | "description": "Vérifier que l’attribut role a une valeur valide pour cet élément",
|
|---|
| 18 | "help": "Le rôle ARIA doit être valide pour cet élément"
|
|---|
| 19 | },
|
|---|
| 20 | "aria-command-name": {
|
|---|
| 21 | "description": "Vérifier que chaque \"button\", \"link\" et \"menuitem\" ARIA a un nom accessible",
|
|---|
| 22 | "help": "Les commandes ARIA doivent avoir un nom accessible"
|
|---|
| 23 | },
|
|---|
| 24 | "aria-dialog-name": {
|
|---|
| 25 | "description": "Vérifier que chaque nœud ARIA \"dialog\" et \"alertdialog\" a un nom accessible",
|
|---|
| 26 | "help": "Les nœuds ARIA \"dialog\" and \"alertdialog\" doivent avoir un nom accessible"
|
|---|
| 27 | },
|
|---|
| 28 | "aria-hidden-body": {
|
|---|
| 29 | "description": "Vérifier qu’aria-hidden='true' n’est pas présent sur le corps du document (élément body)",
|
|---|
| 30 | "help": "aria-hidden='true' ne doit pas être présent sur <body>"
|
|---|
| 31 | },
|
|---|
| 32 | "aria-hidden-focus": {
|
|---|
| 33 | "description": "Vérifier qu’aria-hidden n’est pas assigné aux éléments qui reçoivent le focus au clavier",
|
|---|
| 34 | "help": "aria-hidden n’est pas assigné aux éléments qui reçoivent le focus au clavier"
|
|---|
| 35 | },
|
|---|
| 36 | "aria-input-field-name": {
|
|---|
| 37 | "description": "Vérifier que chaque champ de formulaire avec ARIA est doté d’un intitulé accessible",
|
|---|
| 38 | "help": "Les champs de formulaire ARIA ont un intitulé accessible"
|
|---|
| 39 | },
|
|---|
| 40 | "aria-meter-name": {
|
|---|
| 41 | "description": "Vérifier que chaque nœud ARIA \"meter\" a un nom accessible",
|
|---|
| 42 | "help": "Les nœuds ARIA \"meter\" doivent avoir un nom accessible"
|
|---|
| 43 | },
|
|---|
| 44 | "aria-progressbar-name": {
|
|---|
| 45 | "description": "Vérifier que chaque nœud ARIA \"progressbar\" a un nom accessible",
|
|---|
| 46 | "help": "Les nœuds ARIA \"progressbar\" doivent avoir un nom accessible"
|
|---|
| 47 | },
|
|---|
| 48 | "aria-required-attr": {
|
|---|
| 49 | "description": "Vérifier que les éléments avec des rôles ARIA ont les attributs ARIA requis",
|
|---|
| 50 | "help": "Les attributs ARIA requis doivent être présents"
|
|---|
| 51 | },
|
|---|
| 52 | "aria-required-children": {
|
|---|
| 53 | "description": "Vérifier que les éléments avec un rôle ARIA comportent aussi des rôles pour les descendants directs",
|
|---|
| 54 | "help": "Certains rôles ARIA doivent comporter des descendants directs spécifiques"
|
|---|
| 55 | },
|
|---|
| 56 | "aria-required-parent": {
|
|---|
| 57 | "description": "Vérifier que les éléments avec un rôle ARIA requérant des rôles parents y sont contenus",
|
|---|
| 58 | "help": "Certains rôles ARIA doivent être contenus par des parents spécifiques"
|
|---|
| 59 | },
|
|---|
| 60 | "aria-roledescription": {
|
|---|
| 61 | "description": "Vérifier qu’aria-roledescription n’est utilisé que sur des éléments qui ont un rôle implicite ou explicite",
|
|---|
| 62 | "help": "Utiliser aria-roledescription sur les éléments dont le rôle a une valeur sémantique"
|
|---|
| 63 | },
|
|---|
| 64 | "aria-roles": {
|
|---|
| 65 | "description": "Vérifier que les éléments avec un attribut role utilisent une valeur valide",
|
|---|
| 66 | "help": "Les rôles ARIA doivent se conformer aux valeurs valides"
|
|---|
| 67 | },
|
|---|
| 68 | "aria-text": {
|
|---|
| 69 | "description": "Vérifier que \"role=text\" est uniquement utilisé sur des éléments sans descendants focalisables",
|
|---|
| 70 | "help": "\"role=text\" ne doit pas avoir de descendant focalisable"
|
|---|
| 71 | },
|
|---|
| 72 | "aria-toggle-field-name": {
|
|---|
| 73 | "description": "Vérifier que chaque champ de basculement ARIA a un libellé accessible",
|
|---|
| 74 | "help": "Les champs de basculement ARIA ont un libellé accessible"
|
|---|
| 75 | },
|
|---|
| 76 | "aria-tooltip-name": {
|
|---|
| 77 | "description": "Vérifier que chaque nœud ARIA \"tooltip\" a un nom accessible",
|
|---|
| 78 | "help": "Les nœuds ARIA \"tooltip\" doivent avoir un nom accessible"
|
|---|
| 79 | },
|
|---|
| 80 | "aria-treeitem-name": {
|
|---|
| 81 | "description": "Vérifier que chaque nœud ARIA \"treeitem\" a un nom accessible",
|
|---|
| 82 | "help": "Les nœuds ARIA \"treeitem\" doivent avoir un nom accessible"
|
|---|
| 83 | },
|
|---|
| 84 | "aria-valid-attr-value": {
|
|---|
| 85 | "description": "Vérifier que tous les attributs ARIA comportent des valeurs valides",
|
|---|
| 86 | "help": "Les attributs ARIA doivent comporter des valeurs valides"
|
|---|
| 87 | },
|
|---|
| 88 | "aria-valid-attr": {
|
|---|
| 89 | "description": "Vérifier que les attributs commençant par aria- sont des attributs ARIA valides",
|
|---|
| 90 | "help": "Les attributs ARIA doivent se conformer aux noms valides"
|
|---|
| 91 | },
|
|---|
| 92 | "audio-caption": {
|
|---|
| 93 | "description": "Vérifier que les éléments <audio> ont des sous-titres",
|
|---|
| 94 | "help": "Les éléments <audio> doivent avoir une piste de sous-titres"
|
|---|
| 95 | },
|
|---|
| 96 | "autocomplete-valid": {
|
|---|
| 97 | "description": "Vérifier que l’attribut autocomplete est correctement adapté au champ de formulaire",
|
|---|
| 98 | "help": "L’attribut autocomplete doit être utilisé correctement"
|
|---|
| 99 | },
|
|---|
| 100 | "avoid-inline-spacing": {
|
|---|
| 101 | "description": "Vérifier que l’espacement du texte défini à travers une attribution de styles peut être ajusté via une feuille de style personnalisée",
|
|---|
| 102 | "help": "L’espacement du texte inline peut être ajusté avec des feuilles de style personnalisées"
|
|---|
| 103 | },
|
|---|
| 104 | "blink": {
|
|---|
| 105 | "description": "Vérifier que l’élément <blink> n’est pas utilisé",
|
|---|
| 106 | "help": "L’élément <blink> est déprécié et ne doit pas être utilisé"
|
|---|
| 107 | },
|
|---|
| 108 | "button-name": {
|
|---|
| 109 | "description": "Vérifier que les boutons ont un texte perceptible",
|
|---|
| 110 | "help": "Les boutons doivent avoir un texte perceptible"
|
|---|
| 111 | },
|
|---|
| 112 | "bypass": {
|
|---|
| 113 | "description": "Vérifier que chaque page dispose au minimum d’un mécanisme de contournement de la navigation pour accéder directement au contenu",
|
|---|
| 114 | "help": "Chaque page doit fournir des moyens de contourner les contenus répétés"
|
|---|
| 115 | },
|
|---|
| 116 | "color-contrast-enhanced": {
|
|---|
| 117 | "description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AAA",
|
|---|
| 118 | "help": "Les éléments doivent avoir un contraste de couleurs suffisant"
|
|---|
| 119 | },
|
|---|
| 120 | "color-contrast": {
|
|---|
| 121 | "description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AA",
|
|---|
| 122 | "help": "Les éléments doivent avoir un contraste de couleurs suffisant"
|
|---|
| 123 | },
|
|---|
| 124 | "css-orientation-lock": {
|
|---|
| 125 | "description": "Vérifier que les contenus ne sont pas limités à une orientation spécifique de l’écran, et que le contenu est utilisable sous toutes les orientations de l’écran",
|
|---|
| 126 | "help": "Les CSS Media queries ne sont pas utilisées pour verrouiller l’orientation de l’écran"
|
|---|
| 127 | },
|
|---|
| 128 | "definition-list": {
|
|---|
| 129 | "description": "Vérifier que les éléments <dl> sont correctement structurés",
|
|---|
| 130 | "help": "Les éléments <dl> ne doivent contenir directement que des groupes d’éléments <dt> et <dd> correctement ordonnés, ou des éléments <script> ou <template>"
|
|---|
| 131 | },
|
|---|
| 132 | "dlitem": {
|
|---|
| 133 | "description": "Vérifier que les éléments <dt> et <dd> sont contenus dans un élément <dl>",
|
|---|
| 134 | "help": "Les éléments <dt> et <dd> doivent être contenus dans un élément <dl>"
|
|---|
| 135 | },
|
|---|
| 136 | "document-title": {
|
|---|
| 137 | "description": "Vérifier que chaque document HTML contient un élément <title> non vide",
|
|---|
| 138 | "help": "Chaque document doit avoir un élément <title> pour aider à la navigation"
|
|---|
| 139 | },
|
|---|
| 140 | "duplicate-id-active": {
|
|---|
| 141 | "description": "Vérifier que la valeur d’attribut id de chaque élément actif est unique",
|
|---|
| 142 | "help": "Les IDs des éléments actifs doivent être uniques"
|
|---|
| 143 | },
|
|---|
| 144 | "duplicate-id-aria": {
|
|---|
| 145 | "description": "Vérifier que chaque valeur d’attribut id utilisée avec ARIA et dans les étiquettes est unique",
|
|---|
| 146 | "help": "Les IDs utilisés avec ARIA et dans les étiquettes doivent être uniques"
|
|---|
| 147 | },
|
|---|
| 148 | "duplicate-id": {
|
|---|
| 149 | "description": "Vérifier que la valeur de chaque attribut id est unique",
|
|---|
| 150 | "help": "La valeur de l’attribut id doit être unique"
|
|---|
| 151 | },
|
|---|
| 152 | "empty-heading": {
|
|---|
| 153 | "description": "Vérifier que les niveaux de titre ont un texte perceptible",
|
|---|
| 154 | "help": "Les niveaux de titre ne doivent pas être vides"
|
|---|
| 155 | },
|
|---|
| 156 | "empty-table-header": {
|
|---|
| 157 | "description": "Vérifier que les entêtes de tableaux ont un texte perceptible",
|
|---|
| 158 | "help": "Les textes d’entêtes de tableaux ne doivent pas être vides"
|
|---|
| 159 | },
|
|---|
| 160 | "focus-order-semantics": {
|
|---|
| 161 | "description": "Vérifier que les éléments dans le parcours du focus ont un rôle approprié",
|
|---|
| 162 | "help": "Les éléments dans le parcours du focus doivent avoir un rôle approprié pour le contenu interactif"
|
|---|
| 163 | },
|
|---|
| 164 | "form-field-multiple-labels": {
|
|---|
| 165 | "description": "Vérifier que le champ de formulaire n’a pas plusieurs éléments d’étiquettes",
|
|---|
| 166 | "help": "Le champ de formulaire ne devrait pas comporter plusieurs éléments d’étiquettes"
|
|---|
| 167 | },
|
|---|
| 168 | "frame-focusable-content": {
|
|---|
| 169 | "description": "Vérifier que les éléments <frame> et <iframe> avec du contenu focalisable n’ont pas de tabindex=-1",
|
|---|
| 170 | "help": "Les cadres avec du contenu focalisable ne doivent pas avoir tabindex=-1"
|
|---|
| 171 | },
|
|---|
| 172 | "frame-tested": {
|
|---|
| 173 | "description": "Vérifier que les éléments <iframe> et <frame> contiennent le script axe-core",
|
|---|
| 174 | "help": "Les cadres doivent être testés avec axe-core"
|
|---|
| 175 | },
|
|---|
| 176 | "frame-title-unique": {
|
|---|
| 177 | "description": "Vérifier que les éléments <iframe> et <frame> ont un attribut title unique",
|
|---|
| 178 | "help": "Chaque cadre doit avoir un attribut title unique"
|
|---|
| 179 | },
|
|---|
| 180 | "frame-title": {
|
|---|
| 181 | "description": "Vérifier que les éléments <iframe> et <frame> ont un attribut title non vide",
|
|---|
| 182 | "help": "Chaque cadre doit avoir un attribut title"
|
|---|
| 183 | },
|
|---|
| 184 | "heading-order": {
|
|---|
| 185 | "description": "Vérifier que la hiérarchie des niveaux de titre est sémantiquement correcte",
|
|---|
| 186 | "help": "Les niveaux de titre doivent s’incrémenter d’un seul niveau à la fois"
|
|---|
| 187 | },
|
|---|
| 188 | "hidden-content": {
|
|---|
| 189 | "description": "Informer les utilisateurs sur les contenus cachés",
|
|---|
| 190 | "help": "Le contenu caché sur la page ne peut pas être analysé"
|
|---|
| 191 | },
|
|---|
| 192 | "html-has-lang": {
|
|---|
| 193 | "description": "Vérifier que chaque document HTML a un attribut lang",
|
|---|
| 194 | "help": "L’élément <html> doit avoir un attribut lang"
|
|---|
| 195 | },
|
|---|
| 196 | "html-lang-valid": {
|
|---|
| 197 | "description": "Vérifier que l’attribut lang sur l’élément <html> a une valeur valide",
|
|---|
| 198 | "help": "L’élément <html> doit avoir une valeur valide pour l’attribut lang"
|
|---|
| 199 | },
|
|---|
| 200 | "html-xml-lang-mismatch": {
|
|---|
| 201 | "description": "Vérifier que les éléments HTML avec les attributs lang et xml:lang valides indiquent la même langue de base pour la page",
|
|---|
| 202 | "help": "Les éléments HTML avec les attributs lang et xml:lang doivent avoir la même langue de base"
|
|---|
| 203 | },
|
|---|
| 204 | "identical-links-same-purpose": {
|
|---|
| 205 | "description": "Vérifier que les liens qui ont le même nom accessible ont la même finalité",
|
|---|
| 206 | "help": "Les liens avec le même nom ont la même finalité"
|
|---|
| 207 | },
|
|---|
| 208 | "image-alt": {
|
|---|
| 209 | "description": "Vérifier que les éléments <img> ont une alternative textuelle, ou un rôle de type 'none' ou 'presentation'",
|
|---|
| 210 | "help": "Les images doivent avoir une alternative textuelle"
|
|---|
| 211 | },
|
|---|
| 212 | "image-redundant-alt": {
|
|---|
| 213 | "description": "Vérifier que l’intitulé des liens et boutons n’est pas répété dans l’alternative de l’image",
|
|---|
| 214 | "help": "L’intitulé des liens et boutons ne doit pas être répété dans l’alternative de l’image"
|
|---|
| 215 | },
|
|---|
| 216 | "input-button-name": {
|
|---|
| 217 | "description": "Vérifier que la valeur textuelle des contrôles de boutons est perceptible",
|
|---|
| 218 | "help": "La valeur textuelle des contrôles de boutons doit être perceptible"
|
|---|
| 219 | },
|
|---|
| 220 | "input-image-alt": {
|
|---|
| 221 | "description": "Vérifier que les éléments <input type=\"image\"> ont une alternative textuelle",
|
|---|
| 222 | "help": "Les boutons images doivent avoir une alternative textuelle"
|
|---|
| 223 | },
|
|---|
| 224 | "label-content-name-mismatch": {
|
|---|
| 225 | "description": "Vérifier que dans le cas d’éléments identifiés par leur contenu textuel, le texte visible fait partie de l’intitulé accessible",
|
|---|
| 226 | "help": "Le contenu textuel des éléments doit aussi se retrouver dans leur intitulé accessible"
|
|---|
| 227 | },
|
|---|
| 228 | "label-title-only": {
|
|---|
| 229 | "description": "Vérifier que chaque élément de formulaire n’est pas labellisé uniquement par les attributs title ou aria-describedby",
|
|---|
| 230 | "help": "Chaque élément de formulaire doit avoir un label visible"
|
|---|
| 231 | },
|
|---|
| 232 | "label": {
|
|---|
| 233 | "description": "Vérifier que chaque élément de formulaire a une étiquette",
|
|---|
| 234 | "help": "Chaque élément de formulaire doit avoir une étiquette"
|
|---|
| 235 | },
|
|---|
| 236 | "landmark-banner-is-top-level": {
|
|---|
| 237 | "description": "La région banner ne devrait pas être contenue dans une autre région",
|
|---|
| 238 | "help": "La région banner doit être au niveau le plus haut"
|
|---|
| 239 | },
|
|---|
| 240 | "landmark-complementary-is-top-level": {
|
|---|
| 241 | "description": "Vérifier que les landmarks complementary ou aside se retrouvent au plus haut niveau",
|
|---|
| 242 | "help": "Aside ne doit pas être contenu dans un autre landmark"
|
|---|
| 243 | },
|
|---|
| 244 | "landmark-contentinfo-is-top-level": {
|
|---|
| 245 | "description": "La région contentinfo ne devrait pas être contenue dans une autre région",
|
|---|
| 246 | "help": "La région contentinfo doit être au niveau le plus haut"
|
|---|
| 247 | },
|
|---|
| 248 | "landmark-main-is-top-level": {
|
|---|
| 249 | "description": "La région main ne devrait pas être contenue dans une autre région",
|
|---|
| 250 | "help": "La région main doit être au niveau le plus haut"
|
|---|
| 251 | },
|
|---|
| 252 | "landmark-no-duplicate-banner": {
|
|---|
| 253 | "description": "Vérifier que le document n’a pas plus d’une région banner",
|
|---|
| 254 | "help": "Le document contient au plus une région banner"
|
|---|
| 255 | },
|
|---|
| 256 | "landmark-no-duplicate-contentinfo": {
|
|---|
| 257 | "description": "Vérifier que le document n’a pas plus d’une région contentinfo",
|
|---|
| 258 | "help": "Le document contient au plus une région contentinfo"
|
|---|
| 259 | },
|
|---|
| 260 | "landmark-no-duplicate-main": {
|
|---|
| 261 | "description": "Vérifier que le document a tout au plus, un seul landmark main",
|
|---|
| 262 | "help": "Le document ne doit pas contenir plus d’un landmark main"
|
|---|
| 263 | },
|
|---|
| 264 | "landmark-one-main": {
|
|---|
| 265 | "description": "Vérifier qu’une navigation pointe vers le contenu principal de la page. Si la page contient des iframes, chaque iframe ne doit contenir au plus qu’une région main",
|
|---|
| 266 | "help": "La page doit contenir une région main"
|
|---|
| 267 | },
|
|---|
| 268 | "landmark-unique": {
|
|---|
| 269 | "help": "Vérifier que chaque landmark est unique",
|
|---|
| 270 | "description": "Les landmarks doivent comporter un rôle unique, ou une étiquette accessible par la combinaison de role/label/title"
|
|---|
| 271 | },
|
|---|
| 272 | "link-in-text-block": {
|
|---|
| 273 | "description": "Les liens doivent pouvoir être distingués autrement que par la couleur",
|
|---|
| 274 | "help": "Les liens doivent pouvoir être distingués du texte environnant d’une façon qui ne repose pas sur la couleur"
|
|---|
| 275 | },
|
|---|
| 276 | "link-name": {
|
|---|
| 277 | "description": "Vérifier que les liens ont un texte perceptible",
|
|---|
| 278 | "help": "Les liens doivent avoir un texte perceptible"
|
|---|
| 279 | },
|
|---|
| 280 | "list": {
|
|---|
| 281 | "description": "Vérifier que les listes sont structurées correctement",
|
|---|
| 282 | "help": "<ul> et <ol> ne doivent contenir directement que des éléments <li>, <script> ou <template>"
|
|---|
| 283 | },
|
|---|
| 284 | "listitem": {
|
|---|
| 285 | "description": "Vérifier que les éléments <li> sont utilisés sémantiquement",
|
|---|
| 286 | "help": "Les éléments <li> doivent être contenus dans un élément <ul> ou <ol>"
|
|---|
| 287 | },
|
|---|
| 288 | "marquee": {
|
|---|
| 289 | "description": "Vérifier que l’élément <marquee> n’est pas utilisé",
|
|---|
| 290 | "help": "L’élément <marquee> est déprécié et ne doit pas être utilisé"
|
|---|
| 291 | },
|
|---|
| 292 | "meta-refresh-no-exceptions": {
|
|---|
| 293 | "description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé pour une actualisation différée",
|
|---|
| 294 | "help": "L'actualisation différée ne doit pas être utilisée"
|
|---|
| 295 | },
|
|---|
| 296 | "meta-refresh": {
|
|---|
| 297 | "description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé pour une actualisation différée",
|
|---|
| 298 | "help": "L'actualisation différée en dessous de 20 heures ne doit pas être utilisée"
|
|---|
| 299 | },
|
|---|
| 300 | "meta-viewport-large": {
|
|---|
| 301 | "description": "Vérifier que <meta name=\"viewport\"> permet un agrandissement significatif",
|
|---|
| 302 | "help": "Les utilisateurs devraient pouvoir zoomer et agrandir le texte jusqu’à 500%"
|
|---|
| 303 | },
|
|---|
| 304 | "meta-viewport": {
|
|---|
| 305 | "description": "Vérifier que <meta name=\"viewport\"> ne désactive pas le zoom ni l’agrandissement",
|
|---|
| 306 | "help": "Le zoom et l’agrandissement ne doivent pas être désactivés"
|
|---|
| 307 | },
|
|---|
| 308 | "nested-interactive": {
|
|---|
| 309 | "description": "Les éléments interactifs imbriqués ne sont pas annoncés par les lecteurs d’écrans",
|
|---|
| 310 | "help": "Verifier que les éléments interactifs ne sont pas imbriqués"
|
|---|
| 311 | },
|
|---|
| 312 | "no-autoplay-audio": {
|
|---|
| 313 | "description": "Vérifier que les éléments <video> ou <audio> ne jouent pas de son automatiquement pendant plus de 3 secondes sans mécanisme de contrôle pour stopper la lecture ou couper le son.",
|
|---|
| 314 | "help": "Les éléments <video> ou <audio> ne jouent pas de son automatiquement"
|
|---|
| 315 | },
|
|---|
| 316 | "object-alt": {
|
|---|
| 317 | "description": "Vérifier que les éléments <object> ont une alternative textuelle",
|
|---|
| 318 | "help": "Les éléments <object> doivent avoir une alternative textuelle"
|
|---|
| 319 | },
|
|---|
| 320 | "p-as-heading": {
|
|---|
| 321 | "description": "Vérifier que les éléments p ne sont pas utilisés pour styler des niveaux de titres",
|
|---|
| 322 | "help": "La graisse, le style et le corps du texte ne doivent pas être utilisés pour styler les éléments p comme des niveaux de titres"
|
|---|
| 323 | },
|
|---|
| 324 | "page-has-heading-one": {
|
|---|
| 325 | "description": "Vérifier que la page, ou au moins une de ses iframes, contient un titre de niveau 1",
|
|---|
| 326 | "help": "La page doit contenir un titre de niveau 1"
|
|---|
| 327 | },
|
|---|
| 328 | "presentation-role-conflict": {
|
|---|
| 329 | "description": "Signaler les éléments dont le rôle est 'none' ou 'presentation' et qui déclenchent la résolution de conflits de rôles.",
|
|---|
| 330 | "help": "Les éléments avec un rôle 'none' ou 'presentation' doivent être signalés"
|
|---|
| 331 | },
|
|---|
| 332 | "region": {
|
|---|
| 333 | "description": "Vérifier que tout le contenu est localisé dans une région",
|
|---|
| 334 | "help": "Le contenu doit être localisé dans une région"
|
|---|
| 335 | },
|
|---|
| 336 | "role-img-alt": {
|
|---|
| 337 | "description": "Vérifier que les éléments avec [role='img'] ont une équivalence textuelle",
|
|---|
| 338 | "help": "Les éléments avec [role='img'] ont une équivalence textuelle"
|
|---|
| 339 | },
|
|---|
| 340 | "scope-attr-valid": {
|
|---|
| 341 | "description": "Vérifier que l’attribut scope est utilisé correctement dans les tableaux",
|
|---|
| 342 | "help": "L’attribut scope doit être utilisé correctement"
|
|---|
| 343 | },
|
|---|
| 344 | "scrollable-region-focusable": {
|
|---|
| 345 | "description": "Les éléments dont le contenu défile devraient être accessibles au clavier",
|
|---|
| 346 | "help": "Vérifier que les régions défilantes sont accessibles au clavier"
|
|---|
| 347 | },
|
|---|
| 348 | "select-name": {
|
|---|
| 349 | "description": "Vérifier que l’élément 'select' a un nom accessible",
|
|---|
| 350 | "help": "L’élément 'select' doit avoir un nom accessible"
|
|---|
| 351 | },
|
|---|
| 352 | "server-side-image-map": {
|
|---|
| 353 | "description": "Vérifier que les images réactives côté serveur ne sont pas utilisées",
|
|---|
| 354 | "help": "Les images réactives côté serveur ne devraient pas être utilisées"
|
|---|
| 355 | },
|
|---|
| 356 | "skip-link": {
|
|---|
| 357 | "description": "Vérifier que tous les liens d’évitement ont une cible pouvant recevoir le focus",
|
|---|
| 358 | "help": "La cible d’un lien d’évitement doit exister et pouvoir recevoir le focus"
|
|---|
| 359 | },
|
|---|
| 360 | "svg-img-alt": {
|
|---|
| 361 | "description": "Vérifier que les éléments svg avec un rôle 'img', 'graphics-document', ou 'graphics-symbol' ont un texte accessible",
|
|---|
| 362 | "help": "Les éléments svg avec un rôle 'img' ont un texte alternatif"
|
|---|
| 363 | },
|
|---|
| 364 | "tabindex": {
|
|---|
| 365 | "description": "Vérifier que les valeurs de l’attribut tabindex ne sont pas supérieures à 0",
|
|---|
| 366 | "help": "Aucun élément ne devrait avoir un tabindex avec une valeur supérieure à zéro"
|
|---|
| 367 | },
|
|---|
| 368 | "table-duplicate-name": {
|
|---|
| 369 | "description": "Vérifier que chaque tableau n’ait pas un summary et un caption identiques",
|
|---|
| 370 | "help": "L’élément <caption> ne devrait pas contenir le même texte que l’attribut summary"
|
|---|
| 371 | },
|
|---|
| 372 | "table-fake-caption": {
|
|---|
| 373 | "description": "Vérifier que les tableaux avec une légende utilisent l’élément <caption>",
|
|---|
| 374 | "help": "Les données ou les cellules d’entête ne devraient pas être utilisées pour légender un tableau de données"
|
|---|
| 375 | },
|
|---|
| 376 | "target-size": {
|
|---|
| 377 | "description": "Vérifier que la cible tactile a une taille et un espace suffisants",
|
|---|
| 378 | "help": "Toutes les cibles tactiles doivent faire 24px de large, ou être suffisamment grandes"
|
|---|
| 379 | },
|
|---|
| 380 | "td-has-header": {
|
|---|
| 381 | "description": "Vérifier que chaque cellule de données non vide dans un tableau de données a une ou plusieurs cellules d’entête",
|
|---|
| 382 | "help": "Chaque élément td non vide dans un tableau plus grand que 3 × 3 doit avoir une cellule d’entête associée"
|
|---|
| 383 | },
|
|---|
| 384 | "td-headers-attr": {
|
|---|
| 385 | "description": "Vérifier que chaque cellule utilisant l’attribut headers fait référence à une autre cellule du même tableau",
|
|---|
| 386 | "help": "Les cellules utilisant l’attribut headers ne doivent faire référence qu’à d’autres cellules du même tableau"
|
|---|
| 387 | },
|
|---|
| 388 | "th-has-data-cells": {
|
|---|
| 389 | "description": "Vérifier que chaque cellule d’entête dans un tableau de données fait référence à des cellules de données",
|
|---|
| 390 | "help": "Tous les éléments th et ceux avec role=columnheader/rowheader doivent décrire des cellules de données"
|
|---|
| 391 | },
|
|---|
| 392 | "valid-lang": {
|
|---|
| 393 | "description": "Vérifier que les attributs lang ont des valeurs valides",
|
|---|
| 394 | "help": "L’attribut lang doit avoir une valeur valide"
|
|---|
| 395 | },
|
|---|
| 396 | "video-caption": {
|
|---|
| 397 | "description": "Vérifier que les éléments <video> ont des sous-titres",
|
|---|
| 398 | "help": "Les éléments <video> doivent avoir des sous-titres"
|
|---|
| 399 | }
|
|---|
| 400 | },
|
|---|
| 401 | "checks": {
|
|---|
| 402 | "abstractrole": {
|
|---|
| 403 | "pass": "Les rôles abstraits ne sont pas utilisés",
|
|---|
| 404 | "fail": {
|
|---|
| 405 | "singular": "Le rôle abstrait ne peut pas être utilisé directement : ${data.values}",
|
|---|
| 406 | "plural": "Les rôles abstraits ne peuvent pas être utilisés directement : ${data.values}"
|
|---|
| 407 | }
|
|---|
| 408 | },
|
|---|
| 409 | "aria-allowed-attr": {
|
|---|
| 410 | "pass": "Les attributs ARIA sont utilisés correctement pour le rôle défini",
|
|---|
| 411 | "fail": {
|
|---|
| 412 | "singular": "L’attribut ARIA n’est pas autorisé : ${data.values}",
|
|---|
| 413 | "plural": "Les attributs ARIA ne sont pas autorisés : ${data.values}"
|
|---|
| 414 | }
|
|---|
| 415 | },
|
|---|
| 416 | "aria-allowed-role": {
|
|---|
| 417 | "pass": "Le rôle ARIA est autorisé pour l’élément donné",
|
|---|
| 418 | "fail": {
|
|---|
| 419 | "singular": "Le rôle ARIA ${data.values} n’est pas autorisé pour l’élément donné",
|
|---|
| 420 | "plural": "Les rôles ARIA ${data.values} ne sont pas autorisés pour l’élément donné"
|
|---|
| 421 | },
|
|---|
| 422 | "incomplete": {
|
|---|
| 423 | "singular": "Le rôle ARIA ${data.values} doit être retiré lorsque l’élément est rendu visible, car il n’est pas autorisé pour cet élément",
|
|---|
| 424 | "plural": "Les rôles ARIA ${data.values} doivent être retirés lorsque l’élément est rendu visible, car ils ne sont pas autorisés pour cet élément"
|
|---|
| 425 | }
|
|---|
| 426 | },
|
|---|
| 427 | "aria-errormessage": {
|
|---|
| 428 | "pass": "Utiliser une technique prise en charge pour aria-errormessage",
|
|---|
| 429 | "fail": {
|
|---|
| 430 | "singular": "La valeur d’aria-errormessage `${data.values}` doit recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)",
|
|---|
| 431 | "plural": "Les valeurs aria-errormessage `${data.values}` doivent recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)"
|
|---|
| 432 | },
|
|---|
| 433 | "incomplete": {
|
|---|
| 434 | "singular": "Vérifier que la valeur de l’attribut 'aria-errormessage' `${data.values}` se réfère à un élément existant",
|
|---|
| 435 | "plural": "Vérifier que les valeurs de l’attribut 'aria-errormessage' `${data.values}` se réfèrent à des éléments existants",
|
|---|
| 436 | "idrefs": "Impossible de déterminer si l’élément référencé par 'aria-errormessage' existe dans la page : ${data.values}"
|
|---|
| 437 | }
|
|---|
| 438 | },
|
|---|
| 439 | "aria-hidden-body": {
|
|---|
| 440 | "pass": "Aucun attribut aria-hidden n’est présent sur body",
|
|---|
| 441 | "fail": "aria-hidden=true ne devrait pas être présent sur body"
|
|---|
| 442 | },
|
|---|
| 443 | "aria-level": {
|
|---|
| 444 | "pass": "Les valeurs d’aria-level sont valides",
|
|---|
| 445 | "incomplete": "Les valeurs d’aria-level supérieures à 6 ne sont pas supportées par toutes les combinaisons de navigateurs et de lecteurs d’écrans"
|
|---|
| 446 | },
|
|---|
| 447 | "aria-prohibited-attr": {
|
|---|
| 448 | "pass": "L’attribut ARIA est autorisé",
|
|---|
| 449 | "fail": "L’attribut ARIA ne peut pas être utilisé, ajoutez un attribut role ou utilisez un élément différent : ${data.values}",
|
|---|
| 450 | "incomplete": "L’attribut ARIA n’est pas bien supporté sur l’élément et le contenu texte sera utilisé à la place : ${data.values}"
|
|---|
| 451 | },
|
|---|
| 452 | "aria-required-attr": {
|
|---|
| 453 | "pass": "Tous les attributs ARIA requis sont présents",
|
|---|
| 454 | "fail": {
|
|---|
| 455 | "singular": "L’attribut ARIA requis est manquant : ${data.values}",
|
|---|
| 456 | "plural": "Les attributs ARIA requis sont manquants : ${data.values}"
|
|---|
| 457 | }
|
|---|
| 458 | },
|
|---|
| 459 | "aria-required-children": {
|
|---|
| 460 | "pass": {
|
|---|
| 461 | "default": "Les descendants ARIA requis sont présents"
|
|---|
| 462 | },
|
|---|
| 463 | "fail": {
|
|---|
| 464 | "singular": "Le descendant ARIA requis est manquant : ${data.values}",
|
|---|
| 465 | "plural": "Les descendants ARIA requis sont manquants : ${data.values}"
|
|---|
| 466 | },
|
|---|
| 467 | "incomplete": {
|
|---|
| 468 | "singular": "Le rôle du descendant ARIA attendu doit être ajouté : ${data.values}",
|
|---|
| 469 | "plural": "Les rôles des descendants ARIA attendus doivent être ajoutés : ${data.values}"
|
|---|
| 470 | }
|
|---|
| 471 | },
|
|---|
| 472 | "aria-required-parent": {
|
|---|
| 473 | "pass": "Les rôles parents ARIA requis sont présents",
|
|---|
| 474 | "fail": {
|
|---|
| 475 | "singular": "Le rôle parent ARIA requis est manquant : ${data.values}",
|
|---|
| 476 | "plural": "Les rôles parents ARIA requis sont manquants : ${data.values}"
|
|---|
| 477 | }
|
|---|
| 478 | },
|
|---|
| 479 | "aria-roledescription": {
|
|---|
| 480 | "pass": "aria-roledescription utilisé sur un élément sémantique supporté",
|
|---|
| 481 | "incomplete": "Vérifier que la valeur d’aria-roledescription est annoncée par les lecteurs d’écran supportés",
|
|---|
| 482 | "fail": "Attribuer à l’élément un rôle qui supporte aria-roledescription"
|
|---|
| 483 | },
|
|---|
| 484 | "aria-unsupported-attr": {
|
|---|
| 485 | "pass": "L’attribut ARIA est supporté",
|
|---|
| 486 | "fail": "L’attribut ARIA n’est pas suffisamment supporté par les lecteurs d’écran et autres technologies d’assistance : ${data.values}"
|
|---|
| 487 | },
|
|---|
| 488 | "aria-valid-attr-value": {
|
|---|
| 489 | "pass": "Les valeurs d’attribut ARIA sont valides",
|
|---|
| 490 | "fail": {
|
|---|
| 491 | "singular": "La valeur d’attribut ARIA est invalide : ${data.values}",
|
|---|
| 492 | "plural": "Les valeurs d’attribut ARIA sont invalides : ${data.values}"
|
|---|
| 493 | },
|
|---|
| 494 | "incomplete": {
|
|---|
| 495 | "noId": "L’ID d’élément référencé par l’attribut ARIA n’existe pas dans la page : ${data.needsReview}",
|
|---|
| 496 | "ariaCurrent": "La valeur de l’attribut ARIA est invalide et sera traitée comme \"aria-current=true\" : ${data.needsReview}",
|
|---|
| 497 | "idrefs": "Impossible de vérifier si l’ID d’élément référencé par l’attribut ARIA existe dans la page : ${data.needsReview}"
|
|---|
| 498 | }
|
|---|
| 499 | },
|
|---|
| 500 | "aria-valid-attr": {
|
|---|
| 501 | "pass": {
|
|---|
| 502 | "singular": "Les noms d’attributs ARIA sont valides",
|
|---|
| 503 | "plural": "Le nom d’attribut ARIA est valide"
|
|---|
| 504 | },
|
|---|
| 505 | "fail": {
|
|---|
| 506 | "singular": "Le nom d’attribut ARIA est invalide : ${data.values}",
|
|---|
| 507 | "plural": "Les noms d’attributs ARIA sont invalides : ${data.values}"
|
|---|
| 508 | }
|
|---|
| 509 | },
|
|---|
| 510 | "fallbackrole": {
|
|---|
| 511 | "pass": "Une seule valeur de rôle utilisée",
|
|---|
| 512 | "fail": "Utiliser une seule valeur de rôle, dans la mesure où les rôles de secours ne sont pas supportés par les navigateurs anciens",
|
|---|
| 513 | "incomplete": "Utiliser seulement les rôles 'presentation' ou 'none' puisqu’ils sont synonymes."
|
|---|
| 514 | },
|
|---|
| 515 | "has-global-aria-attribute": {
|
|---|
| 516 | "pass": {
|
|---|
| 517 | "singular": "L’élément a un attribut ARIA global : ${data.values}",
|
|---|
| 518 | "plural": "L’élément a des attributs ARIA globaux : ${data.values}"
|
|---|
| 519 | },
|
|---|
| 520 | "fail": "L’élément n’a pas d’attribut ARIA global"
|
|---|
| 521 | },
|
|---|
| 522 | "has-widget-role": {
|
|---|
| 523 | "pass": "L’élément a un rôle widget.",
|
|---|
| 524 | "fail": "L’élément n’a pas de rôle widget."
|
|---|
| 525 | },
|
|---|
| 526 | "invalidrole": {
|
|---|
| 527 | "pass": "Le rôle ARIA est valide",
|
|---|
| 528 | "fail": {
|
|---|
| 529 | "singular": "Le rôle doit être un rôle ARIA valide : ${data.values}",
|
|---|
| 530 | "plural": "Les rôles doivent être des rôles ARIA valides : ${data.values}"
|
|---|
| 531 | }
|
|---|
| 532 | },
|
|---|
| 533 | "is-element-focusable": {
|
|---|
| 534 | "pass": "L’élément est focalisable.",
|
|---|
| 535 | "fail": "L’élément n’est pas focalisable."
|
|---|
| 536 | },
|
|---|
| 537 | "no-implicit-explicit-label": {
|
|---|
| 538 | "pass": "Il n’y a pas de décalage entre le <label> et l’intitulé accessible",
|
|---|
| 539 | "incomplete": "Vérifier que le <label> n’a pas à faire partie du nom du champ de formulaire ARIA ${data}"
|
|---|
| 540 | },
|
|---|
| 541 | "unsupportedrole": {
|
|---|
| 542 | "pass": "Le rôle ARIA est supporté",
|
|---|
| 543 | "fail": "Le rôle utilisé n’est pas suffisamment supporté par les technologies d’assistance"
|
|---|
| 544 | },
|
|---|
| 545 | "valid-scrollable-semantics": {
|
|---|
| 546 | "pass": "L’élément a une sémantique valide pour un élément dans l’ordre de tabulation.",
|
|---|
| 547 | "fail": "L’élément n’a pas une sémantique valide pour un élément dans l’ordre de tabulation."
|
|---|
| 548 | },
|
|---|
| 549 | "color-contrast": {
|
|---|
| 550 | "pass": "L’élément a un contraste de couleurs suffisant de ${data.contrastRatio}",
|
|---|
| 551 | "fail": {
|
|---|
| 552 | "default": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} (couleur d’avant plan : ${data.fgColor}, couleur d’arrière plan : ${data.bgColor}, taille de police : ${data.fontSize}, graisse : ${data.fontWeight}). Contraste de couleur attendu : ${data.expectedContrastRatio}",
|
|---|
| 553 | "fgOnShadowColor": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} entre l’avant plan et la couleur de l’ombre de texte (couleur d’avant plan : ${data.fgColor}, couleur de l’ombre de texte : ${data.shadowColor}, taille de police : ${data.fontSize}, graisse: ${data.fontWeight}). Contraste de couleurs attendu : ${data.expectedContrastRatio}",
|
|---|
| 554 | "shadowOnBgColor": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} entre la couleur de l’ombre de texte et l’arrière plan (couleur de l’ombre de texte : ${data.shadowColor}, couleur d’arrière plan : ${data.bgColor}, taille de police : ${data.fontSize}, graisse: ${data.fontWeight}). Contraste de couleurs attendu : ${data.expectedContrastRatio}"
|
|---|
| 555 | },
|
|---|
| 556 | "incomplete": {
|
|---|
| 557 | "default": "Impossible de déterminer le rapport de contraste",
|
|---|
| 558 | "bgImage": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’une image d’arrière-plan",
|
|---|
| 559 | "bgGradient": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’un dégradé d’arrière-plan",
|
|---|
| 560 | "imgNode": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément contient une balise image",
|
|---|
| 561 | "bgOverlap": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car un autre élément le chevauche",
|
|---|
| 562 | "fgAlpha": "La couleur du texte de l’élément n’a pu être déterminée à cause d’une opacité réduite",
|
|---|
| 563 | "elmPartiallyObscured": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément est partiellement masqué par un autre élément",
|
|---|
| 564 | "elmPartiallyObscuring": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il chevauche partiellement un autre élément",
|
|---|
| 565 | "outsideViewport": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il est à l’extérieur du viewport",
|
|---|
| 566 | "equalRatio": "L’élément a un rapport de contraste de 1:1 avec son arrière-plan",
|
|---|
| 567 | "shortTextContent": "Le contenu de l’élément est trop court pour déterminer s’il s’agit réellement d’un contenu textuel",
|
|---|
| 568 | "nonBmp": "Le contenu de l’élément contient seulement des caractères non textuels",
|
|---|
| 569 | "pseudoContent": "La couleur d’arrière plan de l’élément n’a pu être déterminée à cause d’un pseudo-élément"
|
|---|
| 570 | }
|
|---|
| 571 | },
|
|---|
| 572 | "color-contrast-enhanced": {
|
|---|
| 573 | "pass": "L’élément a un contraste de couleurs suffisant de ${data.contrastRatio}",
|
|---|
| 574 | "fail": {
|
|---|
| 575 | "default": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} (couleur d’avant plan : ${data.fgColor}, couleur d’arrière plan : ${data.bgColor}, taille de police : ${data.fontSize}, graisse : ${data.fontWeight}). Contraste de couleur attendu : ${data.expectedContrastRatio}",
|
|---|
| 576 | "fgOnShadowColor": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} entre l’avant plan et la couleur de l’ombre de texte (couleur d’avant plan : ${data.fgColor}, couleur de l’ombre de texte : ${data.shadowColor}, taille de police : ${data.fontSize}, graisse: ${data.fontWeight}). Contraste de couleurs attendu : ${data.expectedContrastRatio}",
|
|---|
| 577 | "shadowOnBgColor": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} entre la couleur de l’ombre de texte et l’arrière plan (couleur de l’ombre de texte : ${data.shadowColor}, couleur d’arrière plan : ${data.bgColor}, taille de police : ${data.fontSize}, graisse: ${data.fontWeight}). Contraste de couleurs attendu : ${data.expectedContrastRatio}"
|
|---|
| 578 | },
|
|---|
| 579 | "incomplete": {
|
|---|
| 580 | "default": "Impossible de déterminer le rapport de contraste",
|
|---|
| 581 | "bgImage": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’une image d’arrière-plan",
|
|---|
| 582 | "bgGradient": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’un dégradé d’arrière-plan",
|
|---|
| 583 | "imgNode": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément contient une balise image",
|
|---|
| 584 | "bgOverlap": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car un autre élément le chevauche",
|
|---|
| 585 | "fgAlpha": "La couleur du texte de l’élément n’a pu être déterminée à cause d’une opacité réduite",
|
|---|
| 586 | "elmPartiallyObscured": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément est partiellement masqué par un autre élément",
|
|---|
| 587 | "elmPartiallyObscuring": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il chevauche partiellement un autre élément",
|
|---|
| 588 | "outsideViewport": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il est à l’extérieur du viewport",
|
|---|
| 589 | "equalRatio": "L’élément a un rapport de contraste de 1:1 avec son arrière-plan",
|
|---|
| 590 | "shortTextContent": "Le contenu de l’élément est trop court pour déterminer s’il s’agit réellement d’un contenu textuel",
|
|---|
| 591 | "nonBmp": "Le contenu de l’élément contient seulement des caractères non textuels",
|
|---|
| 592 | "pseudoContent": "La couleur d’arrière plan de l’élément n’a pu être déterminée à cause d’un pseudo-élément"
|
|---|
| 593 | }
|
|---|
| 594 | },
|
|---|
| 595 | "link-in-text-block": {
|
|---|
| 596 | "pass": "Les liens peuvent être distingués du texte environnant par un autre moyen que la couleur",
|
|---|
| 597 | "fail": "Les liens doivent se distinguer du texte environnant par un autre moyen que la couleur",
|
|---|
| 598 | "incomplete": {
|
|---|
| 599 | "default": "Impossible de déterminer le rapport de contraste",
|
|---|
| 600 | "bgContrast": "Le rapport de contraste de l’élément n’a pu être déterminé. Recherchez un style différent pour le hover/focus.",
|
|---|
| 601 | "bgImage": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’une image d’arrière-plan",
|
|---|
| 602 | "bgGradient": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’un dégradé d’arrière-plan",
|
|---|
| 603 | "imgNode": "Le rapport de contraste de l’élément n’a pu être déterminé, car l’élément contient une balise image",
|
|---|
| 604 | "bgOverlap": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’un chevauchement"
|
|---|
| 605 | }
|
|---|
| 606 | },
|
|---|
| 607 | "autocomplete-appropriate": {
|
|---|
| 608 | "pass": "La valeur autocomplete est sur un élément approprié",
|
|---|
| 609 | "fail": "La valeur autocomplete est inappropriée sur ce type de champ de formulaire"
|
|---|
| 610 | },
|
|---|
| 611 | "autocomplete-valid": {
|
|---|
| 612 | "pass": "L’attribut autocomplete est formaté correctement",
|
|---|
| 613 | "fail": "L’attribut autocomplete n’est pas formaté correctement"
|
|---|
| 614 | },
|
|---|
| 615 | "accesskeys": {
|
|---|
| 616 | "pass": "La valeur de l’attribut accesskey est unique",
|
|---|
| 617 | "fail": "Plusieurs éléments ont le même accesskey au sein du document"
|
|---|
| 618 | },
|
|---|
| 619 | "focusable-content": {
|
|---|
| 620 | "pass": "L’élément contient des éléments focalisables",
|
|---|
| 621 | "fail": "L’élément devrait avoir du contenu focalisable"
|
|---|
| 622 | },
|
|---|
| 623 | "focusable-disabled": {
|
|---|
| 624 | "pass": "Aucun élément focalisable contenu dans l’élément",
|
|---|
| 625 | "fail": "Le contenu focalisable devrait être désactivé ou retiré du DOM"
|
|---|
| 626 | },
|
|---|
| 627 | "focusable-element": {
|
|---|
| 628 | "pass": "L’élément est focalisable",
|
|---|
| 629 | "fail": "L’élément devrait être focalisable"
|
|---|
| 630 | },
|
|---|
| 631 | "focusable-modal-open": {
|
|---|
| 632 | "pass": "Pas d’élément focalisable quand une modale est ouverte",
|
|---|
| 633 | "incomplete": "Vérifiez que les éléments focalisables ne sont pas atteignables via la tabulation dans l’état actuel"
|
|---|
| 634 | },
|
|---|
| 635 | "focusable-no-name": {
|
|---|
| 636 | "pass": "L’élément n’est pas dans l’ordre de tabulation ou a un intitulé accessible",
|
|---|
| 637 | "fail": "L’élément est dans l’ordre de tabulation et n’a pas d’intitulé accessible",
|
|---|
| 638 | "incomplete": "Impossible de déterminer si l’élément a un nom accessible"
|
|---|
| 639 | },
|
|---|
| 640 | "focusable-not-tabbable": {
|
|---|
| 641 | "pass": "Aucun élément focalisable contenu dans l’élément",
|
|---|
| 642 | "fail": "Le contenu focalisable devrait se voir assigné un tabindex='-1' ou être retiré du DOM"
|
|---|
| 643 | },
|
|---|
| 644 | "frame-focusable-content": {
|
|---|
| 645 | "pass": "L’élément n’a pas de descendants focalisables",
|
|---|
| 646 | "fail": "L’élément a des descendants focalisables",
|
|---|
| 647 | "incomplete": "Impossible de déterminer si l’élément a des descendants"
|
|---|
| 648 | },
|
|---|
| 649 | "landmark-is-top-level": {
|
|---|
| 650 | "pass": "La région ${data.role} est au niveau le plus haut.",
|
|---|
| 651 | "fail": "La région ${data.role} est contenue dans une autre région."
|
|---|
| 652 | },
|
|---|
| 653 | "no-focusable-content": {
|
|---|
| 654 | "pass": "L’élément n’a pas de descendants focalisables",
|
|---|
| 655 | "fail": "L’élément a des descendants focalisables",
|
|---|
| 656 | "incomplete": "Impossible de déterminer si l’élément a des descendants"
|
|---|
| 657 | },
|
|---|
| 658 | "page-has-heading-one": {
|
|---|
| 659 | "pass": "La page a au moins un titre de niveau un",
|
|---|
| 660 | "fail": "La page doit avoir un titre de niveau un"
|
|---|
| 661 | },
|
|---|
| 662 | "page-has-main": {
|
|---|
| 663 | "pass": "La page a au moins une région main",
|
|---|
| 664 | "fail": "La page doit avoir une région main"
|
|---|
| 665 | },
|
|---|
| 666 | "page-no-duplicate-banner": {
|
|---|
| 667 | "pass": "Le document n’a pas plus d’une région banner",
|
|---|
| 668 | "fail": "Le document a plus d’une région banner"
|
|---|
| 669 | },
|
|---|
| 670 | "page-no-duplicate-contentinfo": {
|
|---|
| 671 | "pass": "Le document n’a pas plus d’une région contentinfo",
|
|---|
| 672 | "fail": "Le document a plus d’une région contentinfo"
|
|---|
| 673 | },
|
|---|
| 674 | "page-no-duplicate-main": {
|
|---|
| 675 | "pass": "Le document n’a pas plus d’une région main",
|
|---|
| 676 | "fail": "Le document a plus d’une région banner"
|
|---|
| 677 | },
|
|---|
| 678 | "tabindex": {
|
|---|
| 679 | "pass": "L’élément n’a pas de tabindex supérieur à 0",
|
|---|
| 680 | "fail": "L’élément a un tabindex supérieur à 0"
|
|---|
| 681 | },
|
|---|
| 682 | "alt-space-value": {
|
|---|
| 683 | "pass": "L’élément a une valeur d’attribut alt valide",
|
|---|
| 684 | "fail": "L’élément a un attribut alt qui contient un caractère d’espacement qui n’est pas ignoré par les lecteurs d’écran"
|
|---|
| 685 | },
|
|---|
| 686 | "duplicate-img-label": {
|
|---|
| 687 | "pass": "L’élément ne duplique pas un texte existant dans l’alternative textuelle de l’élément <img>",
|
|---|
| 688 | "fail": "L’élément contient un élément <img> dont l’alternative textuelle duplique un texte existant"
|
|---|
| 689 | },
|
|---|
| 690 | "explicit-label": {
|
|---|
| 691 | "pass": "L’élément de formulaire a un <label> explicite",
|
|---|
| 692 | "fail": "L’élément de formulaire n’a pas de <label> explicite",
|
|---|
| 693 | "incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> explicite"
|
|---|
| 694 | },
|
|---|
| 695 | "help-same-as-label": {
|
|---|
| 696 | "pass": "L’aide à la saisie (title ou aria-describedby) ne duplique pas le contenu du label",
|
|---|
| 697 | "fail": "L’aide à la saisie (title ou aria-describedby) est identique au contenu du label"
|
|---|
| 698 | },
|
|---|
| 699 | "hidden-explicit-label": {
|
|---|
| 700 | "pass": "L’élément de formulaire a un <label> visible et explicite",
|
|---|
| 701 | "fail": "L’élément de formulaire a un <label> explicite qui est masqué",
|
|---|
| 702 | "incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> explicite qui est masqué"
|
|---|
| 703 | },
|
|---|
| 704 | "implicit-label": {
|
|---|
| 705 | "pass": "L’élément de formulaire a un <label> implicite (imbriqué)",
|
|---|
| 706 | "fail": "L’élément de formulaire n’a pas de <label> implicite (imbriqué)",
|
|---|
| 707 | "incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> implicite (imbriqué)"
|
|---|
| 708 | },
|
|---|
| 709 | "label-content-name-mismatch": {
|
|---|
| 710 | "pass": "L’élément contient du texte visible qui n’est pas inclus dans l’intitulé accessible",
|
|---|
| 711 | "fail": "Le texte contenu dans l’élément n’est pas inclus dans l’intitulé accessible"
|
|---|
| 712 | },
|
|---|
| 713 | "multiple-label": {
|
|---|
| 714 | "pass": "L’élément de formulaire n’a pas plusieurs éléments <label>",
|
|---|
| 715 | "incomplete": "Des éléments associés à plusieurs étiquettes ne sont pas suffisamment supportés par les technologies d’assistance. Vérifier que la première étiquette contient toute l’information nécessaire."
|
|---|
| 716 | },
|
|---|
| 717 | "title-only": {
|
|---|
| 718 | "pass": "L’élément de formulaire n’a pas uniquement l’attribut title comme étiquette",
|
|---|
| 719 | "fail": "Seul l’attribut title est utilisé comme étiquette pour l’élément de formulaire"
|
|---|
| 720 | },
|
|---|
| 721 | "landmark-is-unique": {
|
|---|
| 722 | "pass": "Les landmarks doivent comporter un rôle unique, ou une étiquette accessible par la combinaison de role/label/title",
|
|---|
| 723 | "fail": "L’attribut landmark doit comporter une valeur d’attribut aria-label, aria-labelledby, ou title unique pour rendre le landmark distinct"
|
|---|
| 724 | },
|
|---|
| 725 | "has-lang": {
|
|---|
| 726 | "pass": "L’élément <html> a un attribut lang",
|
|---|
| 727 | "fail": {
|
|---|
| 728 | "noXHTML": "L’attribut xml:lang n’est pas valide sur les pages HTML, utiliser l’attribut lang.",
|
|---|
| 729 | "noLang": "L’élément <html> n’a pas d’attribut lang"
|
|---|
| 730 | }
|
|---|
| 731 | },
|
|---|
| 732 | "valid-lang": {
|
|---|
| 733 | "pass": "La valeur de l’attribut lang fait partie des codes de langues valides",
|
|---|
| 734 | "fail": "La valeur de l’attribut lang ne fait pas partie des codes de langues valides"
|
|---|
| 735 | },
|
|---|
| 736 | "xml-lang-mismatch": {
|
|---|
| 737 | "pass": "Les attributs lang et xml:lang indiquent la même langue de base",
|
|---|
| 738 | "fail": "Les attributs lang et xml:lang indiquent des langues de base différentes"
|
|---|
| 739 | },
|
|---|
| 740 | "dlitem": {
|
|---|
| 741 | "pass": "L’item de liste de description a un élément <dl> parent",
|
|---|
| 742 | "fail": "L’item de liste de description n’a pas d’élément <dl> parent"
|
|---|
| 743 | },
|
|---|
| 744 | "listitem": {
|
|---|
| 745 | "pass": "L’item de liste a un élément <ul>, <ol> ou role=\"list\" parent",
|
|---|
| 746 | "fail": {
|
|---|
| 747 | "default": "L’item de liste n’a pas d’élément <ul> ou <ol> parent",
|
|---|
| 748 | "roleNotValid": "L’item de liste n’a pas d’élément <ul> ou <ol> parent sans un role ou un role=\"list\""
|
|---|
| 749 | }
|
|---|
| 750 | },
|
|---|
| 751 | "only-dlitems": {
|
|---|
| 752 | "pass": "L’élément de liste n’a que des descendants directs qui sont autorisés dans les éléments <dt> ou <dd>",
|
|---|
| 753 | "fail": "L’élément de liste a des descendants directs qui ne sont pas autorisés dans les éléments <dt> ou <dd>"
|
|---|
| 754 | },
|
|---|
| 755 | "only-listitems": {
|
|---|
| 756 | "pass": "L’élément de liste n’a que des descendants directs qui sont autorisés dans les éléments <li>",
|
|---|
| 757 | "fail": {
|
|---|
| 758 | "default": "L’élément de liste comporte des descendants directs qui ne sont pas autorisés à l’intérieur de l’élément <li>",
|
|---|
| 759 | "roleNotValid": "L’élément de liste comporte des descendants directs avec un rôle qui n’est pas autorisé : ${data.roles}"
|
|---|
| 760 | }
|
|---|
| 761 | },
|
|---|
| 762 | "structured-dlitems": {
|
|---|
| 763 | "pass": "S’il n’est pas vide, l’élément contient au moins un élément <dt> et un élément <dd>",
|
|---|
| 764 | "fail": "S’il n’est pas vide, l’élément doit contenir au moins un élément <dt> et un élément <dd>"
|
|---|
| 765 | },
|
|---|
| 766 | "caption": {
|
|---|
| 767 | "pass": "L’élément multimédia a une piste de sous-titres",
|
|---|
| 768 | "incomplete": "Aucune piste de sous-titres n’a pu être trouvée pour cet élément"
|
|---|
| 769 | },
|
|---|
| 770 | "frame-tested": {
|
|---|
| 771 | "pass": "L’iframe a été testée avec axe-core",
|
|---|
| 772 | "fail": "L’iframe n’a pu être testée avec axe-core",
|
|---|
| 773 | "incomplete": "L’iframe doit encore être testée avec axe-core"
|
|---|
| 774 | },
|
|---|
| 775 | "no-autoplay-audio": {
|
|---|
| 776 | "pass": "<video> ou <audio> ne produit pas de son pour une durée plus grande que celle permise ou a un mécanisme de contrôle",
|
|---|
| 777 | "fail": "<video> ou <audio> produisent du son pour une durée plus grande que celle permise et n’ont pas de mécanisme de contrôle",
|
|---|
| 778 | "incomplete": "Verifier que l’élément <video> ou <audio> ne produit pas de son pour une durée plus grande que celle permise ou a un mécanisme de contrôle"
|
|---|
| 779 | },
|
|---|
| 780 | "css-orientation-lock": {
|
|---|
| 781 | "pass": "L’utilisation de l’écran est indépendante de l’orientation et n’est pas limitée à un mode d’affichage donné",
|
|---|
| 782 | "fail": "L’utilisation de l’écran est limitée à une orientation donnée par CSS, rendant l’affichage inutilisable",
|
|---|
| 783 | "incomplete": "Le verrouillage de l’orientation d’affichage par CSS ne peut être déterminé"
|
|---|
| 784 | },
|
|---|
| 785 | "meta-viewport-large": {
|
|---|
| 786 | "pass": "La balise <meta> ne limite pas l’agrandissement sur les appareils mobiles",
|
|---|
| 787 | "fail": "La balise <meta> limite l’agrandissement sur les appareils mobiles"
|
|---|
| 788 | },
|
|---|
| 789 | "meta-viewport": {
|
|---|
| 790 | "pass": "La balise <meta> n’empêche pas l’agrandissement sur les appareils mobiles",
|
|---|
| 791 | "fail": "La balise <meta> empêche l’agrandissement sur les appareils mobiles"
|
|---|
| 792 | },
|
|---|
| 793 | "header-present": {
|
|---|
| 794 | "pass": "La page a un entête",
|
|---|
| 795 | "fail": "La page n’a pas d’entête"
|
|---|
| 796 | },
|
|---|
| 797 | "heading-order": {
|
|---|
| 798 | "pass": "Hiérarchie entre les titres valide",
|
|---|
| 799 | "fail": "Hiérarchie entre les titres invalide",
|
|---|
| 800 | "incomplete": "Impossible de déterminer le titre précédent"
|
|---|
| 801 | },
|
|---|
| 802 | "identical-links-same-purpose": {
|
|---|
| 803 | "pass": "Il n’y a pas d’autre lien avec le même nom qui a pour destination une URL différente",
|
|---|
| 804 | "incomplete": "Vérifier que les liens ont la même finalité ou sont volontairement ambigus."
|
|---|
| 805 | },
|
|---|
| 806 | "internal-link-present": {
|
|---|
| 807 | "pass": "Lien d’évitement valide trouvé",
|
|---|
| 808 | "fail": "Aucun lien d’évitement valide trouvé"
|
|---|
| 809 | },
|
|---|
| 810 | "landmark": {
|
|---|
| 811 | "pass": "La page a une région",
|
|---|
| 812 | "fail": "La page n’a pas de région"
|
|---|
| 813 | },
|
|---|
| 814 | "meta-refresh": {
|
|---|
| 815 | "pass": "Aucune balise <meta> ne rafraîchit immédiatement la page",
|
|---|
| 816 | "fail": "La balise <meta> force le rafraîchissement minuté de la page"
|
|---|
| 817 | },
|
|---|
| 818 | "p-as-heading": {
|
|---|
| 819 | "pass": "Les éléments <p> ne sont pas stylés comme des titres",
|
|---|
| 820 | "fail": "Des titres doivent être utilisés au lieu de styler des éléments <p>"
|
|---|
| 821 | },
|
|---|
| 822 | "region": {
|
|---|
| 823 | "pass": "Contenu imbriqué dans une région ARIA",
|
|---|
| 824 | "fail": "Contenu non imbriqué dans une région ARIA"
|
|---|
| 825 | },
|
|---|
| 826 | "skip-link": {
|
|---|
| 827 | "pass": "La cible du lien d’évitement existe",
|
|---|
| 828 | "incomplete": "La cible du lien d’évitement devrait devenir visible lors de l’activation",
|
|---|
| 829 | "fail": "Lien d’évitement sans cible"
|
|---|
| 830 | },
|
|---|
| 831 | "unique-frame-title": {
|
|---|
| 832 | "pass": "L’attribut title de l’élément est unique",
|
|---|
| 833 | "fail": "L’attribut title de l’élément n’est pas unique"
|
|---|
| 834 | },
|
|---|
| 835 | "duplicate-id-active": {
|
|---|
| 836 | "pass": "Le document ne comporte aucun élément actif partageant la même valeur d’attribut id",
|
|---|
| 837 | "fail": "Le document comporte ou un plusieurs éléments actifs partageant la même valeur d’attribut id : ${data}"
|
|---|
| 838 | },
|
|---|
| 839 | "duplicate-id-aria": {
|
|---|
| 840 | "pass": "Le document ne comporte aucun élément référencé par ARIA ou étiquettes partageant la même valeur d’attribut id",
|
|---|
| 841 | "fail": "Le document comporte un ou plusieurs éléments référencés par ARIA partageant la même valeur d’attribut id : ${data}"
|
|---|
| 842 | },
|
|---|
| 843 | "duplicate-id": {
|
|---|
| 844 | "pass": "Le document n’a pas d’éléments qui partagent le même attribut id",
|
|---|
| 845 | "fail": "Le document a plusieurs éléments avec le même attribut id : ${data}"
|
|---|
| 846 | },
|
|---|
| 847 | "aria-label": {
|
|---|
| 848 | "pass": "L’attribut aria-label existe et n’est pas vide",
|
|---|
| 849 | "fail": "L’attribut aria-label n’existe pas ou est vide"
|
|---|
| 850 | },
|
|---|
| 851 | "aria-labelledby": {
|
|---|
| 852 | "pass": "L’attribut aria-labelledby existe et fait référence à des éléments visibles par les lecteurs d’écran",
|
|---|
| 853 | "fail": "L’attribut aria-labelledby n’existe pas, fait référence à des éléments qui n’existent pas ou à des éléments vides ou non visibles",
|
|---|
| 854 | "incomplete": "S’assurer que l’attribut aria-labelledby fait référence à un élément existant"
|
|---|
| 855 | },
|
|---|
| 856 | "avoid-inline-spacing": {
|
|---|
| 857 | "pass": "Aucun style inline affectant l’espacement du texte avec '!important' n’a été spécifié",
|
|---|
| 858 | "fail": {
|
|---|
| 859 | "singular": "Retirer '!important' du style inline ${data.values}, car le remplacement n’est pas pris en charge par la plupart des navigateurs",
|
|---|
| 860 | "plural": "Retirer '!important' des styles inline ${data.values}, car le remplacement n’est pas pris en charge par la plupart des navigateurs"
|
|---|
| 861 | }
|
|---|
| 862 | },
|
|---|
| 863 | "button-has-visible-text": {
|
|---|
| 864 | "pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
|
|---|
| 865 | "fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran",
|
|---|
| 866 | "incomplete": "Impossible de vérifier si l’élément a des enfants"
|
|---|
| 867 | },
|
|---|
| 868 | "doc-has-title": {
|
|---|
| 869 | "pass": "Le document a un élément <title> non vide",
|
|---|
| 870 | "fail": "Le document n’a pas d’élément <title> non vide"
|
|---|
| 871 | },
|
|---|
| 872 | "exists": {
|
|---|
| 873 | "pass": "L’élément n’existe pas",
|
|---|
| 874 | "incomplete": "L’élément existe"
|
|---|
| 875 | },
|
|---|
| 876 | "has-alt": {
|
|---|
| 877 | "pass": "L’élément a un attribut alt",
|
|---|
| 878 | "fail": "L’élément n’a pas d’attribut alt"
|
|---|
| 879 | },
|
|---|
| 880 | "has-visible-text": {
|
|---|
| 881 | "pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
|
|---|
| 882 | "fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran",
|
|---|
| 883 | "incomplete": "Impossible de vérifier si l’élément a des enfants"
|
|---|
| 884 | },
|
|---|
| 885 | "is-on-screen": {
|
|---|
| 886 | "pass": "L’élément n’est pas visible",
|
|---|
| 887 | "fail": "L’élément est visible"
|
|---|
| 888 | },
|
|---|
| 889 | "non-empty-alt": {
|
|---|
| 890 | "pass": "L’élément a un attribut alt non vide",
|
|---|
| 891 | "fail": {
|
|---|
| 892 | "noAttr": "L’élément n’a pas d’attribut alt",
|
|---|
| 893 | "emptyAttr": "L’élément a un attribut alt vide"
|
|---|
| 894 | }
|
|---|
| 895 | },
|
|---|
| 896 | "non-empty-if-present": {
|
|---|
| 897 | "pass": {
|
|---|
| 898 | "default": "L’élément n’a pas d’attribut value",
|
|---|
| 899 | "has-label": "L’élément a un attribut value non-vide"
|
|---|
| 900 | },
|
|---|
| 901 | "fail": "L’élément a un attribut value, et cet attribut est vide"
|
|---|
| 902 | },
|
|---|
| 903 | "non-empty-placeholder": {
|
|---|
| 904 | "pass": "L’élément a un attribut placeholder",
|
|---|
| 905 | "fail": {
|
|---|
| 906 | "noAttr": "L’élément n’a pas d’attribut placeholder",
|
|---|
| 907 | "emptyAttr": "L’élément a un attribut placeholder vide"
|
|---|
| 908 | }
|
|---|
| 909 | },
|
|---|
| 910 | "non-empty-title": {
|
|---|
| 911 | "pass": "L’élément a un attribut title",
|
|---|
| 912 | "fail": {
|
|---|
| 913 | "noAttr": "L’élément n’a pas d’attribut title",
|
|---|
| 914 | "emptyAttr": "L’élément a un attribut title vide"
|
|---|
| 915 | }
|
|---|
| 916 | },
|
|---|
| 917 | "non-empty-value": {
|
|---|
| 918 | "pass": "L’élément a un attribut value non vide",
|
|---|
| 919 | "fail": {
|
|---|
| 920 | "noAttr": "L’élément n’a pas d’attribut value",
|
|---|
| 921 | "emptyAttr": "L’élément a un attribut value vide"
|
|---|
| 922 | }
|
|---|
| 923 | },
|
|---|
| 924 | "presentational-role": {
|
|---|
| 925 | "pass": "La sémantique par défaut de l’élément a été remplacée par role=\"${data.role}\"",
|
|---|
| 926 | "fail": {
|
|---|
| 927 | "default": "La sémantique par défaut de l’élément n’a pas été remplacée par role=\"none\" ou role=\"presentation\"",
|
|---|
| 928 | "globalAria": "Le rôle de l’élément n’est pas un rôle de présentation car il a un attribut ARIA global",
|
|---|
| 929 | "focusable": "Le rôle de l’élément n’est pas un rôle de présentation car il est focalisable",
|
|---|
| 930 | "both": "Le rôle de l’élément n’est pas un rôle de présentation car il a un attribut ARIA global et est focalisable"
|
|---|
| 931 | }
|
|---|
| 932 | },
|
|---|
| 933 | "role-none": {
|
|---|
| 934 | "pass": "La sémantique par défaut de l’élément est annulée avec role=\"none\"",
|
|---|
| 935 | "fail": "La sémantique par défaut de l’élément n’est pas annulée avec role=\"none\""
|
|---|
| 936 | },
|
|---|
| 937 | "role-presentation": {
|
|---|
| 938 | "pass": "La sémantique par défaut de l’élément est annulée avec role=\"presentation\"",
|
|---|
| 939 | "fail": "La sémantique par défaut de l’élément n’est pas annulée avec role=\"presentation\""
|
|---|
| 940 | },
|
|---|
| 941 | "svg-non-empty-title": {
|
|---|
| 942 | "pass": "L’élément a un enfant qui est un titre",
|
|---|
| 943 | "fail": {
|
|---|
| 944 | "noTitle": "L’élément n’a pas d’enfant qui est un titre",
|
|---|
| 945 | "emptyTitle": "Le titre qui est enfant de cet élément est vide"
|
|---|
| 946 | },
|
|---|
| 947 | "incomplete": "Impossible de déterminer si l’élément a un enfant qui est un titre"
|
|---|
| 948 | },
|
|---|
| 949 | "caption-faked": {
|
|---|
| 950 | "pass": "La première ligne d’un tableau n’est pas utilisée en guise de légende",
|
|---|
| 951 | "fail": "La première ligne d’un tableau devrait être un caption et non des cellules de tableau"
|
|---|
| 952 | },
|
|---|
| 953 | "html5-scope": {
|
|---|
| 954 | "pass": "L’attribut scope est utilisé uniquement sur des cellules d’entête de tableau",
|
|---|
| 955 | "fail": "En HTML 5, l’attribut scope ne peut être utilisé que sur des cellules d’entête de tableau"
|
|---|
| 956 | },
|
|---|
| 957 | "same-caption-summary": {
|
|---|
| 958 | "pass": "Les contenus de l’attribut summary et de <caption> ne sont pas identiques",
|
|---|
| 959 | "fail": "Les contenus de l’attribut summary et de <caption> sont identiques"
|
|---|
| 960 | },
|
|---|
| 961 | "scope-value": {
|
|---|
| 962 | "pass": "L’attribut scope est utilisé correctement",
|
|---|
| 963 | "fail": "La valeur de l’attribut scope ne peut être que 'row' ou 'col'"
|
|---|
| 964 | },
|
|---|
| 965 | "td-has-header": {
|
|---|
| 966 | "pass": "Toutes les cellules de données non vides ont un entête de tableau",
|
|---|
| 967 | "fail": "Certaines cellules de données non vides n’ont pas d’entête de tableau"
|
|---|
| 968 | },
|
|---|
| 969 | "td-headers-attr": {
|
|---|
| 970 | "pass": "L’attribut headers est utilisé exclusivement pour faire référence à d’autres cellules dans le tableau",
|
|---|
| 971 | "incomplete": "L’attribut headers est vide",
|
|---|
| 972 | "fail": "L’attribut headers n’est pas utilisé exclusivement pour faire référence à d’autres cellules dans le tableau"
|
|---|
| 973 | },
|
|---|
| 974 | "th-has-data-cells": {
|
|---|
| 975 | "pass": "Toutes les cellules d’entête de tableau font référence à des cellules de données",
|
|---|
| 976 | "fail": "Toutes les cellules d’entête de tableau ne font pas référence à des cellules de données",
|
|---|
| 977 | "incomplete": "Les cellules de données sont absentes ou vides"
|
|---|
| 978 | },
|
|---|
| 979 | "hidden-content": {
|
|---|
| 980 | "pass": "Tout le contenu de la page a été analysé.",
|
|---|
| 981 | "fail": "Il y a eu des problèmes pour analyser le contenu de cette page.",
|
|---|
| 982 | "incomplete": "Il y a du contenu caché sur la page qui n’a pas été analysé. Vous allez devoir modifier l’affichage de ce contenu afin de l’analyser."
|
|---|
| 983 | }
|
|---|
| 984 | },
|
|---|
| 985 | "failureSummaries": {
|
|---|
| 986 | "any": {
|
|---|
| 987 | "failureMessage": "Corriger l’un des éléments suivants : {{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 988 | },
|
|---|
| 989 | "none": {
|
|---|
| 990 | "failureMessage": "Corriger tous les éléments suivants : {{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 991 | }
|
|---|
| 992 | },
|
|---|
| 993 | "incompleteFallbackMessage": "axe n’a pu en déterminer la raison. Il est temps de sortir l’inspecteur d’éléments !"
|
|---|
| 994 | }
|
|---|