testilo 43.1.5 → 43.2.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/package.json +1 -1
- package/procs/score/tic.js +317 -52
package/package.json
CHANGED
package/procs/score/tic.js
CHANGED
|
@@ -918,6 +918,13 @@ exports.issues = {
|
|
|
918
918
|
wcag: '1.1.1',
|
|
919
919
|
weight: 4,
|
|
920
920
|
tools: {
|
|
921
|
+
htmlcs: {
|
|
922
|
+
'AAA.4_1_2.H91.Svg.Name': {
|
|
923
|
+
variable: false,
|
|
924
|
+
quality: 1,
|
|
925
|
+
what: 'Element is svg but has no accessible name'
|
|
926
|
+
}
|
|
927
|
+
},
|
|
921
928
|
wax: {
|
|
922
929
|
'Add alternative text to <svg> elements with an img, graphics-document, or graphics-symbol role.': {
|
|
923
930
|
variable: false,
|
|
@@ -1028,7 +1035,7 @@ exports.issues = {
|
|
|
1028
1035
|
alt_color_convey_information: {
|
|
1029
1036
|
variable: false,
|
|
1030
1037
|
quality: 1,
|
|
1031
|
-
what: 'Text alternative
|
|
1038
|
+
what: 'Text alternative fails to give information provided by colors?'
|
|
1032
1039
|
}
|
|
1033
1040
|
},
|
|
1034
1041
|
wave: {
|
|
@@ -1242,7 +1249,7 @@ exports.issues = {
|
|
|
1242
1249
|
'AAA.1_1_1.H67.2': {
|
|
1243
1250
|
variable: false,
|
|
1244
1251
|
quality: 1,
|
|
1245
|
-
what: 'Image marked as decorative
|
|
1252
|
+
what: 'Image marked as decorative is informative?'
|
|
1246
1253
|
}
|
|
1247
1254
|
}
|
|
1248
1255
|
}
|
|
@@ -1710,7 +1717,7 @@ exports.issues = {
|
|
|
1710
1717
|
link_button_space_key: {
|
|
1711
1718
|
variable: false,
|
|
1712
1719
|
quality: 1,
|
|
1713
|
-
what: 'Element has a button role but
|
|
1720
|
+
what: 'Element has a button role but fails to be keyboard-operable?'
|
|
1714
1721
|
}
|
|
1715
1722
|
}
|
|
1716
1723
|
}
|
|
@@ -1725,7 +1732,7 @@ exports.issues = {
|
|
|
1725
1732
|
'AAA.2_1_2.F10': {
|
|
1726
1733
|
variable: false,
|
|
1727
1734
|
quality: 1,
|
|
1728
|
-
what: 'Applet or plugin
|
|
1735
|
+
what: 'Applet or plugin fails to enable moving the focus away with the keyboard?'
|
|
1729
1736
|
}
|
|
1730
1737
|
}
|
|
1731
1738
|
}
|
|
@@ -1740,27 +1747,34 @@ exports.issues = {
|
|
|
1740
1747
|
'AAA.2_1_1.G90': {
|
|
1741
1748
|
variable: false,
|
|
1742
1749
|
quality: 1,
|
|
1743
|
-
what: 'Event handler functionality
|
|
1750
|
+
what: 'Event handler functionality is not available by keyboard?'
|
|
1744
1751
|
},
|
|
1745
1752
|
'AAA.2_1_1.SCR20.MouseOut': {
|
|
1746
1753
|
variable: false,
|
|
1747
1754
|
quality: 1,
|
|
1748
|
-
what: 'Mousing-out functionality
|
|
1755
|
+
what: 'Mousing-out functionality is not available by keyboard?'
|
|
1749
1756
|
},
|
|
1750
1757
|
'AAA.2_1_1.SCR20.MouseOver': {
|
|
1751
1758
|
variable: false,
|
|
1752
1759
|
quality: 1,
|
|
1753
|
-
what: 'Mousing-over functionality
|
|
1760
|
+
what: 'Mousing-over functionality is not available by keyboard?'
|
|
1754
1761
|
},
|
|
1755
1762
|
'AAA.2_1_1.SCR20.MouseDown': {
|
|
1756
1763
|
variable: false,
|
|
1757
1764
|
quality: 1,
|
|
1758
|
-
what: 'Mousing-down functionality
|
|
1765
|
+
what: 'Mousing-down functionality is not available by keyboard?'
|
|
1759
1766
|
},
|
|
1760
1767
|
'AAA.2_1_1.SCR20.MouseUp': {
|
|
1761
1768
|
variable: false,
|
|
1762
1769
|
quality: 1,
|
|
1763
|
-
what: 'Mousing-up functionality
|
|
1770
|
+
what: 'Mousing-up functionality is not available by keyboard?'
|
|
1771
|
+
}
|
|
1772
|
+
},
|
|
1773
|
+
ibm: {
|
|
1774
|
+
aria_keyboard_handler_exists: {
|
|
1775
|
+
variable: false,
|
|
1776
|
+
quality: 1,
|
|
1777
|
+
what: 'Interactive WAI_ARIA UI components must provide keyboard access'
|
|
1764
1778
|
}
|
|
1765
1779
|
},
|
|
1766
1780
|
qualWeb: {
|
|
@@ -1776,6 +1790,13 @@ exports.issues = {
|
|
|
1776
1790
|
quality: 0.5,
|
|
1777
1791
|
what: 'Device-dependent event handler'
|
|
1778
1792
|
}
|
|
1793
|
+
},
|
|
1794
|
+
wax: {
|
|
1795
|
+
'Ensure the functionality provided by an event handler for this element is available through the keyboard': {
|
|
1796
|
+
variable: false,
|
|
1797
|
+
quality: 1,
|
|
1798
|
+
what: 'Event handler functionality is not available by keyboard?'
|
|
1799
|
+
}
|
|
1779
1800
|
}
|
|
1780
1801
|
}
|
|
1781
1802
|
},
|
|
@@ -1832,7 +1853,7 @@ exports.issues = {
|
|
|
1832
1853
|
'AAA.1_3_1.H44.NotFormControl': {
|
|
1833
1854
|
variable: false,
|
|
1834
1855
|
quality: 1,
|
|
1835
|
-
what: 'Referent of the for attribute of the label is not a form control, so
|
|
1856
|
+
what: 'Referent of the for attribute of the label is not a form control, so is wrong?'
|
|
1836
1857
|
}
|
|
1837
1858
|
},
|
|
1838
1859
|
ibm: {
|
|
@@ -1883,7 +1904,7 @@ exports.issues = {
|
|
|
1883
1904
|
'Possible misuse of aria-label. (If you disagree with this warning, file an issue report or send e-mail to www-validator@w3.org.)': {
|
|
1884
1905
|
variable: false,
|
|
1885
1906
|
quality: 1,
|
|
1886
|
-
what: 'aria-label attribute
|
|
1907
|
+
what: 'aria-label attribute is misused?'
|
|
1887
1908
|
}
|
|
1888
1909
|
}
|
|
1889
1910
|
}
|
|
@@ -2282,6 +2303,21 @@ exports.issues = {
|
|
|
2282
2303
|
}
|
|
2283
2304
|
}
|
|
2284
2305
|
},
|
|
2306
|
+
linkImageTextURL: {
|
|
2307
|
+
summary: 'text alternative of link image a URL',
|
|
2308
|
+
why: 'User cannot understand what a link points to',
|
|
2309
|
+
wcag: '2.4.4',
|
|
2310
|
+
weight: 3,
|
|
2311
|
+
tools: {
|
|
2312
|
+
ed11y: {
|
|
2313
|
+
altURLLinked: {
|
|
2314
|
+
variable: false,
|
|
2315
|
+
quality: 1,
|
|
2316
|
+
what: 'Text alternative of the link image is a URL'
|
|
2317
|
+
}
|
|
2318
|
+
}
|
|
2319
|
+
}
|
|
2320
|
+
},
|
|
2285
2321
|
linkBrokenRisk: {
|
|
2286
2322
|
summary: 'link incomplete',
|
|
2287
2323
|
why: 'User may fail to reach a promised location',
|
|
@@ -2535,7 +2571,7 @@ exports.issues = {
|
|
|
2535
2571
|
'identical-links-same-purpose': {
|
|
2536
2572
|
variable: false,
|
|
2537
2573
|
quality: 1,
|
|
2538
|
-
what: 'Links with the same accessible name
|
|
2574
|
+
what: 'Links with the same accessible name serve dissimilar purposes?'
|
|
2539
2575
|
}
|
|
2540
2576
|
}
|
|
2541
2577
|
}
|
|
@@ -2594,7 +2630,7 @@ exports.issues = {
|
|
|
2594
2630
|
'AAA.1_1_1.H2.EG4': {
|
|
2595
2631
|
variable: false,
|
|
2596
2632
|
quality: 1,
|
|
2597
|
-
what: 'Adjacent links, one with text and the other with a textless image,
|
|
2633
|
+
what: 'Adjacent links, one with text and the other with a textless image, merit combination?'
|
|
2598
2634
|
}
|
|
2599
2635
|
}
|
|
2600
2636
|
}
|
|
@@ -2655,19 +2691,19 @@ exports.issues = {
|
|
|
2655
2691
|
links_new_window_mark: {
|
|
2656
2692
|
variable: false,
|
|
2657
2693
|
quality: 1,
|
|
2658
|
-
what: 'Indicator that the link opens a new window or tab
|
|
2694
|
+
what: 'Indicator that the link opens a new window or tab is missing?'
|
|
2659
2695
|
}
|
|
2660
2696
|
},
|
|
2661
2697
|
htmlcs: {
|
|
2662
2698
|
'WCAG2AAA.Principle3.Guideline3_2.3_2_5.H83.3': {
|
|
2663
2699
|
variable: false,
|
|
2664
2700
|
quality: 1,
|
|
2665
|
-
what: 'Link
|
|
2701
|
+
what: 'Link opens in a new window without notice?'
|
|
2666
2702
|
},
|
|
2667
2703
|
'AAA.3_2_5.H83.3': {
|
|
2668
2704
|
variable: false,
|
|
2669
2705
|
quality: 1,
|
|
2670
|
-
what: 'Link text
|
|
2706
|
+
what: 'Link text fails to indicate that the link will open in a new window?'
|
|
2671
2707
|
}
|
|
2672
2708
|
},
|
|
2673
2709
|
testaro: {
|
|
@@ -2689,7 +2725,7 @@ exports.issues = {
|
|
|
2689
2725
|
javascript_jumpmenu: {
|
|
2690
2726
|
variable: false,
|
|
2691
2727
|
quality: 1,
|
|
2692
|
-
what: '
|
|
2728
|
+
what: 'Selection change navigates to another page without notice?'
|
|
2693
2729
|
}
|
|
2694
2730
|
}
|
|
2695
2731
|
}
|
|
@@ -3220,6 +3256,13 @@ exports.issues = {
|
|
|
3220
3256
|
quality: 1,
|
|
3221
3257
|
what: 'Paragraph text has an absolute font size'
|
|
3222
3258
|
}
|
|
3259
|
+
},
|
|
3260
|
+
ibm: {
|
|
3261
|
+
style_viewport_resizable: {
|
|
3262
|
+
variable: false,
|
|
3263
|
+
quality: 1,
|
|
3264
|
+
what: 'Font size is specified in viewport units, preventing text resizing'
|
|
3265
|
+
}
|
|
3223
3266
|
}
|
|
3224
3267
|
}
|
|
3225
3268
|
},
|
|
@@ -3392,7 +3435,7 @@ exports.issues = {
|
|
|
3392
3435
|
'QW-ACT-R40': {
|
|
3393
3436
|
variable: false,
|
|
3394
3437
|
quality: 1,
|
|
3395
|
-
what: 'Zoomed text node
|
|
3438
|
+
what: 'Zoomed text node is clipped by a CSS overflow declaration?'
|
|
3396
3439
|
}
|
|
3397
3440
|
}
|
|
3398
3441
|
}
|
|
@@ -3770,6 +3813,16 @@ exports.issues = {
|
|
|
3770
3813
|
quality: 1,
|
|
3771
3814
|
what: 'Tabbable element has a non-widget role'
|
|
3772
3815
|
},
|
|
3816
|
+
widget_tabbable_exists: {
|
|
3817
|
+
variable: false,
|
|
3818
|
+
quality: 1,
|
|
3819
|
+
what: 'Components with a widget role must have at least one tabbable element'
|
|
3820
|
+
},
|
|
3821
|
+
widget_tabbable_single: {
|
|
3822
|
+
variable: false,
|
|
3823
|
+
quality: 1,
|
|
3824
|
+
what: 'Components with a widget role must have no more than one tabbable element'
|
|
3825
|
+
},
|
|
3773
3826
|
Rpt_Aria_ContentinfoWithNoMain_Implicit: {
|
|
3774
3827
|
variable: false,
|
|
3775
3828
|
quality: 1,
|
|
@@ -4148,7 +4201,7 @@ exports.issues = {
|
|
|
4148
4201
|
'^Element .+ is missing one or more of the following attributes: role.*$': {
|
|
4149
4202
|
variable: true,
|
|
4150
4203
|
quality: 1,
|
|
4151
|
-
what: 'Element has no role attribute but
|
|
4204
|
+
what: 'Element has no role attribute but needs one?'
|
|
4152
4205
|
}
|
|
4153
4206
|
}
|
|
4154
4207
|
}
|
|
@@ -4739,62 +4792,62 @@ exports.issues = {
|
|
|
4739
4792
|
'AAA.1_4_3_F24.F24.BGColour': {
|
|
4740
4793
|
variable: false,
|
|
4741
4794
|
quality: 1,
|
|
4742
|
-
what: 'Inline background color
|
|
4795
|
+
what: 'Inline background color lacks a complementary foreground color?'
|
|
4743
4796
|
},
|
|
4744
4797
|
'AAA.1_4_6.G18.BgImage': {
|
|
4745
4798
|
variable: false,
|
|
4746
4799
|
quality: 1,
|
|
4747
|
-
what: 'Contrast between the text and the background image
|
|
4800
|
+
what: 'Contrast between the text and the background image is less than 4.5:1?'
|
|
4748
4801
|
},
|
|
4749
4802
|
'AAA.1_4_3_F24.F24.FGColour': {
|
|
4750
4803
|
variable: false,
|
|
4751
4804
|
quality: 1,
|
|
4752
|
-
what: 'Inline foreground color
|
|
4805
|
+
what: 'Inline foreground color lacks a complementary background color?'
|
|
4753
4806
|
},
|
|
4754
4807
|
'AAA.1_4_3.G18.Abs': {
|
|
4755
4808
|
variable: false,
|
|
4756
4809
|
quality: 1,
|
|
4757
|
-
what: 'Contrast between the absolutely positioned text and its background
|
|
4810
|
+
what: 'Contrast between the absolutely positioned text and its background is inadequate?'
|
|
4758
4811
|
},
|
|
4759
4812
|
'AAA.1_4_6.G18.Abs': {
|
|
4760
4813
|
variable: false,
|
|
4761
4814
|
quality: 1,
|
|
4762
|
-
what: 'Contrast between the absolutely positioned text and its background
|
|
4815
|
+
what: 'Contrast between the absolutely positioned text and its background is less than 4.5:1?'
|
|
4763
4816
|
},
|
|
4764
4817
|
'AAA.1_4_3.G18.Alpha': {
|
|
4765
4818
|
variable: false,
|
|
4766
4819
|
quality: 1,
|
|
4767
|
-
what: 'Contrast between the text and its background
|
|
4820
|
+
what: 'Contrast between the text and its background is less than 4.5:1, given the transparency?'
|
|
4768
4821
|
},
|
|
4769
4822
|
'AAA.1_4_3.G145.Abs': {
|
|
4770
4823
|
variable: false,
|
|
4771
4824
|
quality: 1,
|
|
4772
|
-
what: 'Contrast between the absolutely positioned large text and its background
|
|
4825
|
+
what: 'Contrast between the absolutely positioned large text and its background is less than 3:1?'
|
|
4773
4826
|
},
|
|
4774
4827
|
'AAA.1_4_3.G145.Alpha': {
|
|
4775
4828
|
variable: false,
|
|
4776
4829
|
quality: 1,
|
|
4777
|
-
what: 'Contrast between the text and its background
|
|
4830
|
+
what: 'Contrast between the text and its background is less than 3:1, given the transparency?'
|
|
4778
4831
|
},
|
|
4779
4832
|
'AAA.1_4_3.G145.BgImage': {
|
|
4780
4833
|
variable: false,
|
|
4781
4834
|
quality: 1,
|
|
4782
|
-
what: 'Contrast between the text and its background image
|
|
4835
|
+
what: 'Contrast between the text and its background image is less than 3:1?'
|
|
4783
4836
|
},
|
|
4784
4837
|
'AAA.1_4_3.G18.BgImage': {
|
|
4785
4838
|
variable: false,
|
|
4786
4839
|
quality: 1,
|
|
4787
|
-
what: 'Contrast between the text and its background image
|
|
4840
|
+
what: 'Contrast between the text and its background image is less than 4.5:1?',
|
|
4788
4841
|
},
|
|
4789
4842
|
'AAA.1_4_6.G17.Abs': {
|
|
4790
4843
|
variable: false,
|
|
4791
4844
|
quality: 1,
|
|
4792
|
-
what: 'Contrast between the absolutely positioned text and its background
|
|
4845
|
+
what: 'Contrast between the absolutely positioned text and its background is less than 7:1?'
|
|
4793
4846
|
},
|
|
4794
4847
|
'AAA.1_4_6.G17.BgImage': {
|
|
4795
4848
|
variable: false,
|
|
4796
4849
|
quality: 1,
|
|
4797
|
-
what: 'Contrast between the text and its background image
|
|
4850
|
+
what: 'Contrast between the text and its background image is less than 7:1?'
|
|
4798
4851
|
}
|
|
4799
4852
|
},
|
|
4800
4853
|
qualWeb: {
|
|
@@ -4816,7 +4869,7 @@ exports.issues = {
|
|
|
4816
4869
|
style_color_misuse: {
|
|
4817
4870
|
variable: false,
|
|
4818
4871
|
quality: 1,
|
|
4819
|
-
what: 'Color
|
|
4872
|
+
what: 'Color is the only classifier?'
|
|
4820
4873
|
}
|
|
4821
4874
|
}
|
|
4822
4875
|
}
|
|
@@ -4831,7 +4884,22 @@ exports.issues = {
|
|
|
4831
4884
|
'text-color-convey-information': {
|
|
4832
4885
|
variable: false,
|
|
4833
4886
|
quality: 1,
|
|
4834
|
-
what: 'Text naming a color
|
|
4887
|
+
what: 'Text naming a color requires the ability to distinguish colors?'
|
|
4888
|
+
}
|
|
4889
|
+
}
|
|
4890
|
+
}
|
|
4891
|
+
},
|
|
4892
|
+
sensoryDependenceRisk: {
|
|
4893
|
+
summary: 'instruction requires particular sense?',
|
|
4894
|
+
why: 'Content is impossible to perceive under some conditions',
|
|
4895
|
+
wcag: '1.4.1',
|
|
4896
|
+
weight: 1,
|
|
4897
|
+
tools: {
|
|
4898
|
+
ibm: {
|
|
4899
|
+
text_sensory_misuse: {
|
|
4900
|
+
variable: false,
|
|
4901
|
+
quality: 1,
|
|
4902
|
+
what: 'Instructions should be meaningful without relying solely on shape, size, or location words'
|
|
4835
4903
|
}
|
|
4836
4904
|
}
|
|
4837
4905
|
}
|
|
@@ -5079,6 +5147,21 @@ exports.issues = {
|
|
|
5079
5147
|
}
|
|
5080
5148
|
}
|
|
5081
5149
|
},
|
|
5150
|
+
mouseOnlyRisk: {
|
|
5151
|
+
summary: 'hover functionality requires mouse?',
|
|
5152
|
+
why: 'Hovering-produced functionality is denied to a keyboard-only user',
|
|
5153
|
+
wcag: '1.3.1',
|
|
5154
|
+
weight: 1,
|
|
5155
|
+
tools: {
|
|
5156
|
+
wax: {
|
|
5157
|
+
'Ensure the functionality provided by mousing over this element is available through the keyboard; for instance, using the focus event.': {
|
|
5158
|
+
variable: false,
|
|
5159
|
+
quality: 1,
|
|
5160
|
+
what: 'Element provides functionality via hovering but not keyboard?'
|
|
5161
|
+
}
|
|
5162
|
+
}
|
|
5163
|
+
}
|
|
5164
|
+
},
|
|
5082
5165
|
titleRedundant: {
|
|
5083
5166
|
summary: 'title attribute redundant',
|
|
5084
5167
|
why: 'Helper repeats the explanation of an item',
|
|
@@ -5435,6 +5518,21 @@ exports.issues = {
|
|
|
5435
5518
|
}
|
|
5436
5519
|
}
|
|
5437
5520
|
},
|
|
5521
|
+
headingMisuseRisk: {
|
|
5522
|
+
summary: 'heading used for styling?',
|
|
5523
|
+
why: 'User cannot understand the document structure',
|
|
5524
|
+
wcag: '1.3.1',
|
|
5525
|
+
weight: 2,
|
|
5526
|
+
tools: {
|
|
5527
|
+
ibm: {
|
|
5528
|
+
heading_markup_misuse: {
|
|
5529
|
+
variable: false,
|
|
5530
|
+
quality: 1,
|
|
5531
|
+
what: 'Heading elements must not be used for presentation'
|
|
5532
|
+
}
|
|
5533
|
+
}
|
|
5534
|
+
}
|
|
5535
|
+
},
|
|
5438
5536
|
headingNone: {
|
|
5439
5537
|
summary: 'headings missing',
|
|
5440
5538
|
why: 'User cannot survey parts of the document',
|
|
@@ -5584,6 +5682,21 @@ exports.issues = {
|
|
|
5584
5682
|
}
|
|
5585
5683
|
}
|
|
5586
5684
|
},
|
|
5685
|
+
blockQuoteShort: {
|
|
5686
|
+
summary: 'block quote abnormally short',
|
|
5687
|
+
why: 'Content can be made easier to read',
|
|
5688
|
+
wcag: '1.4.8',
|
|
5689
|
+
weight: 1,
|
|
5690
|
+
tools: {
|
|
5691
|
+
ed11y: {
|
|
5692
|
+
blockQuoteIsShort: {
|
|
5693
|
+
variable: false,
|
|
5694
|
+
quality: 1,
|
|
5695
|
+
what: 'Block quote is shorter than 25 characters'
|
|
5696
|
+
}
|
|
5697
|
+
}
|
|
5698
|
+
}
|
|
5699
|
+
},
|
|
5587
5700
|
justification: {
|
|
5588
5701
|
summary: 'text fully justified',
|
|
5589
5702
|
why: 'Text is difficult to read',
|
|
@@ -5754,21 +5867,28 @@ exports.issues = {
|
|
|
5754
5867
|
'p-as-heading': {
|
|
5755
5868
|
variable: false,
|
|
5756
5869
|
quality: 1,
|
|
5757
|
-
what: 'Styled p element
|
|
5870
|
+
what: 'Styled p element is misused as a heading?'
|
|
5758
5871
|
}
|
|
5759
5872
|
},
|
|
5760
5873
|
ed11y: {
|
|
5761
5874
|
textPossibleHeading: {
|
|
5762
5875
|
variable: false,
|
|
5763
5876
|
quality: 1,
|
|
5764
|
-
what: 'Styled p element
|
|
5877
|
+
what: 'Styled p element is misused as a heading?'
|
|
5765
5878
|
}
|
|
5766
5879
|
},
|
|
5767
5880
|
htmlcs: {
|
|
5768
5881
|
'AAA.1_3_1.H42': {
|
|
5769
5882
|
variable: false,
|
|
5770
5883
|
quality: 1,
|
|
5771
|
-
what: 'Heading coding is not used but the element
|
|
5884
|
+
what: 'Heading coding is not used but the element is intended as a heading?'
|
|
5885
|
+
}
|
|
5886
|
+
},
|
|
5887
|
+
ibm: {
|
|
5888
|
+
text_block_heading: {
|
|
5889
|
+
variable: false,
|
|
5890
|
+
quality: 1,
|
|
5891
|
+
what: 'Heading text should use a heading element or role'
|
|
5772
5892
|
}
|
|
5773
5893
|
},
|
|
5774
5894
|
wave: {
|
|
@@ -5780,7 +5900,22 @@ exports.issues = {
|
|
|
5780
5900
|
}
|
|
5781
5901
|
}
|
|
5782
5902
|
},
|
|
5783
|
-
|
|
5903
|
+
pseudoLinkScriptRisk: {
|
|
5904
|
+
summary: 'script used instead of link',
|
|
5905
|
+
why: 'Link may misbehave',
|
|
5906
|
+
wcag: '1.3.1',
|
|
5907
|
+
weight: 1,
|
|
5908
|
+
tools: {
|
|
5909
|
+
ibm: {
|
|
5910
|
+
script_onclick_misuse: {
|
|
5911
|
+
variable: false,
|
|
5912
|
+
quality: 1,
|
|
5913
|
+
what: 'Script is used to emulate a link'
|
|
5914
|
+
}
|
|
5915
|
+
}
|
|
5916
|
+
}
|
|
5917
|
+
},
|
|
5918
|
+
pseudoLinkUnderlineRisk: {
|
|
5784
5919
|
summary: 'underlining dubious',
|
|
5785
5920
|
why: 'User may be misled into believing some text is a link',
|
|
5786
5921
|
wcag: '1.3.1',
|
|
@@ -5923,21 +6058,21 @@ exports.issues = {
|
|
|
5923
6058
|
textPossibleList: {
|
|
5924
6059
|
variable: false,
|
|
5925
6060
|
quality: 1,
|
|
5926
|
-
what: 'List
|
|
6061
|
+
what: 'List is miscoded as a paragraph sequence?'
|
|
5927
6062
|
}
|
|
5928
6063
|
},
|
|
5929
6064
|
htmlcs: {
|
|
5930
6065
|
'AAA.1_3_1.H48.1': {
|
|
5931
6066
|
variable: false,
|
|
5932
6067
|
quality: 1,
|
|
5933
|
-
what: 'Content
|
|
6068
|
+
what: 'Content simulates an unordered list without a ul?'
|
|
5934
6069
|
}
|
|
5935
6070
|
},
|
|
5936
6071
|
wave: {
|
|
5937
6072
|
list_possible: {
|
|
5938
6073
|
variable: false,
|
|
5939
6074
|
quality: 1,
|
|
5940
|
-
what: 'List
|
|
6075
|
+
what: 'List fails to be coded as such?'
|
|
5941
6076
|
}
|
|
5942
6077
|
}
|
|
5943
6078
|
}
|
|
@@ -5952,7 +6087,7 @@ exports.issues = {
|
|
|
5952
6087
|
'AAA.1_3_1.H48.2': {
|
|
5953
6088
|
variable: false,
|
|
5954
6089
|
quality: 1,
|
|
5955
|
-
what: 'Ordered list
|
|
6090
|
+
what: 'Ordered list fails to be coded as such?'
|
|
5956
6091
|
}
|
|
5957
6092
|
}
|
|
5958
6093
|
}
|
|
@@ -5972,6 +6107,36 @@ exports.issues = {
|
|
|
5972
6107
|
}
|
|
5973
6108
|
}
|
|
5974
6109
|
},
|
|
6110
|
+
pseudoQuoteRisk: {
|
|
6111
|
+
summary: 'quotation miscoded?',
|
|
6112
|
+
why: 'User may be unable to get help identifying a quotation',
|
|
6113
|
+
wcag: '3.2.4',
|
|
6114
|
+
weight: 1,
|
|
6115
|
+
tools: {
|
|
6116
|
+
ibm: {
|
|
6117
|
+
text_quoted_correctly: {
|
|
6118
|
+
variable: false,
|
|
6119
|
+
quality: 1,
|
|
6120
|
+
what: 'Text not marked with a q or blockquote element is a quotation?'
|
|
6121
|
+
}
|
|
6122
|
+
}
|
|
6123
|
+
}
|
|
6124
|
+
},
|
|
6125
|
+
nonQuoteRisk: {
|
|
6126
|
+
summary: 'nonquotation coded as block quote?',
|
|
6127
|
+
why: 'User may misunderstand text as a quotation',
|
|
6128
|
+
wcag: '3.2.4',
|
|
6129
|
+
weight: 1,
|
|
6130
|
+
tools: {
|
|
6131
|
+
ibm: {
|
|
6132
|
+
blockquote_cite_exists: {
|
|
6133
|
+
variable: false,
|
|
6134
|
+
quality: 1,
|
|
6135
|
+
what: 'blockquote element is a nonquotation?'
|
|
6136
|
+
}
|
|
6137
|
+
}
|
|
6138
|
+
}
|
|
6139
|
+
},
|
|
5975
6140
|
selectNoText: {
|
|
5976
6141
|
summary: 'select not named',
|
|
5977
6142
|
why: 'User cannot get help on the topic of a list of options',
|
|
@@ -6043,7 +6208,7 @@ exports.issues = {
|
|
|
6043
6208
|
'AAA.1_3_1.H85.2': {
|
|
6044
6209
|
variable: false,
|
|
6045
6210
|
quality: 1,
|
|
6046
|
-
what: 'Selection list
|
|
6211
|
+
what: 'Selection list contains groups of related options not grouped with optgroup?'
|
|
6047
6212
|
}
|
|
6048
6213
|
}
|
|
6049
6214
|
}
|
|
@@ -6145,14 +6310,14 @@ exports.issues = {
|
|
|
6145
6310
|
'AAA.1_3_1.H71.SameName': {
|
|
6146
6311
|
variable: false,
|
|
6147
6312
|
quality: 1,
|
|
6148
|
-
what: 'Radio buttons or check boxes
|
|
6313
|
+
what: 'Radio buttons or check boxes require a fieldset element?'
|
|
6149
6314
|
}
|
|
6150
6315
|
},
|
|
6151
6316
|
wax: {
|
|
6152
6317
|
'If these radio buttons or check boxes require a further group-level description, they should be contained within a fieldset element.': {
|
|
6153
6318
|
variable: false,
|
|
6154
6319
|
quality: 1,
|
|
6155
|
-
what: 'Radio buttons or check boxes
|
|
6320
|
+
what: 'Radio buttons or check boxes require a fieldset element?'
|
|
6156
6321
|
}
|
|
6157
6322
|
}
|
|
6158
6323
|
}
|
|
@@ -6876,6 +7041,21 @@ exports.issues = {
|
|
|
6876
7041
|
}
|
|
6877
7042
|
}
|
|
6878
7043
|
},
|
|
7044
|
+
inputLabelInvisibleRisk: {
|
|
7045
|
+
summary: 'input label invisible?',
|
|
7046
|
+
why: 'User cannot understand where to enter information',
|
|
7047
|
+
wcag: '2.4.6',
|
|
7048
|
+
weight: 1,
|
|
7049
|
+
tools: {
|
|
7050
|
+
ibm: {
|
|
7051
|
+
input_label_visible: {
|
|
7052
|
+
variable: false,
|
|
7053
|
+
quality: 1,
|
|
7054
|
+
what: 'input element label invisible?'
|
|
7055
|
+
}
|
|
7056
|
+
}
|
|
7057
|
+
}
|
|
7058
|
+
},
|
|
6879
7059
|
titleAsLabel: {
|
|
6880
7060
|
summary: 'control has title instead of label',
|
|
6881
7061
|
why: 'User cannot get help on how to operate a form item',
|
|
@@ -7193,6 +7373,41 @@ exports.issues = {
|
|
|
7193
7373
|
}
|
|
7194
7374
|
}
|
|
7195
7375
|
},
|
|
7376
|
+
focusIndicationRisk: {
|
|
7377
|
+
summary: 'focus indication poor',
|
|
7378
|
+
why: 'Keyboard-only user cannot choose an item to operate',
|
|
7379
|
+
wcag: '2.4.7',
|
|
7380
|
+
weight: 1,
|
|
7381
|
+
tools: {
|
|
7382
|
+
ibm: {
|
|
7383
|
+
element_tabbable_unobscured: {
|
|
7384
|
+
variable: false,
|
|
7385
|
+
quality: 1,
|
|
7386
|
+
what: 'Tabbable element obscured by another element when focused?'
|
|
7387
|
+
},
|
|
7388
|
+
element_tabbable_visible: {
|
|
7389
|
+
variable: false,
|
|
7390
|
+
quality: 1,
|
|
7391
|
+
what: 'Tabbable element invisible when focused?'
|
|
7392
|
+
}
|
|
7393
|
+
},
|
|
7394
|
+
}
|
|
7395
|
+
},
|
|
7396
|
+
boxInvisibleRisk: {
|
|
7397
|
+
summary: 'border or outline invisible?',
|
|
7398
|
+
why: 'User cannot perceive the boundary of an item',
|
|
7399
|
+
wcag: '2.5.8',
|
|
7400
|
+
weight: 1,
|
|
7401
|
+
tools: {
|
|
7402
|
+
ibm: {
|
|
7403
|
+
style_focus_visible: {
|
|
7404
|
+
variable: false,
|
|
7405
|
+
quality: 1,
|
|
7406
|
+
what: 'CSS-specified border or outline invisible?'
|
|
7407
|
+
}
|
|
7408
|
+
}
|
|
7409
|
+
}
|
|
7410
|
+
},
|
|
7196
7411
|
allCaps: {
|
|
7197
7412
|
summary: 'all-capital text',
|
|
7198
7413
|
why: 'Text is difficult to read',
|
|
@@ -8155,6 +8370,21 @@ exports.issues = {
|
|
|
8155
8370
|
}
|
|
8156
8371
|
}
|
|
8157
8372
|
},
|
|
8373
|
+
formSurpriseRisk: {
|
|
8374
|
+
summary: 'form interaction changes content?',
|
|
8375
|
+
why: 'User experiences unexpected document change when using a form',
|
|
8376
|
+
wcag: '3.2.5',
|
|
8377
|
+
weight: 1,
|
|
8378
|
+
tools: {
|
|
8379
|
+
ibm: {
|
|
8380
|
+
form_interaction_review: {
|
|
8381
|
+
variable: false,
|
|
8382
|
+
quality: 1,
|
|
8383
|
+
what: 'User should be informed in advance when interacting with content changes context'
|
|
8384
|
+
}
|
|
8385
|
+
}
|
|
8386
|
+
}
|
|
8387
|
+
},
|
|
8158
8388
|
labelClash: {
|
|
8159
8389
|
summary: 'label types incompatible',
|
|
8160
8390
|
why: 'User cannot get reliable help on the topics of form items',
|
|
@@ -8455,7 +8685,7 @@ exports.issues = {
|
|
|
8455
8685
|
animationM: {
|
|
8456
8686
|
variable: false,
|
|
8457
8687
|
quality: 1,
|
|
8458
|
-
what: 'Animation
|
|
8688
|
+
what: 'Animation fails to provide a pause, stop, or hide mechanism?'
|
|
8459
8689
|
}
|
|
8460
8690
|
},
|
|
8461
8691
|
testaro: {
|
|
@@ -8819,7 +9049,7 @@ exports.issues = {
|
|
|
8819
9049
|
audio_alternativeA: {
|
|
8820
9050
|
variable: false,
|
|
8821
9051
|
quality: 1,
|
|
8822
|
-
what: 'Referenced description or another text alternative
|
|
9052
|
+
what: 'Referenced description or another text alternative is missing?'
|
|
8823
9053
|
}
|
|
8824
9054
|
}
|
|
8825
9055
|
}
|
|
@@ -8892,21 +9122,28 @@ exports.issues = {
|
|
|
8892
9122
|
wcag: '1.2.2',
|
|
8893
9123
|
weight: 1,
|
|
8894
9124
|
tools: {
|
|
9125
|
+
ibm: {
|
|
9126
|
+
caption_track_exists: {
|
|
9127
|
+
variable: false,
|
|
9128
|
+
quality: 1,
|
|
9129
|
+
what: 'video element has no text alternative for any meaningful audio content?'
|
|
9130
|
+
}
|
|
9131
|
+
},
|
|
8895
9132
|
wave: {
|
|
8896
9133
|
html5_video_audio: {
|
|
8897
9134
|
variable: false,
|
|
8898
9135
|
quality: 1,
|
|
8899
|
-
what: 'video or audio element
|
|
9136
|
+
what: 'video or audio element has no or incorrect captions, transcript, or audio description?'
|
|
8900
9137
|
},
|
|
8901
9138
|
audio_video: {
|
|
8902
9139
|
variable: false,
|
|
8903
9140
|
quality: 1,
|
|
8904
|
-
what: 'audio or video file or link
|
|
9141
|
+
what: 'audio or video file or link has no or incorrect captions, transcript, or audio description?'
|
|
8905
9142
|
},
|
|
8906
9143
|
youtube_video: {
|
|
8907
9144
|
variable: false,
|
|
8908
9145
|
quality: 1,
|
|
8909
|
-
what: 'YouTube video
|
|
9146
|
+
what: 'YouTube video has no or incorrect captions?'
|
|
8910
9147
|
}
|
|
8911
9148
|
}
|
|
8912
9149
|
}
|
|
@@ -9002,7 +9239,14 @@ exports.issues = {
|
|
|
9002
9239
|
'AAA.1_4_10.C32,C31,C33,C38,SCR34,G206': {
|
|
9003
9240
|
variable: false,
|
|
9004
9241
|
quality: 1,
|
|
9005
|
-
what: 'Fixed-position element
|
|
9242
|
+
what: 'Fixed-position element forces bidirectional scrolling?'
|
|
9243
|
+
}
|
|
9244
|
+
},
|
|
9245
|
+
wax: {
|
|
9246
|
+
'This element has "position: fixed". This may require scrolling in two dimensions, which is considered a failure of this Success Criterion.': {
|
|
9247
|
+
variable: false,
|
|
9248
|
+
quality: 1,
|
|
9249
|
+
what: 'Fixed-position element requires scrolling in two dimensions?'
|
|
9006
9250
|
}
|
|
9007
9251
|
}
|
|
9008
9252
|
}
|
|
@@ -9093,6 +9337,13 @@ exports.issues = {
|
|
|
9093
9337
|
what: 'First focusable element is not a link to the main content'
|
|
9094
9338
|
}
|
|
9095
9339
|
},
|
|
9340
|
+
ibm: {
|
|
9341
|
+
html_skipnav_exists: {
|
|
9342
|
+
variable: false,
|
|
9343
|
+
quality: 1,
|
|
9344
|
+
what: 'Provide a way to bypass blocks of content repeated on multiple pages'
|
|
9345
|
+
}
|
|
9346
|
+
},
|
|
9096
9347
|
qualWeb: {
|
|
9097
9348
|
'QW-ACT-R72': {
|
|
9098
9349
|
variable: false,
|
|
@@ -9128,6 +9379,13 @@ exports.issues = {
|
|
|
9128
9379
|
quality: 1,
|
|
9129
9380
|
what: 'Submit button not provided'
|
|
9130
9381
|
}
|
|
9382
|
+
},
|
|
9383
|
+
wax: {
|
|
9384
|
+
'This form does not contain a submit button, which creates issues for those who cannot submit the form using the keyboard. Submit buttons are INPUT elements with type attribute "submit" or "image", or BUTTON elements with type "submit" or omitted/invalid.': {
|
|
9385
|
+
variable: false,
|
|
9386
|
+
quality: 1,
|
|
9387
|
+
what: 'Form has no ubmit button'
|
|
9388
|
+
}
|
|
9131
9389
|
}
|
|
9132
9390
|
}
|
|
9133
9391
|
},
|
|
@@ -9171,7 +9429,7 @@ exports.issues = {
|
|
|
9171
9429
|
noscript: {
|
|
9172
9430
|
variable: false,
|
|
9173
9431
|
quality: 1,
|
|
9174
|
-
what: 'noscript element
|
|
9432
|
+
what: 'noscript element fails to contain an accessible equivalent or alternative?'
|
|
9175
9433
|
}
|
|
9176
9434
|
}
|
|
9177
9435
|
}
|
|
@@ -9209,7 +9467,7 @@ exports.issues = {
|
|
|
9209
9467
|
'The inputmode attribute is not supported in all browsers. Please be sure to test, and consider using a polyfill.': {
|
|
9210
9468
|
variable: false,
|
|
9211
9469
|
quality: 1,
|
|
9212
|
-
what: 'inputmode attribute
|
|
9470
|
+
what: 'inputmode attribute is unsupported by some browsers'
|
|
9213
9471
|
}
|
|
9214
9472
|
}
|
|
9215
9473
|
}
|
|
@@ -9331,6 +9589,13 @@ exports.issues = {
|
|
|
9331
9589
|
what: 'font element is obsolete'
|
|
9332
9590
|
}
|
|
9333
9591
|
},
|
|
9592
|
+
ibm: {
|
|
9593
|
+
frame_src_valid: {
|
|
9594
|
+
variable: false,
|
|
9595
|
+
quality: 1,
|
|
9596
|
+
what: 'frame element is obsolete, and a frame with non-HTML content must be made accessible'
|
|
9597
|
+
}
|
|
9598
|
+
},
|
|
9334
9599
|
nuVal: {
|
|
9335
9600
|
'The center element is obsolete. Use CSS instead.': {
|
|
9336
9601
|
variable: false,
|