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