testaro-issues 0.6.0 → 0.7.1
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/README.md +4 -2
- package/dist/index.cjs +1393 -464
- package/dist/index.d.cts +103 -20
- package/dist/index.d.mts +103 -20
- package/dist/index.mjs +1393 -464
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -58,6 +58,12 @@ const issuesData = {
|
|
|
58
58
|
"wcag": "2.2.2",
|
|
59
59
|
"weight": 3
|
|
60
60
|
},
|
|
61
|
+
"animationTriggered": {
|
|
62
|
+
"summary": "interaction triggers unpreventable animation",
|
|
63
|
+
"why": "Motion-sensitive user may suffer harm",
|
|
64
|
+
"wcag": "2.3.3",
|
|
65
|
+
"weight": 3
|
|
66
|
+
},
|
|
61
67
|
"appletNoText": {
|
|
62
68
|
"summary": "applet not named",
|
|
63
69
|
"why": "User cannot get help on how to use a custom item",
|
|
@@ -190,6 +196,12 @@ const issuesData = {
|
|
|
190
196
|
"wcag": "1.2.1",
|
|
191
197
|
"weight": 1
|
|
192
198
|
},
|
|
199
|
+
"autoAuthBanned": {
|
|
200
|
+
"summary": "login automation prohibited",
|
|
201
|
+
"why": "User cannot get help needed for logging in",
|
|
202
|
+
"wcag": "3.3.8",
|
|
203
|
+
"weight": 4
|
|
204
|
+
},
|
|
193
205
|
"autocompleteBad": {
|
|
194
206
|
"summary": "autocomplete invalid",
|
|
195
207
|
"why": "User cannot get help entering personal information in a form item",
|
|
@@ -299,6 +311,12 @@ const issuesData = {
|
|
|
299
311
|
"wcag": "1.4.4",
|
|
300
312
|
"weight": 3
|
|
301
313
|
},
|
|
314
|
+
"brailleOnly": {
|
|
315
|
+
"summary": "element has only a Braille name or role",
|
|
316
|
+
"why": "User cannot get help understanding an item",
|
|
317
|
+
"wcag": "4.1.2",
|
|
318
|
+
"weight": 4
|
|
319
|
+
},
|
|
302
320
|
"browserSupportRisk": {
|
|
303
321
|
"summary": "inputmode attribute",
|
|
304
322
|
"why": "Page may include code that the browser cannot process",
|
|
@@ -307,7 +325,7 @@ const issuesData = {
|
|
|
307
325
|
},
|
|
308
326
|
"buttonAlt": {
|
|
309
327
|
"summary": "button has alt",
|
|
310
|
-
"why": "User cannot get help
|
|
328
|
+
"why": "User cannot get help explaining a button",
|
|
311
329
|
"wcag": "4.1.2",
|
|
312
330
|
"weight": 4
|
|
313
331
|
},
|
|
@@ -530,9 +548,9 @@ const issuesData = {
|
|
|
530
548
|
"weight": 1
|
|
531
549
|
},
|
|
532
550
|
"directionRisk": {
|
|
533
|
-
"summary": "
|
|
534
|
-
"why": "
|
|
535
|
-
"wcag": "1
|
|
551
|
+
"summary": "text direction wrong?",
|
|
552
|
+
"why": "Helper may misread text to the user",
|
|
553
|
+
"wcag": "4.1",
|
|
536
554
|
"weight": 1
|
|
537
555
|
},
|
|
538
556
|
"divInTable": {
|
|
@@ -575,6 +593,12 @@ const issuesData = {
|
|
|
575
593
|
"wcag": "1.3.6",
|
|
576
594
|
"weight": 3
|
|
577
595
|
},
|
|
596
|
+
"dragAlt": {
|
|
597
|
+
"summary": "no single-pointer alternative to dragging",
|
|
598
|
+
"why": "Click-only user cannot perform an operation",
|
|
599
|
+
"wcag": "2.5.7",
|
|
600
|
+
"weight": 4
|
|
601
|
+
},
|
|
578
602
|
"duplicateAttribute": {
|
|
579
603
|
"summary": "duplicate attribute",
|
|
580
604
|
"why": "Browser processes the page improperly",
|
|
@@ -723,6 +747,12 @@ const issuesData = {
|
|
|
723
747
|
"wcag": "4.1.2",
|
|
724
748
|
"weight": 3
|
|
725
749
|
},
|
|
750
|
+
"focusCovered": {
|
|
751
|
+
"summary": "focused element covered",
|
|
752
|
+
"why": "User cannot see which item will be operated on",
|
|
753
|
+
"wcag": "2.4.11",
|
|
754
|
+
"weight": 4
|
|
755
|
+
},
|
|
726
756
|
"focusDiscrepancy": {
|
|
727
757
|
"summary": "Tab-focusable elements wrong",
|
|
728
758
|
"why": "Item selections by a keyboard-only user are useless or impossible",
|
|
@@ -753,6 +783,12 @@ const issuesData = {
|
|
|
753
783
|
"wcag": "2.4.7",
|
|
754
784
|
"weight": 1
|
|
755
785
|
},
|
|
786
|
+
"focusSurprise": {
|
|
787
|
+
"summary": "autofocus unexpected",
|
|
788
|
+
"why": "Unexpected navigation to an item confuses the user",
|
|
789
|
+
"wcag": "3.2.5",
|
|
790
|
+
"weight": 2
|
|
791
|
+
},
|
|
756
792
|
"fontSizeAbsolute": {
|
|
757
793
|
"summary": "font size absolute",
|
|
758
794
|
"why": "User cannot adjust the text size for readability",
|
|
@@ -961,6 +997,12 @@ const issuesData = {
|
|
|
961
997
|
"wcag": "1.3.1",
|
|
962
998
|
"weight": 4
|
|
963
999
|
},
|
|
1000
|
+
"iframeConfusion": {
|
|
1001
|
+
"summary": "different iframes named identically",
|
|
1002
|
+
"why": "User gets incorrect help about parts of a page",
|
|
1003
|
+
"wcag": "4.1.2",
|
|
1004
|
+
"weight": 1
|
|
1005
|
+
},
|
|
964
1006
|
"iframeTitleBad": {
|
|
965
1007
|
"summary": "iframe not named",
|
|
966
1008
|
"why": "User cannot get help on the topic of an embedded page",
|
|
@@ -1009,6 +1051,12 @@ const issuesData = {
|
|
|
1009
1051
|
"wcag": "1.1.1",
|
|
1010
1052
|
"weight": 4
|
|
1011
1053
|
},
|
|
1054
|
+
"imageMapServerSide": {
|
|
1055
|
+
"summary": "image map is server-side",
|
|
1056
|
+
"why": "Keyboard-only user cannot choose a region of an image",
|
|
1057
|
+
"wcag": "2.1.1",
|
|
1058
|
+
"weight": 4
|
|
1059
|
+
},
|
|
1012
1060
|
"imageNoText": {
|
|
1013
1061
|
"summary": "image not named",
|
|
1014
1062
|
"why": "User cannot get help to know what is in an image",
|
|
@@ -1093,6 +1141,18 @@ const issuesData = {
|
|
|
1093
1141
|
"wcag": "4.1.2",
|
|
1094
1142
|
"weight": 3
|
|
1095
1143
|
},
|
|
1144
|
+
"inputRepeat": {
|
|
1145
|
+
"summary": "form requires non-automatic duplicate re-entry",
|
|
1146
|
+
"why": "Form completion is slower and more difficult than necessary",
|
|
1147
|
+
"wcag": "3.3.7",
|
|
1148
|
+
"weight": 4
|
|
1149
|
+
},
|
|
1150
|
+
"inputSurprise": {
|
|
1151
|
+
"summary": "operating on an input unexpectedly alters the page",
|
|
1152
|
+
"why": "User cannot predict the effect of using a form",
|
|
1153
|
+
"wcag": "3.2.2",
|
|
1154
|
+
"weight": 4
|
|
1155
|
+
},
|
|
1096
1156
|
"internalLinkBroken": {
|
|
1097
1157
|
"summary": "internal link broken",
|
|
1098
1158
|
"why": "User cannot reach a promised page location",
|
|
@@ -1559,6 +1619,12 @@ const issuesData = {
|
|
|
1559
1619
|
"wcag": "4.1",
|
|
1560
1620
|
"weight": 3
|
|
1561
1621
|
},
|
|
1622
|
+
"obsoleteMotion": {
|
|
1623
|
+
"summary": "obsolete element creates non-stoppable motion",
|
|
1624
|
+
"why": "Motion-sensitive user suffers harm",
|
|
1625
|
+
"wcag": "2.2.2",
|
|
1626
|
+
"weight": 4
|
|
1627
|
+
},
|
|
1562
1628
|
"optionNoText": {
|
|
1563
1629
|
"summary": "option not named",
|
|
1564
1630
|
"why": "User cannot get help to understand an option",
|
|
@@ -1745,6 +1811,12 @@ const issuesData = {
|
|
|
1745
1811
|
"wcag": "3.2.4",
|
|
1746
1812
|
"weight": 1
|
|
1747
1813
|
},
|
|
1814
|
+
"reflow": {
|
|
1815
|
+
"summary": "non-reflowing content forces 2D scrolling",
|
|
1816
|
+
"why": "Reading content is slow and difficult",
|
|
1817
|
+
"wcag": "1.4.10",
|
|
1818
|
+
"weight": 4
|
|
1819
|
+
},
|
|
1748
1820
|
"refresh": {
|
|
1749
1821
|
"summary": "element reloads or redirects",
|
|
1750
1822
|
"why": "Page change may surprise a user",
|
|
@@ -2090,6 +2162,12 @@ const issuesData = {
|
|
|
2090
2162
|
"wcag": "2.1.1",
|
|
2091
2163
|
"weight": 2
|
|
2092
2164
|
},
|
|
2165
|
+
"tabOrderBad": {
|
|
2166
|
+
"summary": "keyboard navigation sequence wrong",
|
|
2167
|
+
"why": "Sequential navigation moves in a meaningless or useless order",
|
|
2168
|
+
"wcag": "2.4.3",
|
|
2169
|
+
"weight": 3
|
|
2170
|
+
},
|
|
2093
2171
|
"tabularTableless": {
|
|
2094
2172
|
"summary": "table not marked as such",
|
|
2095
2173
|
"why": "Helper misinforms a user about whether items are cells of a table",
|
|
@@ -2247,6 +2325,12 @@ const issuesData = {
|
|
|
2247
2325
|
"wcag": "2.5.3",
|
|
2248
2326
|
"weight": 3
|
|
2249
2327
|
},
|
|
2328
|
+
"visualSequenceDeviant": {
|
|
2329
|
+
"summary": "visual and programmatic content sequences differ",
|
|
2330
|
+
"why": "Sequence of page items confuses the user",
|
|
2331
|
+
"wcag": "1.3.2",
|
|
2332
|
+
"weight": 2
|
|
2333
|
+
},
|
|
2250
2334
|
"zIndexNotZero": {
|
|
2251
2335
|
"summary": "z-index not zero",
|
|
2252
2336
|
"why": "User cannot predict the effect of clicking",
|
|
@@ -8548,723 +8632,1568 @@ const rulesData = {
|
|
|
8548
8632
|
}
|
|
8549
8633
|
}
|
|
8550
8634
|
},
|
|
8551
|
-
"
|
|
8635
|
+
"pour": {
|
|
8552
8636
|
"invariant": {
|
|
8553
|
-
"
|
|
8554
|
-
"issueID": "
|
|
8637
|
+
"document-title": {
|
|
8638
|
+
"issueID": "pageTitle",
|
|
8555
8639
|
"quality": 1,
|
|
8556
|
-
"what": "
|
|
8557
|
-
"whyIgnore": "invalid"
|
|
8640
|
+
"what": "Page has no title element"
|
|
8558
8641
|
},
|
|
8559
|
-
"
|
|
8560
|
-
"issueID": "
|
|
8642
|
+
"html-lang": {
|
|
8643
|
+
"issueID": "pageLanguage",
|
|
8561
8644
|
"quality": 1,
|
|
8562
|
-
"what": "
|
|
8563
|
-
"whyIgnore": "invalid"
|
|
8645
|
+
"what": "html element has no lang attribute or an invalid one"
|
|
8564
8646
|
},
|
|
8565
|
-
"
|
|
8566
|
-
"issueID": "
|
|
8647
|
+
"valid-lang-parts": {
|
|
8648
|
+
"issueID": "languageChange",
|
|
8567
8649
|
"quality": 1,
|
|
8568
|
-
"what": "
|
|
8569
|
-
"whyIgnore": "speculative"
|
|
8650
|
+
"what": "lang attribute on an element has an invalid value"
|
|
8570
8651
|
},
|
|
8571
|
-
"
|
|
8572
|
-
"issueID": "
|
|
8573
|
-
"quality":
|
|
8574
|
-
"what": "
|
|
8575
|
-
"whyIgnore": "irrelevant"
|
|
8652
|
+
"image-alt": {
|
|
8653
|
+
"issueID": "imageNoText",
|
|
8654
|
+
"quality": 1,
|
|
8655
|
+
"what": "Image has no text alternative"
|
|
8576
8656
|
},
|
|
8577
|
-
"
|
|
8578
|
-
"issueID": "
|
|
8579
|
-
"quality":
|
|
8580
|
-
"what": "
|
|
8581
|
-
"whyIgnore": "irrelevant"
|
|
8657
|
+
"svg-img-alt": {
|
|
8658
|
+
"issueID": "svgImageNoText",
|
|
8659
|
+
"quality": 1,
|
|
8660
|
+
"what": "SVG element has no accessible name"
|
|
8582
8661
|
},
|
|
8583
|
-
"
|
|
8584
|
-
"issueID": "
|
|
8585
|
-
"quality":
|
|
8586
|
-
"what": "
|
|
8587
|
-
"whyIgnore": "speculative"
|
|
8662
|
+
"button-name": {
|
|
8663
|
+
"issueID": "buttonNoText",
|
|
8664
|
+
"quality": 1,
|
|
8665
|
+
"what": "Button has no accessible name"
|
|
8588
8666
|
},
|
|
8589
|
-
"
|
|
8590
|
-
"issueID": "
|
|
8591
|
-
"quality":
|
|
8592
|
-
"what": "
|
|
8593
|
-
"whyIgnore": "invalid"
|
|
8667
|
+
"link-name": {
|
|
8668
|
+
"issueID": "linkNoText",
|
|
8669
|
+
"quality": 1,
|
|
8670
|
+
"what": "Link has no accessible name"
|
|
8594
8671
|
},
|
|
8595
|
-
"
|
|
8596
|
-
"issueID": "
|
|
8597
|
-
"quality":
|
|
8598
|
-
"what": "
|
|
8599
|
-
"whyIgnore": "invalid"
|
|
8672
|
+
"link-text-generic": {
|
|
8673
|
+
"issueID": "linkVaguenessRisk",
|
|
8674
|
+
"quality": 1,
|
|
8675
|
+
"what": "Link text does not describe the destination"
|
|
8600
8676
|
},
|
|
8601
|
-
"
|
|
8602
|
-
"issueID": "
|
|
8603
|
-
"quality":
|
|
8604
|
-
"what": "
|
|
8605
|
-
"whyIgnore": "invalid"
|
|
8677
|
+
"link-text-generic-only": {
|
|
8678
|
+
"issueID": "linkVaguenessRisk",
|
|
8679
|
+
"quality": 1,
|
|
8680
|
+
"what": "Link text alone does not identify its destination"
|
|
8606
8681
|
},
|
|
8607
|
-
"
|
|
8608
|
-
"issueID": "
|
|
8609
|
-
"quality":
|
|
8610
|
-
"what": "
|
|
8611
|
-
"whyIgnore": "invalid"
|
|
8682
|
+
"form-label": {
|
|
8683
|
+
"issueID": "controlNoText",
|
|
8684
|
+
"quality": 1,
|
|
8685
|
+
"what": "Form control has no label"
|
|
8612
8686
|
},
|
|
8613
|
-
"
|
|
8614
|
-
"issueID": "
|
|
8615
|
-
"quality":
|
|
8616
|
-
"what": "
|
|
8617
|
-
"whyIgnore": "invalid"
|
|
8687
|
+
"autocomplete-valid": {
|
|
8688
|
+
"issueID": "autocompleteBad",
|
|
8689
|
+
"quality": 1,
|
|
8690
|
+
"what": "autocomplete attribute has invalid tokens"
|
|
8618
8691
|
},
|
|
8619
|
-
"
|
|
8620
|
-
"issueID": "
|
|
8621
|
-
"quality":
|
|
8622
|
-
"what": "
|
|
8623
|
-
"whyIgnore": "speculative"
|
|
8692
|
+
"orientation-lock": {
|
|
8693
|
+
"issueID": "cssBansPageRotate",
|
|
8694
|
+
"quality": 1,
|
|
8695
|
+
"what": "CSS locks content to one display orientation"
|
|
8624
8696
|
},
|
|
8625
|
-
"
|
|
8626
|
-
"issueID": "
|
|
8697
|
+
"meta-viewport": {
|
|
8698
|
+
"issueID": "metaBansZoom",
|
|
8627
8699
|
"quality": 1,
|
|
8628
|
-
"what": "
|
|
8629
|
-
"whyIgnore": "invalid"
|
|
8700
|
+
"what": "Viewport prevents user zoom"
|
|
8630
8701
|
},
|
|
8631
|
-
"
|
|
8632
|
-
"issueID": "
|
|
8702
|
+
"color-contrast": {
|
|
8703
|
+
"issueID": "contrastAA",
|
|
8633
8704
|
"quality": 1,
|
|
8634
|
-
"what": "
|
|
8635
|
-
"whyIgnore": "invalid"
|
|
8705
|
+
"what": "Text has insufficient contrast against its background"
|
|
8636
8706
|
},
|
|
8637
|
-
"
|
|
8638
|
-
"issueID": "
|
|
8707
|
+
"frame-title": {
|
|
8708
|
+
"issueID": "iframeTitleBad",
|
|
8639
8709
|
"quality": 1,
|
|
8640
|
-
"what": "
|
|
8641
|
-
"whyIgnore": "invalid"
|
|
8710
|
+
"what": "Frame has no accessible name"
|
|
8642
8711
|
},
|
|
8643
|
-
"
|
|
8644
|
-
"issueID": "
|
|
8712
|
+
"aria-valid-refs": {
|
|
8713
|
+
"issueID": "ariaReferenceBad",
|
|
8645
8714
|
"quality": 1,
|
|
8646
|
-
"what": "
|
|
8647
|
-
"whyIgnore": "invalid"
|
|
8715
|
+
"what": "ARIA id refers to no element"
|
|
8648
8716
|
},
|
|
8649
|
-
"
|
|
8650
|
-
"issueID": "
|
|
8651
|
-
"quality":
|
|
8652
|
-
"what": "Element
|
|
8653
|
-
"whyIgnore": "invalid"
|
|
8717
|
+
"valid-role": {
|
|
8718
|
+
"issueID": "roleBad",
|
|
8719
|
+
"quality": 1,
|
|
8720
|
+
"what": "Element has an invalid role"
|
|
8654
8721
|
},
|
|
8655
|
-
"
|
|
8656
|
-
"issueID": "
|
|
8722
|
+
"aria-hidden-focus": {
|
|
8723
|
+
"issueID": "focusableHidden",
|
|
8657
8724
|
"quality": 1,
|
|
8658
|
-
"what": "
|
|
8659
|
-
"whyIgnore": "invalid"
|
|
8725
|
+
"what": "Element has an aria-hidden attribute but is or has a focusable element"
|
|
8660
8726
|
},
|
|
8661
|
-
"
|
|
8662
|
-
"issueID": "
|
|
8727
|
+
"list-structure": {
|
|
8728
|
+
"issueID": "listChild",
|
|
8663
8729
|
"quality": 1,
|
|
8664
|
-
"what": "
|
|
8665
|
-
"whyIgnore": "invalid"
|
|
8730
|
+
"what": "List contains a child other than a list item"
|
|
8666
8731
|
},
|
|
8667
|
-
"
|
|
8668
|
-
"issueID": "
|
|
8669
|
-
"quality":
|
|
8670
|
-
"what": "
|
|
8671
|
-
"whyIgnore": "invalid"
|
|
8732
|
+
"nested-interactive": {
|
|
8733
|
+
"issueID": "activeEmbedding",
|
|
8734
|
+
"quality": 1,
|
|
8735
|
+
"what": "Interactive control contains another interactive control"
|
|
8672
8736
|
},
|
|
8673
|
-
"
|
|
8674
|
-
"issueID": "
|
|
8675
|
-
"quality":
|
|
8676
|
-
"what": "
|
|
8677
|
-
"whyIgnore": "invalid"
|
|
8737
|
+
"bypass-blocks": {
|
|
8738
|
+
"issueID": "skipRepeatedContent",
|
|
8739
|
+
"quality": 1,
|
|
8740
|
+
"what": "Page has no way to bypass repeated blocks"
|
|
8678
8741
|
},
|
|
8679
|
-
"
|
|
8680
|
-
"issueID": "
|
|
8742
|
+
"target-size": {
|
|
8743
|
+
"issueID": "targetTiny",
|
|
8681
8744
|
"quality": 1,
|
|
8682
|
-
"what": "
|
|
8683
|
-
"whyIgnore": "invalid"
|
|
8745
|
+
"what": "Interactive target is smaller than 24 CSS pixels"
|
|
8684
8746
|
},
|
|
8685
|
-
"
|
|
8686
|
-
"issueID": "
|
|
8687
|
-
"quality":
|
|
8688
|
-
"what": "
|
|
8689
|
-
"whyIgnore": "speculative"
|
|
8747
|
+
"audio-control": {
|
|
8748
|
+
"issueID": "autoplay",
|
|
8749
|
+
"quality": 1,
|
|
8750
|
+
"what": "Auto-playing audio cannot be stopped or muted"
|
|
8690
8751
|
},
|
|
8691
|
-
"
|
|
8692
|
-
"issueID": "
|
|
8693
|
-
"quality":
|
|
8694
|
-
"what": "
|
|
8695
|
-
"whyIgnore": "invalid"
|
|
8752
|
+
"pause-stop-hide": {
|
|
8753
|
+
"issueID": "animationLong",
|
|
8754
|
+
"quality": 1,
|
|
8755
|
+
"what": "Moving content cannot be paused"
|
|
8696
8756
|
},
|
|
8697
|
-
"
|
|
8698
|
-
"issueID": "
|
|
8699
|
-
"quality":
|
|
8700
|
-
"what": "
|
|
8701
|
-
"whyIgnore": "speculative"
|
|
8757
|
+
"media-captions": {
|
|
8758
|
+
"issueID": "videoNoText",
|
|
8759
|
+
"quality": 1,
|
|
8760
|
+
"what": "Video has no captions"
|
|
8702
8761
|
},
|
|
8703
|
-
"
|
|
8704
|
-
"issueID": "
|
|
8705
|
-
"quality":
|
|
8706
|
-
"what": "
|
|
8707
|
-
"whyIgnore": "invalid"
|
|
8762
|
+
"aria-attr-valid": {
|
|
8763
|
+
"issueID": "ariaAttributeBad",
|
|
8764
|
+
"quality": 1,
|
|
8765
|
+
"what": "ARIA attribute gives the element an invalid name or value"
|
|
8708
8766
|
},
|
|
8709
|
-
"
|
|
8710
|
-
"issueID": "
|
|
8711
|
-
"quality":
|
|
8712
|
-
"what": "
|
|
8713
|
-
"whyIgnore": "invalid"
|
|
8767
|
+
"aria-allowed-attr": {
|
|
8768
|
+
"issueID": "ariaAttributeBad",
|
|
8769
|
+
"quality": 1,
|
|
8770
|
+
"what": "ARIA attribute is not allowed for the role of its element"
|
|
8714
8771
|
},
|
|
8715
|
-
"
|
|
8716
|
-
"issueID": "
|
|
8717
|
-
"quality":
|
|
8718
|
-
"what": "
|
|
8719
|
-
"whyIgnore": "invalid"
|
|
8772
|
+
"aria-field-name": {
|
|
8773
|
+
"issueID": "inputNoText",
|
|
8774
|
+
"quality": 1,
|
|
8775
|
+
"what": "ARIA field or value widget has no accessible name"
|
|
8720
8776
|
},
|
|
8721
|
-
"
|
|
8722
|
-
"issueID": "
|
|
8777
|
+
"aria-label-misuse": {
|
|
8778
|
+
"issueID": "nonLabelableRole",
|
|
8723
8779
|
"quality": 1,
|
|
8724
|
-
"what": "
|
|
8725
|
-
"whyIgnore": "invalid"
|
|
8780
|
+
"what": "Plain container has an aria-label or aria-labelledby attribute"
|
|
8726
8781
|
},
|
|
8727
|
-
"
|
|
8728
|
-
"issueID": "
|
|
8782
|
+
"role-required-aria": {
|
|
8783
|
+
"issueID": "ariaMissing",
|
|
8729
8784
|
"quality": 1,
|
|
8730
|
-
"what": "
|
|
8731
|
-
"whyIgnore": "speculative"
|
|
8785
|
+
"what": "Role is missing a required state or property attribute"
|
|
8732
8786
|
},
|
|
8733
|
-
"
|
|
8734
|
-
"issueID": "
|
|
8787
|
+
"label-for-valid": {
|
|
8788
|
+
"issueID": "labelForBad",
|
|
8735
8789
|
"quality": 1,
|
|
8736
|
-
"what": "
|
|
8737
|
-
"whyIgnore": "invalid"
|
|
8790
|
+
"what": "for attribute of a label refers to no form control"
|
|
8738
8791
|
},
|
|
8739
|
-
"
|
|
8740
|
-
"issueID": "
|
|
8792
|
+
"listitem-parent": {
|
|
8793
|
+
"issueID": "listItemOrphan",
|
|
8741
8794
|
"quality": 1,
|
|
8742
|
-
"what": "
|
|
8795
|
+
"what": "li element is not inside a ul or ol element"
|
|
8743
8796
|
},
|
|
8744
|
-
"
|
|
8797
|
+
"definition-list": {
|
|
8798
|
+
"issueID": "listChild",
|
|
8799
|
+
"quality": 1,
|
|
8800
|
+
"what": "dl element contains a child other than dt or dd"
|
|
8801
|
+
},
|
|
8802
|
+
"dlitem-parent": {
|
|
8803
|
+
"issueID": "descriptionOrphan",
|
|
8804
|
+
"quality": 1,
|
|
8805
|
+
"what": "dt or dd element is not inside a dl element"
|
|
8806
|
+
},
|
|
8807
|
+
"area-alt": {
|
|
8808
|
+
"issueID": "imageMapAreaNoText",
|
|
8809
|
+
"quality": 1,
|
|
8810
|
+
"what": "Image map area has no text alternative"
|
|
8811
|
+
},
|
|
8812
|
+
"object-alt": {
|
|
8813
|
+
"issueID": "objectNoText",
|
|
8814
|
+
"quality": 1,
|
|
8815
|
+
"what": "object element has no text alternative"
|
|
8816
|
+
},
|
|
8817
|
+
"input-image-alt-present": {
|
|
8818
|
+
"issueID": "imageButtonNoText",
|
|
8819
|
+
"quality": 1,
|
|
8820
|
+
"what": "Image input has no alt text"
|
|
8821
|
+
},
|
|
8822
|
+
"multiple-labels": {
|
|
8823
|
+
"issueID": "labelNot1",
|
|
8824
|
+
"quality": 1,
|
|
8825
|
+
"what": "Form field has multiple label elements"
|
|
8826
|
+
},
|
|
8827
|
+
"meta-refresh": {
|
|
8828
|
+
"issueID": "refresh",
|
|
8829
|
+
"quality": 1,
|
|
8830
|
+
"what": "Page uses a timed refresh"
|
|
8831
|
+
},
|
|
8832
|
+
"link-in-text-block": {
|
|
8833
|
+
"issueID": "linkIndication",
|
|
8834
|
+
"quality": 1,
|
|
8835
|
+
"what": "Link is not distinguishable from surrounding text without color"
|
|
8836
|
+
},
|
|
8837
|
+
"p-as-heading": {
|
|
8838
|
+
"issueID": "pseudoHeadingRisk",
|
|
8839
|
+
"quality": 1,
|
|
8840
|
+
"what": "Styled paragraph is used instead of a heading"
|
|
8841
|
+
},
|
|
8842
|
+
"aria-required-children": {
|
|
8843
|
+
"issueID": "descendantMissing",
|
|
8844
|
+
"quality": 1,
|
|
8845
|
+
"what": "ARIA role is missing a required child"
|
|
8846
|
+
},
|
|
8847
|
+
"aria-required-parent": {
|
|
8848
|
+
"issueID": "parentMissing",
|
|
8849
|
+
"quality": 1,
|
|
8850
|
+
"what": "ARIA role is not inside its required parent"
|
|
8851
|
+
},
|
|
8852
|
+
"scrollable-region-focusable": {
|
|
8853
|
+
"issueID": "keyboardScroll",
|
|
8854
|
+
"quality": 1,
|
|
8855
|
+
"what": "Scrollable region is not reachable by keyboard"
|
|
8856
|
+
},
|
|
8857
|
+
"table-headers": {
|
|
8858
|
+
"issueID": "tableHeaderless",
|
|
8859
|
+
"quality": 1,
|
|
8860
|
+
"what": "Data table has no properly associated header cells"
|
|
8861
|
+
},
|
|
8862
|
+
"color-contrast-enhanced": {
|
|
8863
|
+
"issueID": "contrastAAA",
|
|
8864
|
+
"quality": 1,
|
|
8865
|
+
"what": "Text contrast can be improved"
|
|
8866
|
+
},
|
|
8867
|
+
"target-size-enhanced": {
|
|
8868
|
+
"issueID": "targetSmall",
|
|
8869
|
+
"quality": 1,
|
|
8870
|
+
"what": "Interactive target is smaller than 44 CSS pixels"
|
|
8871
|
+
},
|
|
8872
|
+
"dialog-name": {
|
|
8873
|
+
"issueID": "dialogNoText",
|
|
8874
|
+
"quality": 1,
|
|
8875
|
+
"what": "Dialog has no accessible name"
|
|
8876
|
+
},
|
|
8877
|
+
"control-contrast": {
|
|
8878
|
+
"issueID": "contrastAA",
|
|
8879
|
+
"quality": 1,
|
|
8880
|
+
"what": "Text inside a form control has insufficient contrast"
|
|
8881
|
+
},
|
|
8882
|
+
"non-text-contrast": {
|
|
8883
|
+
"issueID": "boxInvisibleRisk",
|
|
8884
|
+
"quality": 1,
|
|
8885
|
+
"what": "Form field boundary has contrast less than 3:1"
|
|
8886
|
+
},
|
|
8887
|
+
"text-spacing": {
|
|
8888
|
+
"issueID": "horizontalSpacingFrozen",
|
|
8889
|
+
"quality": 1,
|
|
8890
|
+
"what": "User adjustment of text spacing is prevented"
|
|
8891
|
+
},
|
|
8892
|
+
"reflow": {
|
|
8893
|
+
"issueID": "reflow",
|
|
8894
|
+
"quality": 1,
|
|
8895
|
+
"what": "Content does not reflow to permit one-dimensional scrolling"
|
|
8896
|
+
},
|
|
8897
|
+
"focus-visible": {
|
|
8898
|
+
"issueID": "focusIndicationBad",
|
|
8899
|
+
"quality": 1,
|
|
8900
|
+
"what": "Keyboard focus is not visible"
|
|
8901
|
+
},
|
|
8902
|
+
"focus-not-obscured": {
|
|
8903
|
+
"issueID": "focusCovered",
|
|
8904
|
+
"quality": 1,
|
|
8905
|
+
"what": "Focused element is fully obscured by an overlay"
|
|
8906
|
+
},
|
|
8907
|
+
"auth-field-obstruction": {
|
|
8908
|
+
"issueID": "autoAuthBanned",
|
|
8909
|
+
"quality": 1,
|
|
8910
|
+
"what": "Login input blocks paste or password managers"
|
|
8911
|
+
},
|
|
8912
|
+
"embed-alt": {
|
|
8913
|
+
"issueID": "objectNoText",
|
|
8914
|
+
"quality": 1,
|
|
8915
|
+
"what": "embed element has no accessible name"
|
|
8916
|
+
},
|
|
8917
|
+
"canvas-alt": {
|
|
8918
|
+
"issueID": "objectNoText",
|
|
8919
|
+
"quality": 1,
|
|
8920
|
+
"what": "canvas element has no accessible name or fallback"
|
|
8921
|
+
},
|
|
8922
|
+
"video-loop-motion": {
|
|
8923
|
+
"issueID": "animationLong",
|
|
8924
|
+
"quality": 1,
|
|
8925
|
+
"what": "Looping autoplay video cannot be paused"
|
|
8926
|
+
},
|
|
8927
|
+
"visual-order-divergence": {
|
|
8928
|
+
"issueID": "tabOrderBad",
|
|
8929
|
+
"quality": 1,
|
|
8930
|
+
"what": "CSS reordering makes the tab order diverge from the visual order"
|
|
8931
|
+
},
|
|
8932
|
+
"audio-transcript": {
|
|
8933
|
+
"issueID": "videoNoTranscript",
|
|
8934
|
+
"quality": 1,
|
|
8935
|
+
"what": "Prerecorded audio-only content has no transcript"
|
|
8936
|
+
},
|
|
8937
|
+
"reading-order-divergence": {
|
|
8938
|
+
"issueID": "visualSequenceDeviant",
|
|
8939
|
+
"quality": 1,
|
|
8940
|
+
"what": "CSS reordering makes the reading order diverge from the visual order"
|
|
8941
|
+
},
|
|
8942
|
+
"drag-alternative": {
|
|
8943
|
+
"issueID": "dragAlt",
|
|
8944
|
+
"quality": 1,
|
|
8945
|
+
"what": "Dragging has no click alternative"
|
|
8946
|
+
},
|
|
8947
|
+
"redundant-entry": {
|
|
8948
|
+
"issueID": "inputRepeat",
|
|
8949
|
+
"quality": 1,
|
|
8950
|
+
"what": "Form asks for the same information twice"
|
|
8951
|
+
},
|
|
8952
|
+
"invoker-target": {
|
|
8953
|
+
"issueID": "ariaReferenceBad",
|
|
8954
|
+
"quality": 1,
|
|
8955
|
+
"what": "popovertarget or commandfor attribute refers to no valid element"
|
|
8956
|
+
},
|
|
8957
|
+
"reduced-motion": {
|
|
8958
|
+
"issueID": "animationTriggered",
|
|
8959
|
+
"quality": 1,
|
|
8960
|
+
"what": "Interaction-triggered motion cannot be switched off"
|
|
8961
|
+
},
|
|
8962
|
+
"on-input-navigation": {
|
|
8963
|
+
"issueID": "inputSurprise",
|
|
8964
|
+
"quality": 1,
|
|
8965
|
+
"what": "Changing a control unexpectedly changes the context"
|
|
8966
|
+
},
|
|
8967
|
+
"error-message-linkage": {
|
|
8968
|
+
"issueID": "errorReferenceBad",
|
|
8969
|
+
"quality": 1,
|
|
8970
|
+
"what": "Field marked invalid has no text error description"
|
|
8971
|
+
},
|
|
8972
|
+
"composite-widget-name": {
|
|
8973
|
+
"issueID": "componentNoText",
|
|
8974
|
+
"quality": 1,
|
|
8975
|
+
"what": "Tab, menu item, option, or tree item has no accessible name"
|
|
8976
|
+
},
|
|
8977
|
+
"summary-name": {
|
|
8978
|
+
"issueID": "buttonNoText",
|
|
8979
|
+
"quality": 1,
|
|
8980
|
+
"what": "summary element has no accessible name"
|
|
8981
|
+
},
|
|
8982
|
+
"heading-order": {
|
|
8983
|
+
"issueID": "headingLevelSkip",
|
|
8984
|
+
"quality": 1,
|
|
8985
|
+
"what": "Heading levels do not increase by only one"
|
|
8986
|
+
},
|
|
8987
|
+
"empty-heading": {
|
|
8988
|
+
"issueID": "headingEmpty",
|
|
8989
|
+
"quality": 1,
|
|
8990
|
+
"what": "Heading contains no text"
|
|
8991
|
+
},
|
|
8992
|
+
"positive-tabindex": {
|
|
8993
|
+
"issueID": "tabIndexPositive",
|
|
8994
|
+
"quality": 1,
|
|
8995
|
+
"what": "Positive tabindex disrupts the natural focus order"
|
|
8996
|
+
},
|
|
8997
|
+
"region": {
|
|
8998
|
+
"issueID": "contentBeyondLandmarks",
|
|
8999
|
+
"quality": 1,
|
|
9000
|
+
"what": "Content is not inside a landmark region"
|
|
9001
|
+
},
|
|
9002
|
+
"landmark-one-main": {
|
|
9003
|
+
"issueID": "mainNone",
|
|
9004
|
+
"quality": 1,
|
|
9005
|
+
"what": "Page has no main landmark"
|
|
9006
|
+
},
|
|
9007
|
+
"page-heading-one": {
|
|
9008
|
+
"issueID": "h1Not1",
|
|
9009
|
+
"quality": 1,
|
|
9010
|
+
"what": "Page has no h1 heading"
|
|
9011
|
+
},
|
|
9012
|
+
"landmark-unique": {
|
|
9013
|
+
"issueID": "landmarkConfusion",
|
|
9014
|
+
"quality": 1,
|
|
9015
|
+
"what": "Landmarks of the same type are not distinguished by a label"
|
|
9016
|
+
},
|
|
9017
|
+
"redundant-role": {
|
|
9018
|
+
"issueID": "roleRedundant",
|
|
9019
|
+
"quality": 1,
|
|
9020
|
+
"what": "role attribute repeats the built-in role of its element"
|
|
9021
|
+
},
|
|
9022
|
+
"redundant-aria": {
|
|
9023
|
+
"issueID": "ariaRedundant",
|
|
9024
|
+
"quality": 1,
|
|
9025
|
+
"what": "aria attribute duplicates a native HTML attribute"
|
|
9026
|
+
},
|
|
9027
|
+
"redundant-aria-label": {
|
|
9028
|
+
"issueID": "ariaRedundant",
|
|
9029
|
+
"quality": 1,
|
|
9030
|
+
"what": "aria-label repeats the visible text of its element"
|
|
9031
|
+
},
|
|
9032
|
+
"redundant-alt-phrase": {
|
|
9033
|
+
"issueID": "imageTextRedundant",
|
|
9034
|
+
"quality": 1,
|
|
9035
|
+
"what": "alt attribute value starts with a redundant phrase"
|
|
9036
|
+
},
|
|
9037
|
+
"redundant-tabindex": {
|
|
9038
|
+
"issueID": "tabIndexExtra",
|
|
9039
|
+
"quality": 1,
|
|
9040
|
+
"what": "Element is natively focused, so tabindex=0 is unnecessary"
|
|
9041
|
+
},
|
|
9042
|
+
"redundant-image-alt": {
|
|
9043
|
+
"issueID": "imageTextRedundant",
|
|
9044
|
+
"quality": 1,
|
|
9045
|
+
"what": "Image alt attribute value repeats adjacent link or button text"
|
|
9046
|
+
},
|
|
9047
|
+
"landmark-top-level": {
|
|
9048
|
+
"issueID": "mainNotTop",
|
|
9049
|
+
"quality": 1,
|
|
9050
|
+
"what": "Landmark is nested inside another landmark instead of being top-level"
|
|
9051
|
+
},
|
|
9052
|
+
"accesskeys": {
|
|
9053
|
+
"issueID": "accessKeyDuplicate",
|
|
9054
|
+
"quality": 1,
|
|
9055
|
+
"what": "Multiple element have the same accesskey attribute value"
|
|
9056
|
+
},
|
|
9057
|
+
"button-type": {
|
|
9058
|
+
"issueID": "typeBad",
|
|
9059
|
+
"quality": 1,
|
|
9060
|
+
"what": "Button inside a form has no type attribute declared"
|
|
9061
|
+
},
|
|
9062
|
+
"no-autofocus": {
|
|
9063
|
+
"issueID": "focusSurprise",
|
|
9064
|
+
"quality": 1,
|
|
9065
|
+
"what": "autofocus attribute disorients assistive-technology users"
|
|
9066
|
+
},
|
|
9067
|
+
"new-window-link": {
|
|
9068
|
+
"issueID": "newTabSurpriseRisk",
|
|
9069
|
+
"quality": 1,
|
|
9070
|
+
"what": "Link opens a new window without warning"
|
|
9071
|
+
},
|
|
9072
|
+
"fieldset-legend": {
|
|
9073
|
+
"issueID": "legendMissing",
|
|
9074
|
+
"quality": 1,
|
|
9075
|
+
"what": "Radio or checkbox group has no fieldset legend"
|
|
9076
|
+
}
|
|
9077
|
+
},
|
|
9078
|
+
"variable": {}
|
|
9079
|
+
},
|
|
9080
|
+
"qualWeb": {
|
|
9081
|
+
"invariant": {
|
|
9082
|
+
"QW-ACT-R10": {
|
|
9083
|
+
"issueID": "ignorable",
|
|
9084
|
+
"quality": 1,
|
|
9085
|
+
"what": "iframe elements with identical accessible names have different purposes (on invisible elements)",
|
|
9086
|
+
"whyIgnore": "invalid"
|
|
9087
|
+
},
|
|
9088
|
+
"QW-ACT-R13": {
|
|
9089
|
+
"issueID": "ignorable",
|
|
9090
|
+
"quality": 1,
|
|
9091
|
+
"what": "Element with aria-hidden has focusable content",
|
|
9092
|
+
"whyIgnore": "invalid"
|
|
9093
|
+
},
|
|
9094
|
+
"QW-ACT-R41": {
|
|
9095
|
+
"issueID": "ignorable",
|
|
9096
|
+
"quality": 1,
|
|
9097
|
+
"what": "Error message describes no invalid form field value",
|
|
9098
|
+
"whyIgnore": "speculative"
|
|
9099
|
+
},
|
|
9100
|
+
"QW-ACT-R52": {
|
|
9101
|
+
"issueID": "ignorable",
|
|
9102
|
+
"quality": 0,
|
|
9103
|
+
"what": "video element visual-only content has no description track (description tracks and this ACT rule have been deprecated)",
|
|
9104
|
+
"whyIgnore": "irrelevant"
|
|
9105
|
+
},
|
|
9106
|
+
"QW-ACT-R57": {
|
|
9107
|
+
"issueID": "ignorable",
|
|
9108
|
+
"quality": 0,
|
|
9109
|
+
"what": "video element visual content has no description track (description tracks and this ACT rule have been deprecated)",
|
|
9110
|
+
"whyIgnore": "irrelevant"
|
|
9111
|
+
},
|
|
9112
|
+
"QW-ACT-R62": {
|
|
9113
|
+
"issueID": "ignorable",
|
|
9114
|
+
"quality": 0,
|
|
9115
|
+
"what": "Element in the sequential focus order may have no visible focus",
|
|
9116
|
+
"whyIgnore": "speculative"
|
|
9117
|
+
},
|
|
9118
|
+
"QW-ACT-R63": {
|
|
9119
|
+
"issueID": "ignorable",
|
|
9120
|
+
"quality": 0,
|
|
9121
|
+
"what": "Page has no landmark with non-repeated content",
|
|
9122
|
+
"whyIgnore": "invalid"
|
|
9123
|
+
},
|
|
9124
|
+
"QW-ACT-R64": {
|
|
9125
|
+
"issueID": "ignorable",
|
|
9126
|
+
"quality": 0,
|
|
9127
|
+
"what": "Page has no heading for non-repeated content",
|
|
9128
|
+
"whyIgnore": "invalid"
|
|
9129
|
+
},
|
|
9130
|
+
"QW-ACT-R73": {
|
|
9131
|
+
"issueID": "ignorable",
|
|
9132
|
+
"quality": 0,
|
|
9133
|
+
"what": "Block of repeated content is not collapsible",
|
|
9134
|
+
"whyIgnore": "invalid"
|
|
9135
|
+
},
|
|
9136
|
+
"QW-ACT-R74": {
|
|
9137
|
+
"issueID": "ignorable",
|
|
9138
|
+
"quality": 0,
|
|
9139
|
+
"what": "Page has no instrument to move focus to non-repeated content",
|
|
9140
|
+
"whyIgnore": "invalid"
|
|
9141
|
+
},
|
|
9142
|
+
"QW-ACT-R75": {
|
|
9143
|
+
"issueID": "ignorable",
|
|
9144
|
+
"quality": 0,
|
|
9145
|
+
"what": "Blocks of repeated content cannot be bypassed",
|
|
9146
|
+
"whyIgnore": "invalid"
|
|
9147
|
+
},
|
|
9148
|
+
"QW-BP1": {
|
|
9149
|
+
"issueID": "ignorable",
|
|
9150
|
+
"quality": 0,
|
|
9151
|
+
"what": "h1-h6 may fail to be used to identify headings",
|
|
9152
|
+
"whyIgnore": "speculative"
|
|
9153
|
+
},
|
|
9154
|
+
"QW-BP2": {
|
|
9155
|
+
"issueID": "ignorable",
|
|
9156
|
+
"quality": 1,
|
|
9157
|
+
"what": "Image text alternative is not concise",
|
|
9158
|
+
"whyIgnore": "invalid"
|
|
9159
|
+
},
|
|
9160
|
+
"QW-BP17": {
|
|
9161
|
+
"issueID": "ignorable",
|
|
9162
|
+
"quality": 1,
|
|
9163
|
+
"what": "No link at the beginning of a block of repeated content goes to the end of the block",
|
|
9164
|
+
"whyIgnore": "invalid"
|
|
9165
|
+
},
|
|
9166
|
+
"QW-BP20": {
|
|
9167
|
+
"issueID": "ignorable",
|
|
9168
|
+
"quality": 1,
|
|
9169
|
+
"what": "Page has more than 1 banner landmark (counts hidden elements)",
|
|
9170
|
+
"whyIgnore": "invalid"
|
|
9171
|
+
},
|
|
9172
|
+
"QW-BP22": {
|
|
9173
|
+
"issueID": "ignorable",
|
|
9174
|
+
"quality": 1,
|
|
9175
|
+
"what": "Page has more than 1 element with a main role",
|
|
9176
|
+
"whyIgnore": "invalid"
|
|
9177
|
+
},
|
|
9178
|
+
"QW-BP23": {
|
|
9179
|
+
"issueID": "ignorable",
|
|
9180
|
+
"quality": .1,
|
|
9181
|
+
"what": "Element is not in a true list",
|
|
9182
|
+
"whyIgnore": "invalid"
|
|
9183
|
+
},
|
|
9184
|
+
"QW-BP24": {
|
|
9185
|
+
"issueID": "ignorable",
|
|
9186
|
+
"quality": 1,
|
|
9187
|
+
"what": "ul or ol element has a child other than li, script, or template",
|
|
9188
|
+
"whyIgnore": "invalid"
|
|
9189
|
+
},
|
|
9190
|
+
"QW-BP28": {
|
|
9191
|
+
"issueID": "ignorable",
|
|
9192
|
+
"quality": 1,
|
|
9193
|
+
"what": "h1 element missing or used more than once",
|
|
9194
|
+
"whyIgnore": "invalid"
|
|
9195
|
+
},
|
|
9196
|
+
"QW-BP29": {
|
|
9197
|
+
"issueID": "ignorable",
|
|
9198
|
+
"quality": 0,
|
|
9199
|
+
"what": "lang and xml:lang attribute of html element differ",
|
|
9200
|
+
"whyIgnore": "invalid"
|
|
9201
|
+
},
|
|
9202
|
+
"QW-WCAG-T4": {
|
|
9203
|
+
"issueID": "ignorable",
|
|
9204
|
+
"quality": 0,
|
|
9205
|
+
"what": "summary attribute is not used to give an overview of a data table",
|
|
9206
|
+
"whyIgnore": "invalid"
|
|
9207
|
+
},
|
|
9208
|
+
"QW-WCAG-T8": {
|
|
9209
|
+
"issueID": "ignorable",
|
|
9210
|
+
"quality": 1,
|
|
9211
|
+
"what": "Text alternative is suspect",
|
|
9212
|
+
"whyIgnore": "invalid"
|
|
9213
|
+
},
|
|
9214
|
+
"QW-WCAG-T9": {
|
|
9215
|
+
"issueID": "ignorable",
|
|
9216
|
+
"quality": 0,
|
|
9217
|
+
"what": "Page may fail to be organized using headings",
|
|
9218
|
+
"whyIgnore": "speculative"
|
|
9219
|
+
},
|
|
9220
|
+
"QW-WCAG-T15": {
|
|
9221
|
+
"issueID": "ignorable",
|
|
9222
|
+
"quality": 0,
|
|
9223
|
+
"what": "link element may be used for navigation but not in the head",
|
|
9224
|
+
"whyIgnore": "invalid"
|
|
9225
|
+
},
|
|
9226
|
+
"QW-WCAG-T20": {
|
|
9227
|
+
"issueID": "ignorable",
|
|
9228
|
+
"quality": 0,
|
|
9229
|
+
"what": "Link title may fail to describe the link correctly",
|
|
9230
|
+
"whyIgnore": "speculative"
|
|
9231
|
+
},
|
|
9232
|
+
"QW-WCAG-T23": {
|
|
9233
|
+
"issueID": "ignorable",
|
|
9234
|
+
"quality": 0,
|
|
9235
|
+
"what": "No link at the top of the page goes directly to the main content area",
|
|
9236
|
+
"whyIgnore": "invalid"
|
|
9237
|
+
},
|
|
9238
|
+
"QW-WCAG-T24": {
|
|
9239
|
+
"issueID": "ignorable",
|
|
9240
|
+
"quality": .5,
|
|
9241
|
+
"what": "Script removes the focus when focus is received",
|
|
9242
|
+
"whyIgnore": "invalid"
|
|
9243
|
+
},
|
|
9244
|
+
"QW-WCAG-T28": {
|
|
9245
|
+
"issueID": "ignorable",
|
|
9246
|
+
"quality": .8,
|
|
9247
|
+
"what": "Font size set to an absolute unit value",
|
|
9248
|
+
"whyIgnore": "invalid"
|
|
9249
|
+
},
|
|
9250
|
+
"QW-WCAG-T31": {
|
|
9251
|
+
"issueID": "ignorable",
|
|
9252
|
+
"quality": 1,
|
|
9253
|
+
"what": "Foreground or background color is specified but not both (on invisible elements)",
|
|
9254
|
+
"whyIgnore": "invalid"
|
|
9255
|
+
},
|
|
9256
|
+
"QW-WCAG-T32": {
|
|
9257
|
+
"issueID": "ignorable",
|
|
9258
|
+
"quality": 1,
|
|
9259
|
+
"what": "ol, ul or dl may fail to be used for a list or group of links",
|
|
9260
|
+
"whyIgnore": "speculative"
|
|
9261
|
+
},
|
|
9262
|
+
"QW-WCAG-T35": {
|
|
9263
|
+
"issueID": "ignorable",
|
|
9264
|
+
"quality": 1,
|
|
9265
|
+
"what": "Several elements have this id attribute value",
|
|
9266
|
+
"whyIgnore": "invalid"
|
|
9267
|
+
},
|
|
9268
|
+
"QW-ACT-R18": {
|
|
8745
9269
|
"issueID": "duplicateID",
|
|
8746
9270
|
"quality": 1,
|
|
8747
|
-
"what": "id attribute value is
|
|
9271
|
+
"what": "id attribute value is not unique"
|
|
9272
|
+
},
|
|
9273
|
+
"QW-BP30": {
|
|
9274
|
+
"issueID": "duplicateID",
|
|
9275
|
+
"quality": 1,
|
|
9276
|
+
"what": "id attribute value is shared with another element"
|
|
9277
|
+
},
|
|
9278
|
+
"QW-BP8": {
|
|
9279
|
+
"issueID": "headingImageNoText",
|
|
9280
|
+
"quality": 1,
|
|
9281
|
+
"what": "Heading with an image has no accessible name"
|
|
9282
|
+
},
|
|
9283
|
+
"QW-ACT-R6": {
|
|
9284
|
+
"issueID": "imageButtonNoText",
|
|
9285
|
+
"quality": 1,
|
|
9286
|
+
"what": "Image button has no accessible name"
|
|
9287
|
+
},
|
|
9288
|
+
"QW-WCAG-T5": {
|
|
9289
|
+
"issueID": "imageButtonNoText",
|
|
9290
|
+
"quality": 1,
|
|
9291
|
+
"what": "alt attribute not used on an image used as a submit button"
|
|
9292
|
+
},
|
|
9293
|
+
"QW-ACT-R17": {
|
|
9294
|
+
"issueID": "imageNoText",
|
|
9295
|
+
"quality": 1,
|
|
9296
|
+
"what": "Image has no accessible name"
|
|
9297
|
+
},
|
|
9298
|
+
"QW-BP6": {
|
|
9299
|
+
"issueID": "titleLong",
|
|
9300
|
+
"quality": 1,
|
|
9301
|
+
"what": "title element is too long (more than 64 characters)"
|
|
9302
|
+
},
|
|
9303
|
+
"QW-BP7": {
|
|
9304
|
+
"issueID": "titleNotText",
|
|
9305
|
+
"quality": 1,
|
|
9306
|
+
"what": "Title element contains ASCII-art"
|
|
9307
|
+
},
|
|
9308
|
+
"QW-ACT-R48": {
|
|
9309
|
+
"issueID": "decorativeElementExposed",
|
|
9310
|
+
"quality": 1,
|
|
9311
|
+
"what": "Element marked as decorative is exposed"
|
|
9312
|
+
},
|
|
9313
|
+
"QW-ACT-R2": {
|
|
9314
|
+
"issueID": "pageLanguage",
|
|
9315
|
+
"quality": 1,
|
|
9316
|
+
"what": "HTML page has no lang attribute"
|
|
9317
|
+
},
|
|
9318
|
+
"QW-ACT-R5": {
|
|
9319
|
+
"issueID": "pageLanguageBad",
|
|
9320
|
+
"quality": 1,
|
|
9321
|
+
"what": "HTML lang attribute is invalid"
|
|
9322
|
+
},
|
|
9323
|
+
"QW-ACT-R3": {
|
|
9324
|
+
"issueID": "pageLanguageBad",
|
|
9325
|
+
"quality": 1,
|
|
9326
|
+
"what": "HTML lang and xml:lang do not match"
|
|
9327
|
+
},
|
|
9328
|
+
"QW-ACT-R22": {
|
|
9329
|
+
"issueID": "elementLanguageBad",
|
|
9330
|
+
"quality": 1,
|
|
9331
|
+
"what": "Element within the body has no valid lang attribute"
|
|
9332
|
+
},
|
|
9333
|
+
"QW-ACT-R42": {
|
|
9334
|
+
"issueID": "objectNoText",
|
|
9335
|
+
"quality": 1,
|
|
9336
|
+
"what": "Object element has no non-empty accessible name"
|
|
9337
|
+
},
|
|
9338
|
+
"QW-WCAG-T11": {
|
|
9339
|
+
"issueID": "appletNoText",
|
|
9340
|
+
"quality": 1,
|
|
9341
|
+
"what": "Text alternative not provided on an applet element"
|
|
9342
|
+
},
|
|
9343
|
+
"QW-WCAG-T1": {
|
|
9344
|
+
"issueID": "imageMapAreaNoText",
|
|
9345
|
+
"quality": 1,
|
|
9346
|
+
"what": "Text alternative for an area element of an image map is not provided"
|
|
9347
|
+
},
|
|
9348
|
+
"QW-WCAG-T6": {
|
|
9349
|
+
"issueID": "eventKeyboardRisk",
|
|
9350
|
+
"quality": 1,
|
|
9351
|
+
"what": "Both keyboard and other device-specific functions are not used"
|
|
9352
|
+
},
|
|
9353
|
+
"QW-WCAG-T17": {
|
|
9354
|
+
"issueID": "labelConfusionRisk",
|
|
9355
|
+
"quality": 1,
|
|
9356
|
+
"what": "label not positioned to maximize the predictability of the relationship"
|
|
9357
|
+
},
|
|
9358
|
+
"QW-ACT-R12": {
|
|
9359
|
+
"issueID": "linkNoText",
|
|
9360
|
+
"quality": 1,
|
|
9361
|
+
"what": "Link has no accessible name"
|
|
9362
|
+
},
|
|
9363
|
+
"QW-WCAG-T21": {
|
|
9364
|
+
"issueID": "imageLinkNoText",
|
|
9365
|
+
"quality": 1,
|
|
9366
|
+
"what": "Accessible name is not provided for an image which is the only content in a link"
|
|
9367
|
+
},
|
|
9368
|
+
"QW-WCAG-T7": {
|
|
9369
|
+
"issueID": "abbreviationNoTitle",
|
|
9370
|
+
"quality": 1,
|
|
9371
|
+
"what": "Definition for an abbreviation not provided with an abbr element"
|
|
9372
|
+
},
|
|
9373
|
+
"QW-ACT-R9": {
|
|
9374
|
+
"issueID": "linkTextsSame",
|
|
9375
|
+
"quality": 1,
|
|
9376
|
+
"what": "Links with identical accessible names have different purposes"
|
|
9377
|
+
},
|
|
9378
|
+
"QW-ACT-R44": {
|
|
9379
|
+
"issueID": "linkTextsSame",
|
|
9380
|
+
"quality": 1,
|
|
9381
|
+
"what": "Links with identical accessible names and context serve different purposes"
|
|
9382
|
+
},
|
|
9383
|
+
"QW-BP4": {
|
|
9384
|
+
"issueID": "linksNoNav",
|
|
9385
|
+
"quality": 1,
|
|
9386
|
+
"what": "Grouped links are not within a nav element"
|
|
9387
|
+
},
|
|
9388
|
+
"QW-BP13": {
|
|
9389
|
+
"issueID": "linkPair",
|
|
9390
|
+
"quality": 1,
|
|
9391
|
+
"what": "Consecutive links have the same href and one contains an image"
|
|
9392
|
+
},
|
|
9393
|
+
"QW-WCAG-T10": {
|
|
9394
|
+
"issueID": "linkNameRisk",
|
|
9395
|
+
"quality": .8,
|
|
9396
|
+
"what": "Link name repeats its image name and/or that name is suspect"
|
|
9397
|
+
},
|
|
9398
|
+
"QW-WCAG-T22": {
|
|
9399
|
+
"issueID": "pageNewWindow",
|
|
9400
|
+
"quality": 1,
|
|
9401
|
+
"what": "New window opens as soon as a new page is loaded"
|
|
9402
|
+
},
|
|
9403
|
+
"QW-ACT-R11": {
|
|
9404
|
+
"issueID": "buttonNoText",
|
|
9405
|
+
"quality": 1,
|
|
9406
|
+
"what": "button element has no accessible name"
|
|
9407
|
+
},
|
|
9408
|
+
"QW-ACT-R66": {
|
|
9409
|
+
"issueID": "menuItemNoText",
|
|
9410
|
+
"quality": 1,
|
|
9411
|
+
"what": "menuitem element has no non-empty accessible name"
|
|
9412
|
+
},
|
|
9413
|
+
"QW-ACT-R33": {
|
|
9414
|
+
"issueID": "parentMissing",
|
|
9415
|
+
"quality": 1,
|
|
9416
|
+
"what": "Element has no ARIA required context role"
|
|
9417
|
+
},
|
|
9418
|
+
"QW-ACT-R38": {
|
|
9419
|
+
"issueID": "descendantMissing",
|
|
9420
|
+
"quality": 1,
|
|
9421
|
+
"what": "Element has no ARIA required owned element"
|
|
9422
|
+
},
|
|
9423
|
+
"QW-ACT-R21": {
|
|
9424
|
+
"issueID": "svgImageNoText",
|
|
9425
|
+
"quality": 1,
|
|
9426
|
+
"what": "Element with an explicit role has no accessible name"
|
|
9427
|
+
},
|
|
9428
|
+
"QW-ACT-R7": {
|
|
9429
|
+
"issueID": "cssBansPageRotate",
|
|
9430
|
+
"quality": 1,
|
|
9431
|
+
"what": "Orientation of the page is restricted by a CSS transform property"
|
|
9432
|
+
},
|
|
9433
|
+
"QW-ACT-R14": {
|
|
9434
|
+
"issueID": "metaBansZoom",
|
|
9435
|
+
"quality": 1,
|
|
9436
|
+
"what": "meta viewport prevents zoom"
|
|
9437
|
+
},
|
|
9438
|
+
"QW-ACT-R67": {
|
|
9439
|
+
"issueID": "horizontalSpacingFrozen",
|
|
9440
|
+
"quality": 1,
|
|
9441
|
+
"what": "Letter spacing in a style attribute is !important"
|
|
9442
|
+
},
|
|
9443
|
+
"QW-ACT-R69": {
|
|
9444
|
+
"issueID": "horizontalSpacingFrozen",
|
|
9445
|
+
"quality": 1,
|
|
9446
|
+
"what": "Word spacing in a style attribute is !important"
|
|
9447
|
+
},
|
|
9448
|
+
"QW-ACT-R68": {
|
|
9449
|
+
"issueID": "verticalSpacingFrozen",
|
|
9450
|
+
"quality": 1,
|
|
9451
|
+
"what": "Line height in a style attribute is !important"
|
|
9452
|
+
},
|
|
9453
|
+
"QW-ACT-R40": {
|
|
9454
|
+
"issueID": "overflowHiddenRisk",
|
|
9455
|
+
"quality": 1,
|
|
9456
|
+
"what": "Zoomed text node is clipped by a CSS overflow declaration?"
|
|
9457
|
+
},
|
|
9458
|
+
"QW-BP14": {
|
|
9459
|
+
"issueID": "boxSizeAbsolute",
|
|
9460
|
+
"quality": 1,
|
|
9461
|
+
"what": "Container width is specified in px"
|
|
9462
|
+
},
|
|
9463
|
+
"QW-BP15": {
|
|
9464
|
+
"issueID": "boxSizeAbsolute",
|
|
9465
|
+
"quality": 1,
|
|
9466
|
+
"what": "Element width is specified in an absolute value"
|
|
9467
|
+
},
|
|
9468
|
+
"QW-ACT-R19": {
|
|
9469
|
+
"issueID": "iframeTitleBad",
|
|
9470
|
+
"quality": 1,
|
|
9471
|
+
"what": "iframe element has no accessible name"
|
|
9472
|
+
},
|
|
9473
|
+
"QW-ACT-R20": {
|
|
9474
|
+
"issueID": "roleBad",
|
|
9475
|
+
"quality": 1,
|
|
9476
|
+
"what": "role attribute has an invalid value"
|
|
9477
|
+
},
|
|
9478
|
+
"QW-ACT-R28": {
|
|
9479
|
+
"issueID": "ariaMissing",
|
|
9480
|
+
"quality": 1,
|
|
9481
|
+
"what": "Element with a role attribute does not have the required states and properties"
|
|
9482
|
+
},
|
|
9483
|
+
"QW-ACT-R25": {
|
|
9484
|
+
"issueID": "ariaAttributeBad",
|
|
9485
|
+
"quality": 1,
|
|
9486
|
+
"what": "ARIA state or property is not permitted"
|
|
9487
|
+
},
|
|
9488
|
+
"QW-ACT-R27": {
|
|
9489
|
+
"issueID": "ariaAttributeBad",
|
|
9490
|
+
"quality": 1,
|
|
9491
|
+
"what": "aria- attribute is not defined in ARIA 1.1"
|
|
9492
|
+
},
|
|
9493
|
+
"QW-ACT-R34": {
|
|
9494
|
+
"issueID": "ariaAttributeBad",
|
|
9495
|
+
"quality": 1,
|
|
9496
|
+
"what": "ARIA state or property has an invalid value"
|
|
9497
|
+
},
|
|
9498
|
+
"QW-ACT-R24": {
|
|
9499
|
+
"issueID": "autocompleteBad",
|
|
9500
|
+
"quality": 1,
|
|
9501
|
+
"what": "autocomplete attribute has no valid value"
|
|
9502
|
+
},
|
|
9503
|
+
"QW-ACT-R76": {
|
|
9504
|
+
"issueID": "contrastAAA",
|
|
9505
|
+
"quality": 1,
|
|
9506
|
+
"what": "Text has less than the enhanced minimum contrast"
|
|
9507
|
+
},
|
|
9508
|
+
"QW-ACT-R37": {
|
|
9509
|
+
"issueID": "contrastRisk",
|
|
9510
|
+
"quality": 1,
|
|
9511
|
+
"what": "Text has less than the minimum contrast or has an image background"
|
|
9512
|
+
},
|
|
9513
|
+
"text-color-convey-information": {
|
|
9514
|
+
"issueID": "colorNamedRisk",
|
|
9515
|
+
"quality": 1,
|
|
9516
|
+
"what": "Text naming a color requires the ability to distinguish colors?"
|
|
9517
|
+
},
|
|
9518
|
+
"QW-ACT-R35": {
|
|
9519
|
+
"issueID": "headingEmpty",
|
|
9520
|
+
"quality": 1,
|
|
9521
|
+
"what": "Heading has no accessible name"
|
|
9522
|
+
},
|
|
9523
|
+
"QW-BP3": {
|
|
9524
|
+
"issueID": "titleRedundant",
|
|
9525
|
+
"quality": 1,
|
|
9526
|
+
"what": "Link text content is equal to the title attribute"
|
|
9527
|
+
},
|
|
9528
|
+
"QW-ACT-R1": {
|
|
9529
|
+
"issueID": "pageTitle",
|
|
9530
|
+
"quality": 1,
|
|
9531
|
+
"what": "HTML page has no title"
|
|
9532
|
+
},
|
|
9533
|
+
"QW-WCAG-T27": {
|
|
9534
|
+
"issueID": "justification",
|
|
9535
|
+
"quality": 1,
|
|
9536
|
+
"what": "Text is justified (aligned to both the left and the right margins)"
|
|
9537
|
+
},
|
|
9538
|
+
"QW-WCAG-T29": {
|
|
9539
|
+
"issueID": "justificationRisk",
|
|
9540
|
+
"quality": 1,
|
|
9541
|
+
"what": "Alignment either to the left or right is not specified in CSS"
|
|
9542
|
+
},
|
|
9543
|
+
"QW-WCAG-T33": {
|
|
9544
|
+
"issueID": "descriptionOrphan",
|
|
9545
|
+
"quality": 1,
|
|
9546
|
+
"what": "Element is not contained by a valid dl element"
|
|
9547
|
+
},
|
|
9548
|
+
"QW-WCAG-T34": {
|
|
9549
|
+
"issueID": "descriptionOrder",
|
|
9550
|
+
"quality": 1,
|
|
9551
|
+
"what": "Description list element is not ordered correctly"
|
|
9552
|
+
},
|
|
9553
|
+
"QW-BP11": {
|
|
9554
|
+
"issueID": "pseudoList",
|
|
9555
|
+
"quality": 1,
|
|
9556
|
+
"what": "br is used to make a list"
|
|
9557
|
+
},
|
|
9558
|
+
"QW-WCAG-T3": {
|
|
9559
|
+
"issueID": "legendMissing",
|
|
9560
|
+
"quality": 1,
|
|
9561
|
+
"what": "Description for a group of form controls using fieldset and legend elements is not provided"
|
|
9562
|
+
},
|
|
9563
|
+
"QW-WCAG-T12": {
|
|
9564
|
+
"issueID": "layoutTable",
|
|
9565
|
+
"quality": 1,
|
|
9566
|
+
"what": "th or caption element or non-empty summary attribute used in a layout table"
|
|
9567
|
+
},
|
|
9568
|
+
"QW-BP9": {
|
|
9569
|
+
"issueID": "layoutTable",
|
|
9570
|
+
"quality": 1,
|
|
9571
|
+
"what": "Table element without header cells has a caption"
|
|
9572
|
+
},
|
|
9573
|
+
"QW-WCAG-T18": {
|
|
9574
|
+
"issueID": "tabularTableless",
|
|
9575
|
+
"quality": 1,
|
|
9576
|
+
"what": "Table markup not used to present tabular information"
|
|
9577
|
+
},
|
|
9578
|
+
"QW-WCAG-T2": {
|
|
9579
|
+
"issueID": "tableCaption",
|
|
9580
|
+
"quality": 1,
|
|
9581
|
+
"what": "caption element not used to associate a caption with a data table"
|
|
9582
|
+
},
|
|
9583
|
+
"QW-ACT-R36": {
|
|
9584
|
+
"issueID": "cellHeadersOutsideTable",
|
|
9585
|
+
"quality": 1,
|
|
9586
|
+
"what": "Headers attribute does not refer to a cell in the same table element"
|
|
9587
|
+
},
|
|
9588
|
+
"QW-WCAG-T14": {
|
|
9589
|
+
"issueID": "cellHeadersAmbiguityRisk",
|
|
9590
|
+
"quality": 1,
|
|
9591
|
+
"what": "id and headers attributes not used to associate data cells with header cells in a data table"
|
|
9592
|
+
},
|
|
9593
|
+
"QW-WCAG-T25": {
|
|
9594
|
+
"issueID": "cellHeadersAmbiguityRisk",
|
|
9595
|
+
"quality": 1,
|
|
9596
|
+
"what": "scope attribute not used to associate header cells and data cells in a data table"
|
|
9597
|
+
},
|
|
9598
|
+
"QW-BP12": {
|
|
9599
|
+
"issueID": "cellHeadersAmbiguityRisk",
|
|
9600
|
+
"quality": 1,
|
|
9601
|
+
"what": "scope col and row are not used"
|
|
9602
|
+
},
|
|
9603
|
+
"QW-ACT-R39": {
|
|
9604
|
+
"issueID": "tableHeaderCellless",
|
|
9605
|
+
"quality": 1,
|
|
9606
|
+
"what": "Table header cell has no assigned data cell"
|
|
9607
|
+
},
|
|
9608
|
+
"QW-BP5": {
|
|
9609
|
+
"issueID": "tableEmbedded",
|
|
9610
|
+
"quality": 1,
|
|
9611
|
+
"what": "table element is inside another table element"
|
|
9612
|
+
},
|
|
9613
|
+
"QW-ACT-R16": {
|
|
9614
|
+
"issueID": "controlNoText",
|
|
9615
|
+
"quality": 1,
|
|
9616
|
+
"what": "Form control has no accessible name"
|
|
9617
|
+
},
|
|
9618
|
+
"QW-ACT-R30": {
|
|
9619
|
+
"issueID": "visibleLabelNotInName",
|
|
9620
|
+
"quality": 1,
|
|
9621
|
+
"what": "Visible label is not part of the accessible name"
|
|
9622
|
+
},
|
|
9623
|
+
"QW-ACT-R70": {
|
|
9624
|
+
"issueID": "unfocusability",
|
|
9625
|
+
"quality": 1,
|
|
9626
|
+
"what": "iframe with negative tabindex has interactive elements"
|
|
9627
|
+
},
|
|
9628
|
+
"QW-BP25": {
|
|
9629
|
+
"issueID": "asideNotTop",
|
|
9630
|
+
"quality": 1,
|
|
9631
|
+
"what": "complementary landmark is not at the top level"
|
|
9632
|
+
},
|
|
9633
|
+
"QW-BP26": {
|
|
9634
|
+
"issueID": "asideNotTop",
|
|
9635
|
+
"quality": 1,
|
|
9636
|
+
"what": "complementary landmark is not at the top level"
|
|
9637
|
+
},
|
|
9638
|
+
"QW-BP27": {
|
|
9639
|
+
"issueID": "mainNotTop",
|
|
9640
|
+
"quality": 1,
|
|
9641
|
+
"what": "main landmark is not at the top level"
|
|
9642
|
+
},
|
|
9643
|
+
"QW-BP19": {
|
|
9644
|
+
"issueID": "bannerNotTop",
|
|
9645
|
+
"quality": 1,
|
|
9646
|
+
"what": "banner landmark is not at the top level"
|
|
9647
|
+
},
|
|
9648
|
+
"QW-BP21": {
|
|
9649
|
+
"issueID": "footerNot1",
|
|
9650
|
+
"quality": .5,
|
|
9651
|
+
"what": "There are multiple contentinfo or banner landmarks"
|
|
9652
|
+
},
|
|
9653
|
+
"QW-WCAG-T26": {
|
|
9654
|
+
"issueID": "focusableRole",
|
|
9655
|
+
"quality": 1,
|
|
9656
|
+
"what": "Script makes a div or span a user interface control without providing a role for the control"
|
|
8748
9657
|
},
|
|
8749
|
-
"QW-
|
|
8750
|
-
"issueID": "
|
|
9658
|
+
"QW-ACT-R65": {
|
|
9659
|
+
"issueID": "focusableDescendants",
|
|
8751
9660
|
"quality": 1,
|
|
8752
|
-
"what": "
|
|
9661
|
+
"what": "Element with presentational children has focusable content"
|
|
8753
9662
|
},
|
|
8754
|
-
"QW-
|
|
8755
|
-
"issueID": "
|
|
9663
|
+
"QW-WCAG-T13": {
|
|
9664
|
+
"issueID": "blink",
|
|
8756
9665
|
"quality": 1,
|
|
8757
|
-
"what": "
|
|
9666
|
+
"what": "Element is blink"
|
|
8758
9667
|
},
|
|
8759
|
-
"QW-WCAG-
|
|
8760
|
-
"issueID": "
|
|
9668
|
+
"QW-WCAG-T30": {
|
|
9669
|
+
"issueID": "blink",
|
|
8761
9670
|
"quality": 1,
|
|
8762
|
-
"what": "
|
|
9671
|
+
"what": "text-decoration:blink is used without a mechanism to stop it in less than five seconds"
|
|
8763
9672
|
},
|
|
8764
|
-
"QW-ACT-
|
|
8765
|
-
"issueID": "
|
|
9673
|
+
"QW-ACT-R15": {
|
|
9674
|
+
"issueID": "autoplay",
|
|
8766
9675
|
"quality": 1,
|
|
8767
|
-
"what": "
|
|
9676
|
+
"what": "Element has audio that plays automatically"
|
|
8768
9677
|
},
|
|
8769
|
-
"QW-
|
|
8770
|
-
"issueID": "
|
|
9678
|
+
"QW-ACT-R49": {
|
|
9679
|
+
"issueID": "autoplayLong",
|
|
8771
9680
|
"quality": 1,
|
|
8772
|
-
"what": "
|
|
9681
|
+
"what": "Element that plays automatically has audio lasting more than 3 seconds"
|
|
8773
9682
|
},
|
|
8774
|
-
"QW-
|
|
8775
|
-
"issueID": "
|
|
9683
|
+
"QW-ACT-R50": {
|
|
9684
|
+
"issueID": "autoplayControl",
|
|
8776
9685
|
"quality": 1,
|
|
8777
|
-
"what": "
|
|
9686
|
+
"what": "audio or video that plays automatically has no control mechanism"
|
|
8778
9687
|
},
|
|
8779
|
-
"QW-ACT-
|
|
8780
|
-
"issueID": "
|
|
9688
|
+
"QW-ACT-R4": {
|
|
9689
|
+
"issueID": "refresh",
|
|
8781
9690
|
"quality": 1,
|
|
8782
|
-
"what": "Element
|
|
9691
|
+
"what": "Element refreshes or redirects with delay"
|
|
8783
9692
|
},
|
|
8784
|
-
"QW-ACT-
|
|
8785
|
-
"issueID": "
|
|
9693
|
+
"QW-ACT-R71": {
|
|
9694
|
+
"issueID": "refresh",
|
|
8786
9695
|
"quality": 1,
|
|
8787
|
-
"what": "
|
|
9696
|
+
"what": "Element has a refresh delay (no exception)"
|
|
8788
9697
|
},
|
|
8789
|
-
"QW-ACT-
|
|
8790
|
-
"issueID": "
|
|
9698
|
+
"QW-ACT-R26": {
|
|
9699
|
+
"issueID": "audioNoText",
|
|
8791
9700
|
"quality": 1,
|
|
8792
|
-
"what": "
|
|
9701
|
+
"what": "Auditory content of the element has no accessible alternative"
|
|
8793
9702
|
},
|
|
8794
|
-
"QW-ACT-
|
|
8795
|
-
"issueID": "
|
|
9703
|
+
"QW-ACT-R29": {
|
|
9704
|
+
"issueID": "audioNoText",
|
|
8796
9705
|
"quality": 1,
|
|
8797
|
-
"what": "
|
|
9706
|
+
"what": "Content of the element has no text alternative"
|
|
8798
9707
|
},
|
|
8799
|
-
"QW-ACT-
|
|
8800
|
-
"issueID": "
|
|
9708
|
+
"QW-ACT-R58": {
|
|
9709
|
+
"issueID": "audioNoText",
|
|
8801
9710
|
"quality": 1,
|
|
8802
|
-
"what": "
|
|
9711
|
+
"what": "Content of the element has no transcript"
|
|
8803
9712
|
},
|
|
8804
|
-
"QW-ACT-
|
|
8805
|
-
"issueID": "
|
|
9713
|
+
"QW-ACT-R59": {
|
|
9714
|
+
"issueID": "audioNoText",
|
|
8806
9715
|
"quality": 1,
|
|
8807
|
-
"what": "
|
|
9716
|
+
"what": "Element content is not a media alternative for text"
|
|
8808
9717
|
},
|
|
8809
|
-
"QW-
|
|
8810
|
-
"issueID": "
|
|
9718
|
+
"QW-ACT-R60": {
|
|
9719
|
+
"issueID": "audioNoText",
|
|
8811
9720
|
"quality": 1,
|
|
8812
|
-
"what": "
|
|
9721
|
+
"what": "Auditory content of the element has no captions"
|
|
8813
9722
|
},
|
|
8814
|
-
"QW-
|
|
8815
|
-
"issueID": "
|
|
9723
|
+
"QW-ACT-R23": {
|
|
9724
|
+
"issueID": "videoNoText",
|
|
8816
9725
|
"quality": 1,
|
|
8817
|
-
"what": "
|
|
9726
|
+
"what": "video element visual content has no accessible alternative"
|
|
8818
9727
|
},
|
|
8819
|
-
"QW-
|
|
8820
|
-
"issueID": "
|
|
9728
|
+
"QW-ACT-R31": {
|
|
9729
|
+
"issueID": "videoNoText",
|
|
8821
9730
|
"quality": 1,
|
|
8822
|
-
"what": "
|
|
9731
|
+
"what": "video element visual-only content has no accessible alternative"
|
|
8823
9732
|
},
|
|
8824
|
-
"QW-
|
|
8825
|
-
"issueID": "
|
|
9733
|
+
"QW-ACT-R32": {
|
|
9734
|
+
"issueID": "videoNoText",
|
|
8826
9735
|
"quality": 1,
|
|
8827
|
-
"what": "
|
|
9736
|
+
"what": "video element visual-only content has no strict accessible alternative"
|
|
8828
9737
|
},
|
|
8829
|
-
"QW-ACT-
|
|
8830
|
-
"issueID": "
|
|
9738
|
+
"QW-ACT-R51": {
|
|
9739
|
+
"issueID": "videoNoText",
|
|
8831
9740
|
"quality": 1,
|
|
8832
|
-
"what": "
|
|
9741
|
+
"what": "video element visual-only content is not a media alternative for text"
|
|
8833
9742
|
},
|
|
8834
|
-
"QW-
|
|
8835
|
-
"issueID": "
|
|
9743
|
+
"QW-ACT-R56": {
|
|
9744
|
+
"issueID": "videoNoText",
|
|
8836
9745
|
"quality": 1,
|
|
8837
|
-
"what": "
|
|
9746
|
+
"what": "video element content is not a media alternative for text"
|
|
8838
9747
|
},
|
|
8839
|
-
"QW-
|
|
8840
|
-
"issueID": "
|
|
9748
|
+
"QW-ACT-R61": {
|
|
9749
|
+
"issueID": "videoNoText",
|
|
8841
9750
|
"quality": 1,
|
|
8842
|
-
"what": "
|
|
9751
|
+
"what": "video element visual content has no transcript"
|
|
8843
9752
|
},
|
|
8844
|
-
"QW-ACT-
|
|
8845
|
-
"issueID": "
|
|
9753
|
+
"QW-ACT-R53": {
|
|
9754
|
+
"issueID": "videoNoTranscript",
|
|
8846
9755
|
"quality": 1,
|
|
8847
|
-
"what": "
|
|
9756
|
+
"what": "video element visual-only content has no transcript"
|
|
8848
9757
|
},
|
|
8849
|
-
"QW-ACT-
|
|
8850
|
-
"issueID": "
|
|
9758
|
+
"QW-ACT-R55": {
|
|
9759
|
+
"issueID": "videoNoAudioDescription",
|
|
8851
9760
|
"quality": 1,
|
|
8852
|
-
"what": "
|
|
9761
|
+
"what": "video element visual content has no audio description"
|
|
8853
9762
|
},
|
|
8854
|
-
"QW-
|
|
8855
|
-
"issueID": "
|
|
9763
|
+
"QW-ACT-R54": {
|
|
9764
|
+
"issueID": "videoNoAudioTrack",
|
|
8856
9765
|
"quality": 1,
|
|
8857
|
-
"what": "
|
|
9766
|
+
"what": "Visual-only content of the element has no audio track alternative"
|
|
8858
9767
|
},
|
|
8859
|
-
"QW-
|
|
8860
|
-
"issueID": "
|
|
9768
|
+
"QW-ACT-R43": {
|
|
9769
|
+
"issueID": "keyboardScroll",
|
|
8861
9770
|
"quality": 1,
|
|
8862
|
-
"what": "
|
|
9771
|
+
"what": "Scrollable element is not keyboard accessible"
|
|
8863
9772
|
},
|
|
8864
|
-
"QW-
|
|
8865
|
-
"issueID": "
|
|
8866
|
-
"quality":
|
|
8867
|
-
"what": "
|
|
9773
|
+
"QW-BP18": {
|
|
9774
|
+
"issueID": "scrollRisk",
|
|
9775
|
+
"quality": 1,
|
|
9776
|
+
"what": "Percentage is not used in CSS for a container size"
|
|
8868
9777
|
},
|
|
8869
|
-
"QW-
|
|
8870
|
-
"issueID": "
|
|
9778
|
+
"QW-ACT-R72": {
|
|
9779
|
+
"issueID": "repeatedContentRisk",
|
|
8871
9780
|
"quality": 1,
|
|
8872
|
-
"what": "
|
|
9781
|
+
"what": "First focusable element is not a link to the non-repeated content"
|
|
8873
9782
|
},
|
|
8874
|
-
"QW-
|
|
8875
|
-
"issueID": "
|
|
9783
|
+
"QW-WCAG-T19": {
|
|
9784
|
+
"issueID": "submitButton",
|
|
8876
9785
|
"quality": 1,
|
|
8877
|
-
"what": "button
|
|
9786
|
+
"what": "Submit button not provided"
|
|
8878
9787
|
},
|
|
8879
|
-
"QW-
|
|
8880
|
-
"issueID": "
|
|
9788
|
+
"QW-BP10": {
|
|
9789
|
+
"issueID": "elementObsolete",
|
|
8881
9790
|
"quality": 1,
|
|
8882
|
-
"what": "
|
|
9791
|
+
"what": "HTML element is used to control the visual presentation of content"
|
|
8883
9792
|
},
|
|
8884
|
-
"QW-
|
|
8885
|
-
"issueID": "
|
|
9793
|
+
"QW-WCAG-T16": {
|
|
9794
|
+
"issueID": "parseError",
|
|
8886
9795
|
"quality": 1,
|
|
8887
|
-
"what": "
|
|
9796
|
+
"what": "HTML is not used according to spec"
|
|
9797
|
+
}
|
|
9798
|
+
},
|
|
9799
|
+
"variable": {}
|
|
9800
|
+
},
|
|
9801
|
+
"surea11y": {
|
|
9802
|
+
"invariant": {
|
|
9803
|
+
"area-alt-present": {
|
|
9804
|
+
"issueID": "imageMapAreaNoText",
|
|
9805
|
+
"quality": 1,
|
|
9806
|
+
"what": "area element has no alt attribute"
|
|
8888
9807
|
},
|
|
8889
|
-
"
|
|
8890
|
-
"issueID": "
|
|
9808
|
+
"aria-allowed-attr": {
|
|
9809
|
+
"issueID": "ariaAttributeBad",
|
|
8891
9810
|
"quality": 1,
|
|
8892
|
-
"what": "
|
|
9811
|
+
"what": "aria attribute is not permitted for the element role"
|
|
8893
9812
|
},
|
|
8894
|
-
"
|
|
8895
|
-
"issueID": "
|
|
9813
|
+
"aria-allowed-role": {
|
|
9814
|
+
"issueID": "roleBad",
|
|
8896
9815
|
"quality": 1,
|
|
8897
|
-
"what": "
|
|
9816
|
+
"what": "Explicit role is not permitted for the element"
|
|
8898
9817
|
},
|
|
8899
|
-
"
|
|
8900
|
-
"issueID": "
|
|
9818
|
+
"aria-braille-equivalent": {
|
|
9819
|
+
"issueID": "brailleOnly",
|
|
8901
9820
|
"quality": 1,
|
|
8902
|
-
"what": "
|
|
9821
|
+
"what": "aria-braillelabel or aria-brailleroledescription has no non-braille equivalent"
|
|
8903
9822
|
},
|
|
8904
|
-
"
|
|
8905
|
-
"issueID": "
|
|
9823
|
+
"aria-conditional-attr": {
|
|
9824
|
+
"issueID": "ariaMissing",
|
|
8906
9825
|
"quality": 1,
|
|
8907
|
-
"what": "
|
|
9826
|
+
"what": "aria-errormessage is used without aria-invalid set to a non-false value"
|
|
8908
9827
|
},
|
|
8909
|
-
"
|
|
8910
|
-
"issueID": "
|
|
9828
|
+
"aria-deprecated-role": {
|
|
9829
|
+
"issueID": "roleBad",
|
|
8911
9830
|
"quality": 1,
|
|
8912
|
-
"what": "
|
|
9831
|
+
"what": "role attribute uses a deprecated or author-discouraged ARIA role"
|
|
8913
9832
|
},
|
|
8914
|
-
"
|
|
8915
|
-
"issueID": "
|
|
9833
|
+
"aria-hidden-body": {
|
|
9834
|
+
"issueID": "contentHidden",
|
|
8916
9835
|
"quality": 1,
|
|
8917
|
-
"what": "
|
|
9836
|
+
"what": "The body element is aria-hidden"
|
|
8918
9837
|
},
|
|
8919
|
-
"
|
|
8920
|
-
"issueID": "
|
|
9838
|
+
"aria-hidden-focus": {
|
|
9839
|
+
"issueID": "focusableHidden",
|
|
8921
9840
|
"quality": 1,
|
|
8922
|
-
"what": "
|
|
9841
|
+
"what": "aria-hidden element is focusable or contains a focusable element"
|
|
8923
9842
|
},
|
|
8924
|
-
"
|
|
8925
|
-
"issueID": "
|
|
9843
|
+
"aria-prohibited-attr": {
|
|
9844
|
+
"issueID": "attributeBad",
|
|
8926
9845
|
"quality": 1,
|
|
8927
|
-
"what": "
|
|
9846
|
+
"what": "ARIA naming attribute is used on a role that prohibits it"
|
|
8928
9847
|
},
|
|
8929
|
-
"
|
|
8930
|
-
"issueID": "
|
|
9848
|
+
"aria-prohibited-children": {
|
|
9849
|
+
"issueID": "roleHierarchyBad",
|
|
8931
9850
|
"quality": 1,
|
|
8932
|
-
"what": "Container
|
|
9851
|
+
"what": "Container role owns a child with a disallowed role"
|
|
8933
9852
|
},
|
|
8934
|
-
"
|
|
8935
|
-
"issueID": "
|
|
9853
|
+
"aria-required-attr": {
|
|
9854
|
+
"issueID": "ariaMissing",
|
|
8936
9855
|
"quality": 1,
|
|
8937
|
-
"what": "
|
|
9856
|
+
"what": "Role is missing a required ARIA state or property"
|
|
8938
9857
|
},
|
|
8939
|
-
"
|
|
8940
|
-
"issueID": "
|
|
9858
|
+
"aria-required-children": {
|
|
9859
|
+
"issueID": "descendantMissing",
|
|
8941
9860
|
"quality": 1,
|
|
8942
|
-
"what": "
|
|
9861
|
+
"what": "Container role is missing a required child role"
|
|
8943
9862
|
},
|
|
8944
|
-
"
|
|
9863
|
+
"aria-required-parent": {
|
|
9864
|
+
"issueID": "parentMissing",
|
|
9865
|
+
"quality": 1,
|
|
9866
|
+
"what": "Role requiring a specific context is not in that context"
|
|
9867
|
+
},
|
|
9868
|
+
"aria-role-name-present": {
|
|
9869
|
+
"issueID": "roleNoText",
|
|
9870
|
+
"quality": 1,
|
|
9871
|
+
"what": "ARIA role that requires an accessible name has none"
|
|
9872
|
+
},
|
|
9873
|
+
"aria-roles-valid": {
|
|
8945
9874
|
"issueID": "roleBad",
|
|
8946
9875
|
"quality": 1,
|
|
8947
|
-
"what": "role attribute
|
|
9876
|
+
"what": "role attribute is not a valid non-abstract ARIA role"
|
|
8948
9877
|
},
|
|
8949
|
-
"
|
|
8950
|
-
"issueID": "
|
|
9878
|
+
"aria-valid-attr": {
|
|
9879
|
+
"issueID": "ariaAttributeBad",
|
|
8951
9880
|
"quality": 1,
|
|
8952
|
-
"what": "
|
|
9881
|
+
"what": "aria attribute is not a real defined ARIA attribute"
|
|
8953
9882
|
},
|
|
8954
|
-
"
|
|
9883
|
+
"aria-valid-attr-value": {
|
|
8955
9884
|
"issueID": "ariaAttributeBad",
|
|
8956
9885
|
"quality": 1,
|
|
8957
|
-
"what": "
|
|
9886
|
+
"what": "aria attribute value does not match its declared type"
|
|
9887
|
+
},
|
|
9888
|
+
"autocomplete-valid": {
|
|
9889
|
+
"issueID": "autocompleteBad",
|
|
9890
|
+
"quality": 1,
|
|
9891
|
+
"what": "autocomplete attribute is not a valid autofill value"
|
|
9892
|
+
},
|
|
9893
|
+
"avoid-inline-spacing": {
|
|
9894
|
+
"issueID": "horizontalSpacingFrozen",
|
|
9895
|
+
"quality": 1,
|
|
9896
|
+
"what": "Inline style forces text spacing below the WCAG metric"
|
|
8958
9897
|
},
|
|
8959
|
-
"
|
|
8960
|
-
"issueID": "
|
|
9898
|
+
"binary-control-name-present": {
|
|
9899
|
+
"issueID": "inputNoText",
|
|
8961
9900
|
"quality": 1,
|
|
8962
|
-
"what": "
|
|
9901
|
+
"what": "Binary control has no accessible name"
|
|
8963
9902
|
},
|
|
8964
|
-
"
|
|
8965
|
-
"issueID": "
|
|
9903
|
+
"button-name-present": {
|
|
9904
|
+
"issueID": "buttonNoText",
|
|
8966
9905
|
"quality": 1,
|
|
8967
|
-
"what": "
|
|
9906
|
+
"what": "Button has no accessible name"
|
|
8968
9907
|
},
|
|
8969
|
-
"
|
|
8970
|
-
"issueID": "
|
|
9908
|
+
"canvas-text-alternative-present": {
|
|
9909
|
+
"issueID": "objectNoText",
|
|
8971
9910
|
"quality": 1,
|
|
8972
|
-
"what": "
|
|
9911
|
+
"what": "canvas element has no text alternative"
|
|
8973
9912
|
},
|
|
8974
|
-
"
|
|
8975
|
-
"issueID": "
|
|
9913
|
+
"combobox-name-present": {
|
|
9914
|
+
"issueID": "componentNoText",
|
|
8976
9915
|
"quality": 1,
|
|
8977
|
-
"what": "
|
|
9916
|
+
"what": "Combobox has no accessible name"
|
|
8978
9917
|
},
|
|
8979
|
-
"
|
|
9918
|
+
"contrast-computable": {
|
|
8980
9919
|
"issueID": "contrastRisk",
|
|
8981
9920
|
"quality": 1,
|
|
8982
|
-
"what": "
|
|
9921
|
+
"what": "Color contrast cannot be computed for rendered text"
|
|
8983
9922
|
},
|
|
8984
|
-
"
|
|
8985
|
-
"issueID": "
|
|
9923
|
+
"contrast-enhanced": {
|
|
9924
|
+
"issueID": "contrastAAA",
|
|
8986
9925
|
"quality": 1,
|
|
8987
|
-
"what": "Text
|
|
9926
|
+
"what": "Text does not meet enhanced color contrast"
|
|
8988
9927
|
},
|
|
8989
|
-
"
|
|
8990
|
-
"issueID": "
|
|
9928
|
+
"contrast-minimum": {
|
|
9929
|
+
"issueID": "contrastAA",
|
|
8991
9930
|
"quality": 1,
|
|
8992
|
-
"what": "
|
|
9931
|
+
"what": "Text does not meet minimum color contrast"
|
|
8993
9932
|
},
|
|
8994
|
-
"
|
|
8995
|
-
"issueID": "
|
|
9933
|
+
"css-orientation-lock": {
|
|
9934
|
+
"issueID": "cssBansPageRotate",
|
|
8996
9935
|
"quality": 1,
|
|
8997
|
-
"what": "
|
|
9936
|
+
"what": "CSS locks the page to a single orientation"
|
|
8998
9937
|
},
|
|
8999
|
-
"
|
|
9000
|
-
"issueID": "
|
|
9938
|
+
"definition-list-children-valid": {
|
|
9939
|
+
"issueID": "listChild",
|
|
9001
9940
|
"quality": 1,
|
|
9002
|
-
"what": "
|
|
9941
|
+
"what": "Description list contains a child other than dt or dd"
|
|
9003
9942
|
},
|
|
9004
|
-
"
|
|
9005
|
-
"issueID": "
|
|
9943
|
+
"deprecated-elements-not-used": {
|
|
9944
|
+
"issueID": "obsoleteMotion",
|
|
9006
9945
|
"quality": 1,
|
|
9007
|
-
"what": "
|
|
9946
|
+
"what": "Obsolete non-stoppable motion element (blink or marquee) is used"
|
|
9008
9947
|
},
|
|
9009
|
-
"
|
|
9010
|
-
"issueID": "
|
|
9948
|
+
"dialog-name-present": {
|
|
9949
|
+
"issueID": "dialogNoText",
|
|
9011
9950
|
"quality": 1,
|
|
9012
|
-
"what": "
|
|
9951
|
+
"what": "Dialog has no accessible name"
|
|
9013
9952
|
},
|
|
9014
|
-
"
|
|
9953
|
+
"dlitem-parent-valid": {
|
|
9015
9954
|
"issueID": "descriptionOrphan",
|
|
9016
9955
|
"quality": 1,
|
|
9017
|
-
"what": "
|
|
9018
|
-
},
|
|
9019
|
-
"QW-WCAG-T34": {
|
|
9020
|
-
"issueID": "descriptionOrder",
|
|
9021
|
-
"quality": 1,
|
|
9022
|
-
"what": "Description list element is not ordered correctly"
|
|
9956
|
+
"what": "dt or dd element is not inside a dl element"
|
|
9023
9957
|
},
|
|
9024
|
-
"
|
|
9025
|
-
"issueID": "
|
|
9958
|
+
"duplicate-id": {
|
|
9959
|
+
"issueID": "duplicateID",
|
|
9026
9960
|
"quality": 1,
|
|
9027
|
-
"what": "
|
|
9961
|
+
"what": "id attribute is not unique"
|
|
9028
9962
|
},
|
|
9029
|
-
"
|
|
9030
|
-
"issueID": "
|
|
9963
|
+
"duplicate-id-aria": {
|
|
9964
|
+
"issueID": "duplicateID",
|
|
9031
9965
|
"quality": 1,
|
|
9032
|
-
"what": "
|
|
9966
|
+
"what": "id referenced by ARIA is not unique"
|
|
9033
9967
|
},
|
|
9034
|
-
"
|
|
9035
|
-
"issueID": "
|
|
9968
|
+
"embed-text-alternative-present": {
|
|
9969
|
+
"issueID": "objectNoText",
|
|
9036
9970
|
"quality": 1,
|
|
9037
|
-
"what": "
|
|
9971
|
+
"what": "embed element has no text alternative"
|
|
9038
9972
|
},
|
|
9039
|
-
"
|
|
9040
|
-
"issueID": "
|
|
9973
|
+
"form-control-programmatic-label-present": {
|
|
9974
|
+
"issueID": "controlNoText",
|
|
9041
9975
|
"quality": 1,
|
|
9042
|
-
"what": "
|
|
9976
|
+
"what": "Form control has no programmatic label"
|
|
9043
9977
|
},
|
|
9044
|
-
"
|
|
9045
|
-
"issueID": "
|
|
9978
|
+
"form-control-single-label": {
|
|
9979
|
+
"issueID": "labelNot1",
|
|
9046
9980
|
"quality": 1,
|
|
9047
|
-
"what": "
|
|
9981
|
+
"what": "Form control has multiple labels"
|
|
9048
9982
|
},
|
|
9049
|
-
"
|
|
9050
|
-
"issueID": "
|
|
9983
|
+
"html-lang-attr-present": {
|
|
9984
|
+
"issueID": "pageLanguage",
|
|
9051
9985
|
"quality": 1,
|
|
9052
|
-
"what": "
|
|
9986
|
+
"what": "html element has no lang attribute"
|
|
9053
9987
|
},
|
|
9054
|
-
"
|
|
9055
|
-
"issueID": "
|
|
9988
|
+
"html-xml-lang-mismatch": {
|
|
9989
|
+
"issueID": "pageLanguageBad",
|
|
9056
9990
|
"quality": 1,
|
|
9057
|
-
"what": "
|
|
9991
|
+
"what": "lang and xml:lang attributes disagree"
|
|
9058
9992
|
},
|
|
9059
|
-
"
|
|
9060
|
-
"issueID": "
|
|
9993
|
+
"identical-iframes-same-purpose": {
|
|
9994
|
+
"issueID": "iframeConfusion",
|
|
9061
9995
|
"quality": 1,
|
|
9062
|
-
"what": "
|
|
9996
|
+
"what": "Frames with the same accessible name embed different resources"
|
|
9063
9997
|
},
|
|
9064
|
-
"
|
|
9065
|
-
"issueID": "
|
|
9998
|
+
"iframe-focusable-content": {
|
|
9999
|
+
"issueID": "focusableHidden",
|
|
9066
10000
|
"quality": 1,
|
|
9067
|
-
"what": "
|
|
10001
|
+
"what": "Frame with tabindex of -1 contains focusable content"
|
|
9068
10002
|
},
|
|
9069
|
-
"
|
|
9070
|
-
"issueID": "
|
|
10003
|
+
"iframe-name-present": {
|
|
10004
|
+
"issueID": "iframeTitleBad",
|
|
9071
10005
|
"quality": 1,
|
|
9072
|
-
"what": "
|
|
10006
|
+
"what": "Frame has no accessible name"
|
|
9073
10007
|
},
|
|
9074
|
-
"
|
|
9075
|
-
"issueID": "
|
|
10008
|
+
"iframe-title-unique": {
|
|
10009
|
+
"issueID": "iframeTitleBad",
|
|
9076
10010
|
"quality": 1,
|
|
9077
|
-
"what": "
|
|
10011
|
+
"what": "Frame title is not unique"
|
|
9078
10012
|
},
|
|
9079
|
-
"
|
|
9080
|
-
"issueID": "
|
|
10013
|
+
"img-alt-present": {
|
|
10014
|
+
"issueID": "imageNoText",
|
|
9081
10015
|
"quality": 1,
|
|
9082
|
-
"what": "
|
|
10016
|
+
"what": "img element has no alt attribute"
|
|
9083
10017
|
},
|
|
9084
|
-
"
|
|
9085
|
-
"issueID": "
|
|
10018
|
+
"input-image-alt-present": {
|
|
10019
|
+
"issueID": "imageButtonNoText",
|
|
9086
10020
|
"quality": 1,
|
|
9087
|
-
"what": "
|
|
10021
|
+
"what": "Image input has no text alternative"
|
|
9088
10022
|
},
|
|
9089
|
-
"
|
|
10023
|
+
"label-in-name": {
|
|
9090
10024
|
"issueID": "visibleLabelNotInName",
|
|
9091
10025
|
"quality": 1,
|
|
9092
|
-
"what": "
|
|
10026
|
+
"what": "Accessible name does not contain the visible text"
|
|
9093
10027
|
},
|
|
9094
|
-
"
|
|
9095
|
-
"issueID": "
|
|
10028
|
+
"link-in-text-block": {
|
|
10029
|
+
"issueID": "linkIndication",
|
|
9096
10030
|
"quality": 1,
|
|
9097
|
-
"what": "
|
|
10031
|
+
"what": "Link is not distinguishable from surrounding text without color"
|
|
9098
10032
|
},
|
|
9099
|
-
"
|
|
9100
|
-
"issueID": "
|
|
10033
|
+
"link-name-present": {
|
|
10034
|
+
"issueID": "linkNoText",
|
|
9101
10035
|
"quality": 1,
|
|
9102
|
-
"what": "
|
|
10036
|
+
"what": "Link has no accessible name"
|
|
9103
10037
|
},
|
|
9104
|
-
"
|
|
9105
|
-
"issueID": "
|
|
10038
|
+
"list-children-valid": {
|
|
10039
|
+
"issueID": "listChild",
|
|
9106
10040
|
"quality": 1,
|
|
9107
|
-
"what": "
|
|
10041
|
+
"what": "List contains a child other than a list item"
|
|
9108
10042
|
},
|
|
9109
|
-
"
|
|
9110
|
-
"issueID": "
|
|
10043
|
+
"listbox-name-present": {
|
|
10044
|
+
"issueID": "componentNoText",
|
|
9111
10045
|
"quality": 1,
|
|
9112
|
-
"what": "
|
|
10046
|
+
"what": "Listbox has no accessible name"
|
|
9113
10047
|
},
|
|
9114
|
-
"
|
|
9115
|
-
"issueID": "
|
|
10048
|
+
"listitem-parent-valid": {
|
|
10049
|
+
"issueID": "listItemOrphan",
|
|
9116
10050
|
"quality": 1,
|
|
9117
|
-
"what": "
|
|
9118
|
-
},
|
|
9119
|
-
"QW-BP21": {
|
|
9120
|
-
"issueID": "footerNot1",
|
|
9121
|
-
"quality": .5,
|
|
9122
|
-
"what": "There are multiple contentinfo or banner landmarks"
|
|
10051
|
+
"what": "li element is not inside a ul or ol element"
|
|
9123
10052
|
},
|
|
9124
|
-
"
|
|
9125
|
-
"issueID": "
|
|
10053
|
+
"menuitem-name-present": {
|
|
10054
|
+
"issueID": "menuItemNoText",
|
|
9126
10055
|
"quality": 1,
|
|
9127
|
-
"what": "
|
|
10056
|
+
"what": "Menu item has no accessible name"
|
|
9128
10057
|
},
|
|
9129
|
-
"
|
|
9130
|
-
"issueID": "
|
|
10058
|
+
"meta-refresh-no-exceptions": {
|
|
10059
|
+
"issueID": "refresh",
|
|
9131
10060
|
"quality": 1,
|
|
9132
|
-
"what": "
|
|
10061
|
+
"what": "Page uses a meta refresh"
|
|
9133
10062
|
},
|
|
9134
|
-
"
|
|
9135
|
-
"issueID": "
|
|
10063
|
+
"meta-refresh-timing-absent": {
|
|
10064
|
+
"issueID": "refresh",
|
|
9136
10065
|
"quality": 1,
|
|
9137
|
-
"what": "
|
|
10066
|
+
"what": "Page uses a timed meta refresh"
|
|
9138
10067
|
},
|
|
9139
|
-
"
|
|
9140
|
-
"issueID": "
|
|
10068
|
+
"meta-viewport-zoom-enabled": {
|
|
10069
|
+
"issueID": "metaBansZoom",
|
|
9141
10070
|
"quality": 1,
|
|
9142
|
-
"what": "
|
|
10071
|
+
"what": "Viewport meta tag disables zoom"
|
|
9143
10072
|
},
|
|
9144
|
-
"
|
|
9145
|
-
"issueID": "
|
|
10073
|
+
"meter-name-present": {
|
|
10074
|
+
"issueID": "progressNoText",
|
|
9146
10075
|
"quality": 1,
|
|
9147
|
-
"what": "
|
|
10076
|
+
"what": "Meter has no accessible name"
|
|
9148
10077
|
},
|
|
9149
|
-
"
|
|
9150
|
-
"issueID": "
|
|
10078
|
+
"nested-interactive-controls-absent": {
|
|
10079
|
+
"issueID": "activeEmbedding",
|
|
9151
10080
|
"quality": 1,
|
|
9152
|
-
"what": "
|
|
10081
|
+
"what": "Interactive control contains another interactive control"
|
|
9153
10082
|
},
|
|
9154
|
-
"
|
|
9155
|
-
"issueID": "
|
|
10083
|
+
"object-text-alternative-present": {
|
|
10084
|
+
"issueID": "objectNoText",
|
|
9156
10085
|
"quality": 1,
|
|
9157
|
-
"what": "
|
|
10086
|
+
"what": "object element has no text alternative"
|
|
9158
10087
|
},
|
|
9159
|
-
"
|
|
9160
|
-
"issueID": "
|
|
10088
|
+
"option-name-present": {
|
|
10089
|
+
"issueID": "componentNoText",
|
|
9161
10090
|
"quality": 1,
|
|
9162
|
-
"what": "
|
|
10091
|
+
"what": "Option has no accessible name"
|
|
9163
10092
|
},
|
|
9164
|
-
"
|
|
9165
|
-
"issueID": "
|
|
10093
|
+
"page-title-present": {
|
|
10094
|
+
"issueID": "pageTitle",
|
|
9166
10095
|
"quality": 1,
|
|
9167
|
-
"what": "
|
|
10096
|
+
"what": "Page has no title or an empty title"
|
|
9168
10097
|
},
|
|
9169
|
-
"
|
|
9170
|
-
"issueID": "
|
|
10098
|
+
"presentational-children-focusable-absent": {
|
|
10099
|
+
"issueID": "focusableDescendants",
|
|
9171
10100
|
"quality": 1,
|
|
9172
|
-
"what": "
|
|
10101
|
+
"what": "Role with presentational children contains focusable content"
|
|
9173
10102
|
},
|
|
9174
|
-
"
|
|
9175
|
-
"issueID": "
|
|
10103
|
+
"progressbar-name-present": {
|
|
10104
|
+
"issueID": "progressNoText",
|
|
9176
10105
|
"quality": 1,
|
|
9177
|
-
"what": "
|
|
10106
|
+
"what": "Progress bar has no accessible name"
|
|
9178
10107
|
},
|
|
9179
|
-
"
|
|
9180
|
-
"issueID": "
|
|
10108
|
+
"role-img-text-alternative-present": {
|
|
10109
|
+
"issueID": "imageNoText",
|
|
9181
10110
|
"quality": 1,
|
|
9182
|
-
"what": "
|
|
10111
|
+
"what": "Element with role of img has no text alternative"
|
|
9183
10112
|
},
|
|
9184
|
-
"
|
|
9185
|
-
"issueID": "
|
|
10113
|
+
"searchbox-name-present": {
|
|
10114
|
+
"issueID": "inputNoText",
|
|
9186
10115
|
"quality": 1,
|
|
9187
|
-
"what": "
|
|
10116
|
+
"what": "Searchbox has no accessible name"
|
|
9188
10117
|
},
|
|
9189
|
-
"
|
|
9190
|
-
"issueID": "
|
|
10118
|
+
"server-side-image-map-absent": {
|
|
10119
|
+
"issueID": "imageMapServerSide",
|
|
9191
10120
|
"quality": 1,
|
|
9192
|
-
"what": "
|
|
10121
|
+
"what": "img element has an ismap attribute"
|
|
9193
10122
|
},
|
|
9194
|
-
"
|
|
9195
|
-
"issueID": "
|
|
10123
|
+
"slider-name-present": {
|
|
10124
|
+
"issueID": "inputNoText",
|
|
9196
10125
|
"quality": 1,
|
|
9197
|
-
"what": "
|
|
10126
|
+
"what": "Slider has no accessible name"
|
|
9198
10127
|
},
|
|
9199
|
-
"
|
|
9200
|
-
"issueID": "
|
|
10128
|
+
"spinbutton-name-present": {
|
|
10129
|
+
"issueID": "inputNoText",
|
|
9201
10130
|
"quality": 1,
|
|
9202
|
-
"what": "
|
|
10131
|
+
"what": "Spinbutton has no accessible name"
|
|
9203
10132
|
},
|
|
9204
|
-
"
|
|
9205
|
-
"issueID": "
|
|
10133
|
+
"summary-name-present": {
|
|
10134
|
+
"issueID": "buttonNoText",
|
|
9206
10135
|
"quality": 1,
|
|
9207
|
-
"what": "
|
|
10136
|
+
"what": "summary element has no accessible name"
|
|
9208
10137
|
},
|
|
9209
|
-
"
|
|
9210
|
-
"issueID": "
|
|
10138
|
+
"svg-image-text-alternative-present": {
|
|
10139
|
+
"issueID": "svgImageNoText",
|
|
9211
10140
|
"quality": 1,
|
|
9212
|
-
"what": "
|
|
10141
|
+
"what": "SVG image element has no text alternative"
|
|
9213
10142
|
},
|
|
9214
|
-
"
|
|
9215
|
-
"issueID": "
|
|
10143
|
+
"svg-text-alternative-present": {
|
|
10144
|
+
"issueID": "svgImageNoText",
|
|
9216
10145
|
"quality": 1,
|
|
9217
|
-
"what": "
|
|
10146
|
+
"what": "SVG element has no text alternative"
|
|
9218
10147
|
},
|
|
9219
|
-
"
|
|
9220
|
-
"issueID": "
|
|
10148
|
+
"tab-name-present": {
|
|
10149
|
+
"issueID": "componentNoText",
|
|
9221
10150
|
"quality": 1,
|
|
9222
|
-
"what": "
|
|
10151
|
+
"what": "Tab has no accessible name"
|
|
9223
10152
|
},
|
|
9224
|
-
"
|
|
9225
|
-
"issueID": "
|
|
10153
|
+
"table-headers-attr-valid": {
|
|
10154
|
+
"issueID": "tableHeaderless",
|
|
9226
10155
|
"quality": 1,
|
|
9227
|
-
"what": "
|
|
10156
|
+
"what": "Table header attributes are invalid"
|
|
9228
10157
|
},
|
|
9229
|
-
"
|
|
9230
|
-
"issueID": "
|
|
10158
|
+
"table-th-has-data-cells": {
|
|
10159
|
+
"issueID": "tableHeaderCellless",
|
|
9231
10160
|
"quality": 1,
|
|
9232
|
-
"what": "
|
|
10161
|
+
"what": "th element does not describe any data cell"
|
|
9233
10162
|
},
|
|
9234
|
-
"
|
|
9235
|
-
"issueID": "
|
|
10163
|
+
"target-size-minimum": {
|
|
10164
|
+
"issueID": "targetTiny",
|
|
9236
10165
|
"quality": 1,
|
|
9237
|
-
"what": "
|
|
10166
|
+
"what": "Pointer target is smaller than 24 CSS pixels"
|
|
9238
10167
|
},
|
|
9239
|
-
"
|
|
9240
|
-
"issueID": "
|
|
10168
|
+
"td-has-header": {
|
|
10169
|
+
"issueID": "tableCellHeaderless",
|
|
9241
10170
|
"quality": 1,
|
|
9242
|
-
"what": "
|
|
10171
|
+
"what": "Data cell in a large table has no associated header"
|
|
9243
10172
|
},
|
|
9244
|
-
"
|
|
9245
|
-
"issueID": "
|
|
10173
|
+
"textbox-name-present": {
|
|
10174
|
+
"issueID": "inputNoText",
|
|
9246
10175
|
"quality": 1,
|
|
9247
|
-
"what": "
|
|
10176
|
+
"what": "Textbox has no accessible name"
|
|
9248
10177
|
},
|
|
9249
|
-
"
|
|
9250
|
-
"issueID": "
|
|
10178
|
+
"tooltip-name-present": {
|
|
10179
|
+
"issueID": "componentNoText",
|
|
9251
10180
|
"quality": 1,
|
|
9252
|
-
"what": "
|
|
10181
|
+
"what": "Tooltip has no accessible name"
|
|
9253
10182
|
},
|
|
9254
|
-
"
|
|
9255
|
-
"issueID": "
|
|
10183
|
+
"treeitem-name-present": {
|
|
10184
|
+
"issueID": "componentNoText",
|
|
9256
10185
|
"quality": 1,
|
|
9257
|
-
"what": "
|
|
10186
|
+
"what": "Tree item has no accessible name"
|
|
9258
10187
|
},
|
|
9259
|
-
"
|
|
9260
|
-
"issueID": "
|
|
10188
|
+
"valid-lang": {
|
|
10189
|
+
"issueID": "elementLanguageBad",
|
|
9261
10190
|
"quality": 1,
|
|
9262
|
-
"what": "
|
|
10191
|
+
"what": "Element lang attribute is not syntactically valid"
|
|
9263
10192
|
},
|
|
9264
|
-
"
|
|
9265
|
-
"issueID": "
|
|
10193
|
+
"video-poster-text-alternative-present": {
|
|
10194
|
+
"issueID": "imageNoText",
|
|
9266
10195
|
"quality": 1,
|
|
9267
|
-
"what": "
|
|
10196
|
+
"what": "Video poster has no text alternative"
|
|
9268
10197
|
}
|
|
9269
10198
|
},
|
|
9270
10199
|
"variable": {}
|