axe-core 4.3.2 → 4.3.3-canary.2f439b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/axe.d.ts +12 -8
- package/axe.js +434 -303
- package/axe.min.js +2 -2
- package/locales/fr.json +210 -39
- package/locales/ko.json +596 -377
- package/package.json +2 -1
- package/sri-history.json +289 -281
package/locales/fr.json
CHANGED
|
@@ -17,6 +17,14 @@
|
|
|
17
17
|
"description": "Vérifier que l’attribut role a une valeur valide pour cet élément",
|
|
18
18
|
"help": "Le rôle ARIA doit être valide pour cet élément"
|
|
19
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
|
+
},
|
|
20
28
|
"aria-hidden-body": {
|
|
21
29
|
"description": "Vérifier qu’aria-hidden='true' n’est pas présent sur le corps du document (élément body)",
|
|
22
30
|
"help": "aria-hidden='true' ne doit pas être présent sur <body>"
|
|
@@ -29,6 +37,14 @@
|
|
|
29
37
|
"description": "Vérifier que chaque champ de formulaire avec ARIA est doté d’un intitulé accessible",
|
|
30
38
|
"help": "Les champs de formulaire ARIA ont un intitulé accessible"
|
|
31
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
|
+
},
|
|
32
48
|
"aria-required-attr": {
|
|
33
49
|
"description": "Vérifier que les éléments avec des rôles ARIA ont les attributs ARIA requis",
|
|
34
50
|
"help": "Les attributs ARIA requis doivent être présents"
|
|
@@ -49,10 +65,22 @@
|
|
|
49
65
|
"description": "Vérifier que les éléments avec un attribut role utilisent une valeur valide",
|
|
50
66
|
"help": "Les rôles ARIA doivent se conformer aux valeurs valides"
|
|
51
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
|
+
},
|
|
52
72
|
"aria-toggle-field-name": {
|
|
53
73
|
"description": "Vérifier que chaque champ de basculement ARIA a un libellé accessible",
|
|
54
74
|
"help": "Les champs de basculement ARIA ont un libellé accessible"
|
|
55
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
|
+
},
|
|
56
84
|
"aria-valid-attr-value": {
|
|
57
85
|
"description": "Vérifier que tous les attributs ARIA comportent des valeurs valides",
|
|
58
86
|
"help": "Les attributs ARIA doivent comporter des valeurs valides"
|
|
@@ -121,6 +149,10 @@
|
|
|
121
149
|
"description": "Vérifier que les niveaux de titre ont un texte perceptible",
|
|
122
150
|
"help": "Les niveaux de titre ne doivent pas être vides"
|
|
123
151
|
},
|
|
152
|
+
"empty-table-header": {
|
|
153
|
+
"description": "Vérifier que les entêtes de tableaux ont un texte perceptible",
|
|
154
|
+
"help": "Les textes d’entêtes de tableaux ne doivent pas être vides"
|
|
155
|
+
},
|
|
124
156
|
"focus-order-semantics": {
|
|
125
157
|
"description": "Vérifier que les éléments dans le parcours du focus ont un rôle approprié",
|
|
126
158
|
"help": "Les éléments dans le parcours du focus doivent avoir un rôle approprié pour le contenu interactif"
|
|
@@ -129,6 +161,10 @@
|
|
|
129
161
|
"description": "Vérifier que le champ de formulaire n’a pas plusieurs éléments d’étiquettes",
|
|
130
162
|
"help": "Le champ de formulaire ne devrait pas comporter plusieurs éléments d’étiquettes"
|
|
131
163
|
},
|
|
164
|
+
"frame-focusable-content": {
|
|
165
|
+
"description": "Vérifier que les éléments <frame> et <iframe> avec du contenu focalisable n’ont pas de tabindex=-1",
|
|
166
|
+
"help": "Les cadres avec du contenu focalisable ne doivent pas avoir tabindex=-1"
|
|
167
|
+
},
|
|
132
168
|
"frame-tested": {
|
|
133
169
|
"description": "Vérifier que les éléments <iframe> et <frame> contiennent le script axe-core",
|
|
134
170
|
"help": "Les cadres doivent être testés avec axe-core"
|
|
@@ -161,6 +197,10 @@
|
|
|
161
197
|
"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",
|
|
162
198
|
"help": "Les éléments HTML avec les attributs lang et xml:lang doivent avoir la même langue de base"
|
|
163
199
|
},
|
|
200
|
+
"identical-links-same-purpose": {
|
|
201
|
+
"description": "Vérifier que les liens qui ont le même nom accessible ont la même finalité",
|
|
202
|
+
"help": "Les liens avec le même nom ont la même finalité"
|
|
203
|
+
},
|
|
164
204
|
"image-alt": {
|
|
165
205
|
"description": "Vérifier que les éléments <img> ont une alternative textuelle, ou un rôle de type 'none' ou 'presentation'",
|
|
166
206
|
"help": "Les images doivent avoir une alternative textuelle"
|
|
@@ -257,6 +297,14 @@
|
|
|
257
297
|
"description": "Vérifier que <meta name=\"viewport\"> ne désactive pas le zoom ni l’agrandissement",
|
|
258
298
|
"help": "Le zoom et l’agrandissement ne doivent pas être désactivés"
|
|
259
299
|
},
|
|
300
|
+
"nested-interactive": {
|
|
301
|
+
"description": "Les éléments interactifs imbriqués ne sont pas annoncés par les lecteurs d’écrans",
|
|
302
|
+
"help": "Verifier que les éléments interactifs ne sont pas imbriqués"
|
|
303
|
+
},
|
|
304
|
+
"no-autoplay-audio": {
|
|
305
|
+
"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.",
|
|
306
|
+
"help": "Les éléments <video> ou <audio> ne jouent pas de son automatiquement"
|
|
307
|
+
},
|
|
260
308
|
"object-alt": {
|
|
261
309
|
"description": "Vérifier que les éléments <object> ont une alternative textuelle",
|
|
262
310
|
"help": "Les éléments <object> doivent avoir une alternative textuelle"
|
|
@@ -269,6 +317,10 @@
|
|
|
269
317
|
"description": "Vérifier que la page, ou au moins une de ses iframes, contient un titre de niveau 1",
|
|
270
318
|
"help": "La page doit contenir un titre de niveau 1"
|
|
271
319
|
},
|
|
320
|
+
"presentation-role-conflict": {
|
|
321
|
+
"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.",
|
|
322
|
+
"help": "Les éléments avec un rôle 'none' ou 'presentation' doivent être signalés"
|
|
323
|
+
},
|
|
272
324
|
"region": {
|
|
273
325
|
"description": "Vérifier que tout le contenu est localisé dans une région",
|
|
274
326
|
"help": "Le contenu doit être localisé dans une région"
|
|
@@ -285,6 +337,10 @@
|
|
|
285
337
|
"description": "Les éléments dont le contenu défile devraient être accessibles au clavier",
|
|
286
338
|
"help": "Vérifier que les régions défilantes sont accessibles au clavier"
|
|
287
339
|
},
|
|
340
|
+
"select-name": {
|
|
341
|
+
"description": "Vérifier que l’élément 'select' a un nom accessible",
|
|
342
|
+
"help": "L’élément 'select' doit avoir un nom accessible"
|
|
343
|
+
},
|
|
288
344
|
"server-side-image-map": {
|
|
289
345
|
"description": "Vérifier que les images réactives côté serveur ne sont pas utilisées",
|
|
290
346
|
"help": "Les images réactives côté serveur ne devraient pas être utilisées"
|
|
@@ -293,6 +349,10 @@
|
|
|
293
349
|
"description": "Vérifier que tous les liens d’évitement ont une cible pouvant recevoir le focus",
|
|
294
350
|
"help": "La cible d’un lien d’évitement doit exister et pouvoir recevoir le focus"
|
|
295
351
|
},
|
|
352
|
+
"svg-img-alt": {
|
|
353
|
+
"description": "Vérifier que les éléments svg avec un rôle 'img', 'graphics-document', ou 'graphics-symbol' ont un texte accessible",
|
|
354
|
+
"help": "Les éléments svg avec un rôle 'img' ont un texte alternatif"
|
|
355
|
+
},
|
|
296
356
|
"tabindex": {
|
|
297
357
|
"description": "Vérifier que les valeurs de l’attribut tabindex ne sont pas supérieures à 0",
|
|
298
358
|
"help": "Aucun élément ne devrait avoir un tabindex avec une valeur supérieure à zéro"
|
|
@@ -329,7 +389,10 @@
|
|
|
329
389
|
"checks": {
|
|
330
390
|
"abstractrole": {
|
|
331
391
|
"pass": "Les rôles abstraits ne sont pas utilisés",
|
|
332
|
-
"fail":
|
|
392
|
+
"fail": {
|
|
393
|
+
"singular": "Le rôle abstrait ne peut pas être utilisé directement : ${data.values}",
|
|
394
|
+
"plural": "Les rôles abstraits ne peuvent pas être utilisés directement : ${data.values}"
|
|
395
|
+
}
|
|
333
396
|
},
|
|
334
397
|
"aria-allowed-attr": {
|
|
335
398
|
"pass": "Les attributs ARIA sont utilisés correctement pour le rôle défini",
|
|
@@ -349,33 +412,30 @@
|
|
|
349
412
|
"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"
|
|
350
413
|
}
|
|
351
414
|
},
|
|
352
|
-
"aria-hidden-body": {
|
|
353
|
-
"pass": "Aucun attribut aria-hidden n’est présent sur body",
|
|
354
|
-
"fail": "aria-hidden=true ne devrait pas être présent sur body"
|
|
355
|
-
},
|
|
356
|
-
"aria-roledescription": {
|
|
357
|
-
"pass": "aria-roledescription utilisé sur un élément sémantique supporté",
|
|
358
|
-
"incomplete": "Vérifier que la valeur d’aria-roledescription est annoncée par les lecteurs d’écran supportés",
|
|
359
|
-
"fail": "Attribuer à l’élément un role qui supporte aria-roledescription"
|
|
360
|
-
},
|
|
361
415
|
"aria-errormessage": {
|
|
362
416
|
"pass": "Utiliser une technique prise en charge pour aria-errormessage",
|
|
363
417
|
"fail": {
|
|
364
418
|
"singular": "La valeur d’aria-errormessage `${data.values}` doit recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)",
|
|
365
419
|
"plural": "Les valeurs aria-errormessage `${data.values}` doivent recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)"
|
|
420
|
+
},
|
|
421
|
+
"incomplete": {
|
|
422
|
+
"singular": "Vérifier que la valeur de l’attribut 'aria-errormessage' `${data.values}` se réfère à un élément existant",
|
|
423
|
+
"plural": "Vérifier que les valeurs de l’attribut 'aria-errormessage' `${data.values}` se réfèrent à des éléments existants",
|
|
424
|
+
"idrefs": "Impossible de déterminer si l’élément référencé par 'aria-errormessage' existe dans la page : ${data.values}"
|
|
366
425
|
}
|
|
367
426
|
},
|
|
368
|
-
"
|
|
369
|
-
"pass": "
|
|
370
|
-
"fail": "
|
|
427
|
+
"aria-hidden-body": {
|
|
428
|
+
"pass": "Aucun attribut aria-hidden n’est présent sur body",
|
|
429
|
+
"fail": "aria-hidden=true ne devrait pas être présent sur body"
|
|
371
430
|
},
|
|
372
|
-
"
|
|
373
|
-
"pass": "
|
|
374
|
-
"
|
|
431
|
+
"aria-level": {
|
|
432
|
+
"pass": "Les valeurs d’aria-level sont valides",
|
|
433
|
+
"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"
|
|
375
434
|
},
|
|
376
|
-
"
|
|
377
|
-
"pass": "
|
|
378
|
-
"
|
|
435
|
+
"aria-prohibited-attr":{
|
|
436
|
+
"pass": "L’attribut ARIA est autorisé",
|
|
437
|
+
"fail": "L’attribut ARIA ne peut pas être utilisé, ajoutez un attribut role ou utilisez un élément différent : ${data.values}",
|
|
438
|
+
"incomplete": "L’attribut ARIA n’est pas bien supporté sur l’élément et le contenu texte sera utilisé à la place : ${data.values}"
|
|
379
439
|
},
|
|
380
440
|
"aria-required-attr": {
|
|
381
441
|
"pass": "Tous les attributs ARIA requis sont présents",
|
|
@@ -402,14 +462,15 @@
|
|
|
402
462
|
"plural": "Les rôles parents ARIA requis sont manquants : ${data.values}"
|
|
403
463
|
}
|
|
404
464
|
},
|
|
465
|
+
"aria-roledescription": {
|
|
466
|
+
"pass": "aria-roledescription utilisé sur un élément sémantique supporté",
|
|
467
|
+
"incomplete": "Vérifier que la valeur d’aria-roledescription est annoncée par les lecteurs d’écran supportés",
|
|
468
|
+
"fail": "Attribuer à l’élément un rôle qui supporte aria-roledescription"
|
|
469
|
+
},
|
|
405
470
|
"aria-unsupported-attr": {
|
|
406
471
|
"pass": "L’attribut ARIA est supporté",
|
|
407
472
|
"fail": "L’attribut ARIA n’est pas suffisamment supporté par les lecteurs d’écran et autres technologies d’assistance : ${data.values}"
|
|
408
473
|
},
|
|
409
|
-
"unsupportedrole": {
|
|
410
|
-
"pass": "Le rôle ARIA est supporté",
|
|
411
|
-
"fail": "Le rôle utilisé n’est pas suffisamment supporté par les technologies d’assistance"
|
|
412
|
-
},
|
|
413
474
|
"aria-valid-attr-value": {
|
|
414
475
|
"pass": "Les valeurs d’attribut ARIA sont valides",
|
|
415
476
|
"fail": {
|
|
@@ -417,8 +478,9 @@
|
|
|
417
478
|
"plural": "Les valeurs d’attribut ARIA sont invalides : ${data.values}"
|
|
418
479
|
},
|
|
419
480
|
"incomplete": {
|
|
420
|
-
"
|
|
421
|
-
"
|
|
481
|
+
"noId": "L’ID d’élément référencé par l’attribut ARIA n’existe pas dans la page : ${data.needsReview}",
|
|
482
|
+
"ariaCurrent": "La valeur de l’attribut ARIA est invalide et sera traitée comme \"aria-current=true\" : ${data.needsReview}",
|
|
483
|
+
"idrefs": "Impossible de vérifier si l’ID d’élément référencé par l’attribut ARIA existe dans la page : ${data.needsReview}"
|
|
422
484
|
}
|
|
423
485
|
},
|
|
424
486
|
"aria-valid-attr": {
|
|
@@ -431,13 +493,52 @@
|
|
|
431
493
|
"plural": "Les noms d’attributs ARIA sont invalides : ${data.values}"
|
|
432
494
|
}
|
|
433
495
|
},
|
|
496
|
+
"fallbackrole": {
|
|
497
|
+
"pass": "Une seule valeur de rôle utilisée",
|
|
498
|
+
"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",
|
|
499
|
+
"incomplete": "Utiliser seulement les rôles 'presentation' ou 'none' puisqu’ils sont synonymes."
|
|
500
|
+
},
|
|
501
|
+
"has-global-aria-attribute": {
|
|
502
|
+
"pass": {
|
|
503
|
+
"singular": "L’élément a un attribut ARIA global : ${data.values}",
|
|
504
|
+
"plural": "L’élément a des attributs ARIA globaux : ${data.values}"
|
|
505
|
+
},
|
|
506
|
+
"fail": "L’élément n’a pas d’attribut ARIA global"
|
|
507
|
+
},
|
|
508
|
+
"has-widget-role": {
|
|
509
|
+
"pass": "L’élément a un rôle widget.",
|
|
510
|
+
"fail": "L’élément n’a pas de rôle widget."
|
|
511
|
+
},
|
|
512
|
+
"invalidrole": {
|
|
513
|
+
"pass": "Le rôle ARIA est valide",
|
|
514
|
+
"fail": {
|
|
515
|
+
"singular": "Le rôle doit être un rôle ARIA valide : ${data.values}",
|
|
516
|
+
"plural": "Les rôles doivent être des rôles ARIA valides : ${data.values}"
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"is-element-focusable": {
|
|
520
|
+
"pass": "L’élément est focalisable.",
|
|
521
|
+
"fail": "L’élément n’est pas focalisable."
|
|
522
|
+
},
|
|
523
|
+
"no-implicit-explicit-label": {
|
|
524
|
+
"pass": "Il n’y a pas de décalage entre le <label> et l’intitulé accessible",
|
|
525
|
+
"incomplete": "Vérifier que le <label> n’a pas à faire partie du nom du champ de formulaire ARIA ${data}"
|
|
526
|
+
},
|
|
527
|
+
"unsupportedrole": {
|
|
528
|
+
"pass": "Le rôle ARIA est supporté",
|
|
529
|
+
"fail": "Le rôle utilisé n’est pas suffisamment supporté par les technologies d’assistance"
|
|
530
|
+
},
|
|
434
531
|
"valid-scrollable-semantics": {
|
|
435
532
|
"pass": "L’élément a une sémantique valide pour un élément dans l’ordre de tabulation.",
|
|
436
533
|
"fail": "L’élément n’a pas une sémantique valide pour un élément dans l’ordre de tabulation."
|
|
437
534
|
},
|
|
438
535
|
"color-contrast": {
|
|
439
536
|
"pass": "L’élément a un contraste de couleurs suffisant de ${data.contrastRatio}",
|
|
440
|
-
"fail":
|
|
537
|
+
"fail": {
|
|
538
|
+
"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}",
|
|
539
|
+
"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}",
|
|
540
|
+
"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}"
|
|
541
|
+
},
|
|
441
542
|
"incomplete": {
|
|
442
543
|
"default": "Impossible de déterminer le rapport de contraste",
|
|
443
544
|
"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",
|
|
@@ -449,7 +550,9 @@
|
|
|
449
550
|
"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",
|
|
450
551
|
"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",
|
|
451
552
|
"equalRatio": "L’élément a un rapport de contraste de 1:1 avec son arrière-plan",
|
|
452
|
-
"shortTextContent": "Le contenu de l’élément est trop court pour déterminer s’il s’agit réellement d’un contenu textuel"
|
|
553
|
+
"shortTextContent": "Le contenu de l’élément est trop court pour déterminer s’il s’agit réellement d’un contenu textuel",
|
|
554
|
+
"nonBmp": "Le contenu de l’élément contient seulement des caractères non textuels",
|
|
555
|
+
"pseudoContent": "La couleur d’arrière plan de l’élément n’a pu être déterminée à cause d’un pseudo-élément"
|
|
453
556
|
}
|
|
454
557
|
},
|
|
455
558
|
"link-in-text-block": {
|
|
@@ -488,18 +591,33 @@
|
|
|
488
591
|
"pass": "L’élément est focalisable",
|
|
489
592
|
"fail": "L’élément devrait être focalisable"
|
|
490
593
|
},
|
|
594
|
+
"focusable-modal-open": {
|
|
595
|
+
"pass": "Pas d’élément focalisable quand une modale est ouverte",
|
|
596
|
+
"incomplete": "Vérifiez que les éléments focalisables ne sont pas atteignables via la tabulation dans l’état actuel"
|
|
597
|
+
},
|
|
491
598
|
"focusable-no-name": {
|
|
492
599
|
"pass": "L’élément n’est pas dans l’ordre de tabulation ou a un intitulé accessible",
|
|
493
|
-
"fail": "L’élément est dans l’ordre de tabulation et n’a pas d’intitulé accessible"
|
|
600
|
+
"fail": "L’élément est dans l’ordre de tabulation et n’a pas d’intitulé accessible",
|
|
601
|
+
"incomplete": "Impossible de déterminer si l’élément a un nom accessible"
|
|
494
602
|
},
|
|
495
603
|
"focusable-not-tabbable": {
|
|
496
604
|
"pass": "Aucun élément focalisable contenu dans l’élément",
|
|
497
605
|
"fail": "Le contenu focalisable devrait se voir assigné un tabindex='-1' ou être retiré du DOM"
|
|
498
606
|
},
|
|
607
|
+
"frame-focusable-content": {
|
|
608
|
+
"pass": "L’élément n’a pas de descendants focalisables",
|
|
609
|
+
"fail": "L’élément a des descendants focalisables",
|
|
610
|
+
"incomplete": "Impossible de déterminer si l’élément a des descendants"
|
|
611
|
+
},
|
|
499
612
|
"landmark-is-top-level": {
|
|
500
613
|
"pass": "La région ${data.role} est au niveau le plus haut.",
|
|
501
614
|
"fail": "La région ${data.role} est contenue dans une autre région."
|
|
502
615
|
},
|
|
616
|
+
"no-focusable-content": {
|
|
617
|
+
"pass": "L’élément n’a pas de descendants focalisables",
|
|
618
|
+
"fail": "L’élément a des descendants focalisables",
|
|
619
|
+
"incomplete": "Impossible de déterminer si l’élément a des descendants"
|
|
620
|
+
},
|
|
503
621
|
"page-has-heading-one": {
|
|
504
622
|
"pass": "La page a au moins un titre de niveau un",
|
|
505
623
|
"fail": "La page doit avoir un titre de niveau un"
|
|
@@ -534,7 +652,8 @@
|
|
|
534
652
|
},
|
|
535
653
|
"explicit-label": {
|
|
536
654
|
"pass": "L’élément de formulaire a un <label> explicite",
|
|
537
|
-
"fail": "L’élément de formulaire n’a pas de <label> explicite"
|
|
655
|
+
"fail": "L’élément de formulaire n’a pas de <label> explicite",
|
|
656
|
+
"incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> explicite"
|
|
538
657
|
},
|
|
539
658
|
"help-same-as-label": {
|
|
540
659
|
"pass": "L’aide à la saisie (title ou aria-describedby) ne duplique pas le contenu du label",
|
|
@@ -542,11 +661,13 @@
|
|
|
542
661
|
},
|
|
543
662
|
"hidden-explicit-label": {
|
|
544
663
|
"pass": "L’élément de formulaire a un <label> visible et explicite",
|
|
545
|
-
"fail": "L’élément de formulaire a un <label> explicite qui est masqué"
|
|
664
|
+
"fail": "L’élément de formulaire a un <label> explicite qui est masqué",
|
|
665
|
+
"incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> explicite qui est masqué"
|
|
546
666
|
},
|
|
547
667
|
"implicit-label": {
|
|
548
668
|
"pass": "L’élément de formulaire a un <label> implicite (imbriqué)",
|
|
549
|
-
"fail": "L’élément de formulaire n’a pas de <label> implicite (imbriqué)"
|
|
669
|
+
"fail": "L’élément de formulaire n’a pas de <label> implicite (imbriqué)",
|
|
670
|
+
"incomplete": "Impossible de déterminer si l’élément de formulaire a un <label> implicite (imbriqué)"
|
|
550
671
|
},
|
|
551
672
|
"label-content-name-mismatch": {
|
|
552
673
|
"pass": "L’élément contient du texte visible qui n’est pas inclus dans l’intitulé accessible",
|
|
@@ -566,7 +687,10 @@
|
|
|
566
687
|
},
|
|
567
688
|
"has-lang": {
|
|
568
689
|
"pass": "L’élément <html> a un attribut lang",
|
|
569
|
-
"fail":
|
|
690
|
+
"fail": {
|
|
691
|
+
"noXHTML": "L’attribut xml:lang n’est pas valide sur les pages HTML, utiliser l’attribut lang.",
|
|
692
|
+
"noLang": "L’élément <html> n’a pas d’attribut lang"
|
|
693
|
+
}
|
|
570
694
|
},
|
|
571
695
|
"valid-lang": {
|
|
572
696
|
"pass": "La valeur de l’attribut lang fait partie des codes de langues valides",
|
|
@@ -611,6 +735,11 @@
|
|
|
611
735
|
"fail": "L’iframe n’a pu être testée avec axe-core",
|
|
612
736
|
"incomplete": "L’iframe doit encore être testée avec axe-core"
|
|
613
737
|
},
|
|
738
|
+
"no-autoplay-audio": {
|
|
739
|
+
"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",
|
|
740
|
+
"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",
|
|
741
|
+
"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"
|
|
742
|
+
},
|
|
614
743
|
"css-orientation-lock": {
|
|
615
744
|
"pass": "L’utilisation de l’écran est indépendante de l’orientation et n’est pas limitée à un mode d’affichage donné",
|
|
616
745
|
"fail": "L’utilisation de l’écran est limitée à une orientation donnée par CSS, rendant l’affichage inutilisable",
|
|
@@ -630,7 +759,12 @@
|
|
|
630
759
|
},
|
|
631
760
|
"heading-order": {
|
|
632
761
|
"pass": "Hiérarchie entre les titres valide",
|
|
633
|
-
"fail": "Hiérarchie entre les titres invalide"
|
|
762
|
+
"fail": "Hiérarchie entre les titres invalide",
|
|
763
|
+
"incomplete": "Impossible de déterminer le titre précédent"
|
|
764
|
+
},
|
|
765
|
+
"identical-links-same-purpose": {
|
|
766
|
+
"pass": "Il n’y a pas d’autre lien avec le même nom qui a pour destination une URL différente",
|
|
767
|
+
"incomplete": "Vérifier que les liens ont la même finalité ou sont volontairement ambigus."
|
|
634
768
|
},
|
|
635
769
|
"internal-link-present": {
|
|
636
770
|
"pass": "Lien d’évitement valide trouvé",
|
|
@@ -679,7 +813,8 @@
|
|
|
679
813
|
},
|
|
680
814
|
"aria-labelledby": {
|
|
681
815
|
"pass": "L’attribut aria-labelledby existe et fait référence à des éléments visibles par les lecteurs d’écran",
|
|
682
|
-
"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"
|
|
816
|
+
"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",
|
|
817
|
+
"incomplete": "S’assurer que l’attribut aria-labelledby fait référence à un élément existant"
|
|
683
818
|
},
|
|
684
819
|
"avoid-inline-spacing": {
|
|
685
820
|
"pass": "Aucun style inline affectant l’espacement du texte avec '!important' n’a été spécifié",
|
|
@@ -690,7 +825,8 @@
|
|
|
690
825
|
},
|
|
691
826
|
"button-has-visible-text": {
|
|
692
827
|
"pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
|
|
693
|
-
"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran"
|
|
828
|
+
"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran",
|
|
829
|
+
"incomplete": "Impossible de vérifier si l’élément a des enfants"
|
|
694
830
|
},
|
|
695
831
|
"doc-has-title": {
|
|
696
832
|
"pass": "Le document a un élément <title> non vide",
|
|
@@ -706,7 +842,8 @@
|
|
|
706
842
|
},
|
|
707
843
|
"has-visible-text": {
|
|
708
844
|
"pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
|
|
709
|
-
"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran"
|
|
845
|
+
"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran",
|
|
846
|
+
"incomplete": "Impossible de vérifier si l’élément a des enfants"
|
|
710
847
|
},
|
|
711
848
|
"is-on-screen": {
|
|
712
849
|
"pass": "L’élément n’est pas visible",
|
|
@@ -714,7 +851,10 @@
|
|
|
714
851
|
},
|
|
715
852
|
"non-empty-alt": {
|
|
716
853
|
"pass": "L’élément a un attribut alt non vide",
|
|
717
|
-
"fail":
|
|
854
|
+
"fail": {
|
|
855
|
+
"noAttr": "L’élément n’a pas d’attribut alt",
|
|
856
|
+
"emptyAttr": "L’élément a un attribut alt vide"
|
|
857
|
+
}
|
|
718
858
|
},
|
|
719
859
|
"non-empty-if-present": {
|
|
720
860
|
"pass": {
|
|
@@ -723,13 +863,35 @@
|
|
|
723
863
|
},
|
|
724
864
|
"fail": "L’élément a un attribut value, et cet attribut est vide"
|
|
725
865
|
},
|
|
866
|
+
"non-empty-placeholder": {
|
|
867
|
+
"pass": "L’élément a un attribut placeholder",
|
|
868
|
+
"fail": {
|
|
869
|
+
"noAttr": "L’élément n’a pas d’attribut placeholder",
|
|
870
|
+
"emptyAttr": "L’élément a un attribut placeholder vide"
|
|
871
|
+
}
|
|
872
|
+
},
|
|
726
873
|
"non-empty-title": {
|
|
727
874
|
"pass": "L’élément a un attribut title",
|
|
728
|
-
"fail":
|
|
875
|
+
"fail": {
|
|
876
|
+
"noAttr": "L’élément n’a pas d’attribut title",
|
|
877
|
+
"emptyAttr": "L’élément a un attribut title vide"
|
|
878
|
+
}
|
|
729
879
|
},
|
|
730
880
|
"non-empty-value": {
|
|
731
881
|
"pass": "L’élément a un attribut value non vide",
|
|
732
|
-
"fail":
|
|
882
|
+
"fail": {
|
|
883
|
+
"noAttr": "L’élément n’a pas d’attribut value",
|
|
884
|
+
"emptyAttr": "L’élément a un attribut value vide"
|
|
885
|
+
}
|
|
886
|
+
},
|
|
887
|
+
"presentational-role": {
|
|
888
|
+
"pass": "La sémantique par défaut de l’élément a été remplacée par role=\"${data.role}\"",
|
|
889
|
+
"fail": {
|
|
890
|
+
"default": "La sémantique par défaut de l’élément n’a pas été remplacée par role=\"none\" ou role=\"presentation\"",
|
|
891
|
+
"globalAria": "Le rôle de l’élément n’est pas un rôle de présentation car il a un attribut ARIA global",
|
|
892
|
+
"focusable": "Le rôle de l’élément n’est pas un rôle de présentation car il est focalisable",
|
|
893
|
+
"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"
|
|
894
|
+
}
|
|
733
895
|
},
|
|
734
896
|
"role-none": {
|
|
735
897
|
"pass": "La sémantique par défaut de l’élément est annulée avec role=\"none\"",
|
|
@@ -739,6 +901,14 @@
|
|
|
739
901
|
"pass": "La sémantique par défaut de l’élément est annulée avec role=\"presentation\"",
|
|
740
902
|
"fail": "La sémantique par défaut de l’élément n’est pas annulée avec role=\"presentation\""
|
|
741
903
|
},
|
|
904
|
+
"svg-non-empty-title": {
|
|
905
|
+
"pass": "L’élément a un enfant qui est un titre",
|
|
906
|
+
"fail": {
|
|
907
|
+
"noTitle": "L’élément n’a pas d’enfant qui est un titre",
|
|
908
|
+
"emptyTitle": "Le titre qui est enfant de cet élément est vide"
|
|
909
|
+
},
|
|
910
|
+
"incomplete": "Impossible de déterminer si l’élément a un enfant qui est un titre"
|
|
911
|
+
},
|
|
742
912
|
"caption-faked": {
|
|
743
913
|
"pass": "La première ligne d’un tableau n’est pas utilisée en guise de légende",
|
|
744
914
|
"fail": "La première ligne d’un tableau devrait être un caption et non des cellules de tableau"
|
|
@@ -761,6 +931,7 @@
|
|
|
761
931
|
},
|
|
762
932
|
"td-headers-attr": {
|
|
763
933
|
"pass": "L’attribut headers est utilisé exclusivement pour faire référence à d’autres cellules dans le tableau",
|
|
934
|
+
"incomplete": "L’attribut headers est vide",
|
|
764
935
|
"fail": "L’attribut headers n’est pas utilisé exclusivement pour faire référence à d’autres cellules dans le tableau"
|
|
765
936
|
},
|
|
766
937
|
"th-has-data-cells": {
|