testilo 19.0.4 → 19.1.0

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/procs/score/tic37.js +330 -32
@@ -1,6 +1,6 @@
1
1
  /*
2
- tic36
3
- Testilo issue classification 36
2
+ tic37
3
+ Testilo issue classification 37
4
4
 
5
5
  Classifies about 760 rules of the tools of Testaro into 256? issues.
6
6
 
@@ -20,6 +20,7 @@
20
20
 
21
21
  exports.issues = {
22
22
  ignorable: {
23
+ summary: 'ignorable',
23
24
  why: 'No known impact',
24
25
  wcag: '',
25
26
  weight: 0,
@@ -78,6 +79,7 @@ exports.issues = {
78
79
  }
79
80
  },
80
81
  duplicateAttribute: {
82
+ summary: 'duplicate attribute',
81
83
  why: 'Browser processes the document improperly',
82
84
  wcag: '4.1.1',
83
85
  weight: 2,
@@ -99,6 +101,7 @@ exports.issues = {
99
101
  }
100
102
  },
101
103
  IDUnique: {
104
+ summary: 'ID not unique',
102
105
  why: 'User may be pointed to the wrong item',
103
106
  wcag: '4.1.1',
104
107
  weight: 4,
@@ -170,6 +173,7 @@ exports.issues = {
170
173
  }
171
174
  },
172
175
  roleNoText: {
176
+ summary: 'no role-required name',
173
177
  why: 'User cannot get help understanding an item',
174
178
  wcag: '4.1.2',
175
179
  weight: 4,
@@ -184,6 +188,7 @@ exports.issues = {
184
188
  }
185
189
  },
186
190
  componentNoText: {
191
+ summary: 'interactive component not named',
187
192
  why: 'User cannot get help understanding a custom item',
188
193
  wcag: '4.1.2',
189
194
  weight: 4,
@@ -203,6 +208,7 @@ exports.issues = {
203
208
  }
204
209
  },
205
210
  regionNoText: {
211
+ summary: 'region not named',
206
212
  why: 'User cannot get help surveying the parts of the document',
207
213
  wcag: '4.1.2',
208
214
  weight: 4,
@@ -229,6 +235,7 @@ exports.issues = {
229
235
  }
230
236
  },
231
237
  headingImageNoText: {
238
+ summary: 'heading image not named',
232
239
  why: 'User cannot get help understanding an image used as a heading',
233
240
  wcag: '1.1.1',
234
241
  weight: 4,
@@ -243,6 +250,7 @@ exports.issues = {
243
250
  }
244
251
  },
245
252
  inputNoText: {
253
+ summary: 'input not named',
246
254
  why: 'User cannot get help on what information to enter in a form item',
247
255
  wcag: '4.1.2',
248
256
  weight: 4,
@@ -314,6 +322,7 @@ exports.issues = {
314
322
  }
315
323
  },
316
324
  inputOnlyPlaceholder: {
325
+ summary: 'input has placeholder instead of name',
317
326
  why: 'User cannot get reliable help on what information to enter in a form item',
318
327
  wcag: '4.1.2',
319
328
  weight: 3,
@@ -328,6 +337,7 @@ exports.issues = {
328
337
  }
329
338
  },
330
339
  imageButtonNoText: {
340
+ summary: 'image button not named',
331
341
  why: 'User cannot get help understanding an image used as a button',
332
342
  wcag: '1.1.1',
333
343
  weight: 4,
@@ -373,6 +383,7 @@ exports.issues = {
373
383
  }
374
384
  },
375
385
  imageInputNoText: {
386
+ summary: 'image input not named',
376
387
  why: 'User cannot get help understanding an image used as a submission button',
377
388
  wcag: '1.1.1',
378
389
  weight: 4,
@@ -413,6 +424,7 @@ exports.issues = {
413
424
  }
414
425
  },
415
426
  figureNoText: {
427
+ summary: 'figure not named',
416
428
  why: 'User cannot get help on the topic of a figure',
417
429
  wcag: '1.1.1',
418
430
  weight: 4,
@@ -432,6 +444,7 @@ exports.issues = {
432
444
  }
433
445
  },
434
446
  imageNoText: {
447
+ summary: 'image not named',
435
448
  why: 'User cannot get help to know what is in an image',
436
449
  wcag: '1.1.1',
437
450
  weight: 4,
@@ -525,6 +538,7 @@ exports.issues = {
525
538
  }
526
539
  },
527
540
  decorativeImageAltBad: {
541
+ summary: 'decorative image has no alt',
528
542
  why: 'Helper alerts a user to an uninformative image instead of ignoring it',
529
543
  wcag: '1.1.1',
530
544
  weight: 4,
@@ -539,6 +553,7 @@ exports.issues = {
539
553
  }
540
554
  },
541
555
  imageTextBad: {
556
+ summary: 'image named with filename',
542
557
  why: 'Helper gives a user the filename of an image instead of describing it',
543
558
  wcag: '1.1.1',
544
559
  weight: 3,
@@ -560,6 +575,7 @@ exports.issues = {
560
575
  }
561
576
  },
562
577
  imageTextRisk: {
578
+ summary: 'image dubiously named',
563
579
  why: 'Helper may describe an image inadequately',
564
580
  wcag: '1.1.1',
565
581
  weight: 1,
@@ -575,10 +591,25 @@ exports.issues = {
575
591
  quality: 1,
576
592
  what: 'Text alternative may fail to give information provided by colors'
577
593
  }
594
+ },
595
+ qualWeb: {
596
+ 'QW-WCAG-T8': {
597
+ variable: false,
598
+ quality: 1,
599
+ what: 'Text alternative is not an alternative'
600
+ }
601
+ },
602
+ wave: {
603
+ alt_suspicious: {
604
+ variable: false,
605
+ quality: 1,
606
+ what: 'Image text alternative is suspicious'
607
+ }
578
608
  }
579
609
  }
580
610
  },
581
611
  colorRisk: {
612
+ summary: 'info may be only color-represented',
582
613
  why: 'User may be unable to get help understanding document information',
583
614
  wcag: '1.4.1',
584
615
  weight: 1,
@@ -593,6 +624,7 @@ exports.issues = {
593
624
  }
594
625
  },
595
626
  imageNoSource: {
627
+ summary: 'image has no src',
596
628
  why: 'Image to be shown cannot be found',
597
629
  wcag: '1.3.1',
598
630
  weight: 4,
@@ -607,6 +639,7 @@ exports.issues = {
607
639
  }
608
640
  },
609
641
  sourceEmpty: {
642
+ summary: 'src empty',
610
643
  why: 'Image, audio, or video to be shown cannot be found',
611
644
  wcag: '1.3.1',
612
645
  weight: 4,
@@ -621,6 +654,7 @@ exports.issues = {
621
654
  }
622
655
  },
623
656
  backgroundBad: {
657
+ summary: 'CSS background invalid',
624
658
  why: 'Background is displayed improperly',
625
659
  wcag: '4.1',
626
660
  weight: 4,
@@ -645,6 +679,7 @@ exports.issues = {
645
679
  }
646
680
  },
647
681
  backgroundImageBad: {
682
+ summary: 'background image invalid',
648
683
  why: 'Background image is displayed improperly',
649
684
  wcag: '4.1',
650
685
  weight: 4,
@@ -664,6 +699,7 @@ exports.issues = {
664
699
  }
665
700
  },
666
701
  imagesSameAlt: {
702
+ summary: 'nearby images have same alt',
667
703
  why: 'User cannot get help differentiating two adjacent images',
668
704
  wcag: '1.1.1',
669
705
  weight: 1,
@@ -678,6 +714,7 @@ exports.issues = {
678
714
  }
679
715
  },
680
716
  imageTextLong: {
717
+ summary: 'image alt long',
681
718
  why: 'Helper gives a user an overly verbose explanation of an image',
682
719
  wcag: '1.1.1',
683
720
  weight: 2,
@@ -699,6 +736,7 @@ exports.issues = {
699
736
  }
700
737
  },
701
738
  titleLong: {
739
+ summary: 'title long',
702
740
  why: 'Hovering makes an overly verbose explanation pop up',
703
741
  wcag: '3.1.5',
704
742
  weight: 2,
@@ -713,6 +751,7 @@ exports.issues = {
713
751
  }
714
752
  },
715
753
  titleNotText: {
754
+ summary: 'title contains ASCII art',
716
755
  why: 'Hovering makes a hard-to-understand explanation pop up',
717
756
  wcag: '3.1.5',
718
757
  weight: 2,
@@ -726,28 +765,8 @@ exports.issues = {
726
765
  }
727
766
  }
728
767
  },
729
- textAlternativeRisk: {
730
- why: 'Helper gives a user a dubious explanation of an image',
731
- wcag: '1',
732
- weight: 1,
733
- tools: {
734
- qualWeb: {
735
- 'QW-WCAG-T8': {
736
- variable: false,
737
- quality: 1,
738
- what: 'Text alternative is not an alternative'
739
- }
740
- },
741
- wave: {
742
- alt_suspicious: {
743
- variable: false,
744
- quality: 1,
745
- what: 'Image text alternative is suspicious'
746
- }
747
- }
748
- }
749
- },
750
768
  decorativeImageRisk: {
769
+ summary: 'image dubiously marked decorative',
751
770
  why: 'Helper ignores an image that is apparently informative',
752
771
  wcag: '1.1.1',
753
772
  weight: 1,
@@ -762,6 +781,7 @@ exports.issues = {
762
781
  }
763
782
  },
764
783
  backgroundImageRisk: {
784
+ summary: 'background image possibly informative',
765
785
  why: 'Helper ignores an image that may be informative',
766
786
  wcag: '1.1.1',
767
787
  weight: 1,
@@ -776,6 +796,7 @@ exports.issues = {
776
796
  }
777
797
  },
778
798
  decorativeElementExposed: {
799
+ summary: 'decorative element exposed',
779
800
  why: 'Helper alerts a user to an uninformative image',
780
801
  wcag: '1.3.1',
781
802
  weight: 2,
@@ -809,6 +830,7 @@ exports.issues = {
809
830
  }
810
831
  },
811
832
  pageLanguage: {
833
+ summary: 'page language missing',
812
834
  why: 'Speaking helper may mispronounce the document text',
813
835
  wcag: '3.1.1',
814
836
  weight: 4,
@@ -887,6 +909,7 @@ exports.issues = {
887
909
  }
888
910
  },
889
911
  pageLanguageBad: {
912
+ summary: 'page language invalid',
890
913
  why: 'Speaking helper may mispronounce the document text',
891
914
  wcag: '3.1.1',
892
915
  weight: 4,
@@ -941,6 +964,7 @@ exports.issues = {
941
964
  }
942
965
  },
943
966
  elementLanguageBad: {
967
+ summary: 'element language invalid',
944
968
  why: 'Speaking helper may mispronounce the text of an item',
945
969
  wcag: '3.1.2',
946
970
  weight: 4,
@@ -969,6 +993,7 @@ exports.issues = {
969
993
  }
970
994
  },
971
995
  languageChange: {
996
+ summary: 'language change invalid',
972
997
  why: 'Speaking helper may mispronounce the text of an item',
973
998
  wcag: '3.1.2',
974
999
  weight: 3,
@@ -997,6 +1022,7 @@ exports.issues = {
997
1022
  }
998
1023
  },
999
1024
  dialogNoText: {
1025
+ summary: 'dialog not named',
1000
1026
  why: 'User cannot get help explaining a pop-up window',
1001
1027
  wcag: '4.1.2',
1002
1028
  weight: 4,
@@ -1018,6 +1044,7 @@ exports.issues = {
1018
1044
  }
1019
1045
  },
1020
1046
  applicationNoText: {
1047
+ summary: 'application not named',
1021
1048
  why: 'User cannot get help on how to use a custom item',
1022
1049
  wcag: '4.1.2',
1023
1050
  weight: 4,
@@ -1032,6 +1059,7 @@ exports.issues = {
1032
1059
  }
1033
1060
  },
1034
1061
  objectNoText: {
1062
+ summary: 'object not named',
1035
1063
  why: 'User cannot get help explaining a custom item',
1036
1064
  wcag: '1.1.1',
1037
1065
  weight: 4,
@@ -1081,6 +1109,7 @@ exports.issues = {
1081
1109
  }
1082
1110
  },
1083
1111
  objectTextRisk: {
1112
+ summary: 'object dubiously named',
1084
1113
  why: 'Helper may explain a custom item inadequately',
1085
1114
  wcag: '1.1.1',
1086
1115
  weight: 1,
@@ -1095,6 +1124,7 @@ exports.issues = {
1095
1124
  }
1096
1125
  },
1097
1126
  objectAudioRisk: {
1127
+ summary: 'non-audio element possibly plays audio',
1098
1128
  why: 'User may get inadequate help consuming audio content',
1099
1129
  wcag: '1.1.1',
1100
1130
  weight: 1,
@@ -1109,6 +1139,7 @@ exports.issues = {
1109
1139
  }
1110
1140
  },
1111
1141
  appletNoText: {
1142
+ summary: 'applet not named',
1112
1143
  why: 'User cannot get help on how to use a custom item',
1113
1144
  wcag: '1.1.1',
1114
1145
  weight: 4,
@@ -1135,6 +1166,7 @@ exports.issues = {
1135
1166
  }
1136
1167
  },
1137
1168
  imageMapNoText: {
1169
+ summary: 'image map not named',
1138
1170
  why: 'User cannot get help on the topic of an interactive image',
1139
1171
  wcag: '1.1.1',
1140
1172
  weight: 4,
@@ -1149,6 +1181,7 @@ exports.issues = {
1149
1181
  }
1150
1182
  },
1151
1183
  imageMapAreaNoText: {
1184
+ summary: 'image map area not named',
1152
1185
  why: 'User cannot get help on how to use an interactive image',
1153
1186
  wcag: '1.1.1',
1154
1187
  weight: 4,
@@ -1203,6 +1236,7 @@ exports.issues = {
1203
1236
  }
1204
1237
  },
1205
1238
  customKeyboardRisk: {
1239
+ summary: 'custom button possibly keyboard-inoperable',
1206
1240
  why: 'Custom item may prevent a keyboard-only user from operating it',
1207
1241
  wcag: '2.1.1',
1208
1242
  weight: 1,
@@ -1217,6 +1251,7 @@ exports.issues = {
1217
1251
  }
1218
1252
  },
1219
1253
  objectBlurKeyboardRisk: {
1254
+ summary: 'object possibly not keyboard-blurrable',
1220
1255
  why: 'Custom item may trap a keyboard-only user',
1221
1256
  wcag: '2.1.1',
1222
1257
  weight: 1,
@@ -1231,6 +1266,7 @@ exports.issues = {
1231
1266
  }
1232
1267
  },
1233
1268
  eventKeyboardRisk: {
1269
+ summary: 'event possibly not keyboard-triggerable',
1234
1270
  why: 'Keyboard-only user may be unable to perform an action',
1235
1271
  wcag: '2.1.1',
1236
1272
  weight: 1,
@@ -1279,6 +1315,7 @@ exports.issues = {
1279
1315
  }
1280
1316
  },
1281
1317
  internalLinkBroken: {
1318
+ summary: 'internal link broken',
1282
1319
  why: 'User cannot reach a promised document location',
1283
1320
  wcag: '1.3.1',
1284
1321
  weight: 4,
@@ -1307,6 +1344,7 @@ exports.issues = {
1307
1344
  }
1308
1345
  },
1309
1346
  labelForBad: {
1347
+ summary: 'label referent ineligible',
1310
1348
  why: 'User cannot get help understanding an item in a form',
1311
1349
  wcag: '1.3.1',
1312
1350
  weight: 3,
@@ -1342,6 +1380,7 @@ exports.issues = {
1342
1380
  }
1343
1381
  },
1344
1382
  ariaLabelWrongRisk: {
1383
+ summary: 'dubious aria-label',
1345
1384
  why: 'User may fail to get help understanding an item in a form',
1346
1385
  wcag: '1.3.1',
1347
1386
  weight: 1,
@@ -1356,6 +1395,7 @@ exports.issues = {
1356
1395
  }
1357
1396
  },
1358
1397
  activeDescendantBadID: {
1398
+ summary: 'aria-activedescendant invalid',
1359
1399
  why: 'Keyboard-only user cannot reach an item in a menu',
1360
1400
  wcag: '1.3.1',
1361
1401
  weight: 4,
@@ -1370,6 +1410,7 @@ exports.issues = {
1370
1410
  }
1371
1411
  },
1372
1412
  governedBadID: {
1413
+ summary: 'aria-controls or -owns invalid',
1373
1414
  why: 'Keyboard-only user cannot reach an item',
1374
1415
  wcag: '1.3.1',
1375
1416
  weight: 4,
@@ -1396,6 +1437,7 @@ exports.issues = {
1396
1437
  }
1397
1438
  },
1398
1439
  descriptionBadID: {
1440
+ summary: 'aria-describedby invalid',
1399
1441
  why: 'User cannot get help understanding an item in detail',
1400
1442
  wcag: '1.3.1',
1401
1443
  weight: 4,
@@ -1424,6 +1466,7 @@ exports.issues = {
1424
1466
  }
1425
1467
  },
1426
1468
  labelConfusionRisk: {
1469
+ summary: 'label location dubious',
1427
1470
  why: 'User may fail to notice the explanation of an item in a form',
1428
1471
  wcag: '3.3.2',
1429
1472
  weight: 1,
@@ -1467,6 +1510,7 @@ exports.issues = {
1467
1510
  }
1468
1511
  },
1469
1512
  labelBadID: {
1513
+ summary: 'label reference invalid',
1470
1514
  why: 'User cannot get help understanding an item in a form',
1471
1515
  wcag: '1.3.1',
1472
1516
  weight: 4,
@@ -1534,6 +1578,7 @@ exports.issues = {
1534
1578
  }
1535
1579
  },
1536
1580
  haspopupBad: {
1581
+ summary: 'aria-haspopup invalid',
1537
1582
  why: 'Keyboard-only user cannot operate a custom tool',
1538
1583
  wcag: '1.3.1',
1539
1584
  weight: 4,
@@ -1548,6 +1593,7 @@ exports.issues = {
1548
1593
  }
1549
1594
  },
1550
1595
  applicationRisk: {
1596
+ summary: 'dubious application role',
1551
1597
  why: 'User actions may have unexpected effects',
1552
1598
  wcag: '1.3.1',
1553
1599
  weight: 1,
@@ -1562,6 +1608,7 @@ exports.issues = {
1562
1608
  }
1563
1609
  },
1564
1610
  directionRisk: {
1611
+ summary: 'dubious direction',
1565
1612
  why: 'Item may behave incorrectly',
1566
1613
  wcag: '1.3.2',
1567
1614
  weight: 1,
@@ -1576,6 +1623,7 @@ exports.issues = {
1576
1623
  }
1577
1624
  },
1578
1625
  clickOnly: {
1626
+ summary: 'name dubiously mouse-specific',
1579
1627
  why: 'User may misunderstand how to activate a link',
1580
1628
  wcag: '2.4.4',
1581
1629
  weight: 1,
@@ -1590,6 +1638,7 @@ exports.issues = {
1590
1638
  }
1591
1639
  },
1592
1640
  linkNoText: {
1641
+ summary: 'link not named',
1593
1642
  why: 'User cannot get help understanding what a link points to',
1594
1643
  wcag: '2.4.4',
1595
1644
  weight: 4,
@@ -1644,7 +1693,7 @@ exports.issues = {
1644
1693
  'AAA.4_1_2.H91.A.NoContent': {
1645
1694
  variable: false,
1646
1695
  quality: 1,
1647
- what: 'Link has an href attribute but no text'
1696
+ what: 'Link has an href attribute but not named'
1648
1697
  }
1649
1698
  },
1650
1699
  ibm: {
@@ -1675,7 +1724,7 @@ exports.issues = {
1675
1724
  link_empty: {
1676
1725
  variable: false,
1677
1726
  quality: 1,
1678
- what: 'Link contains no text'
1727
+ what: 'Link contains not named'
1679
1728
  },
1680
1729
  alt_link_missing: {
1681
1730
  variable: false,
@@ -1686,6 +1735,7 @@ exports.issues = {
1686
1735
  }
1687
1736
  },
1688
1737
  linkBrokenRisk: {
1738
+ summary: 'link incomplete',
1689
1739
  why: 'User may fail to reach a promised location',
1690
1740
  wcag: '1.3.1',
1691
1741
  weight: 2,
@@ -1700,6 +1750,7 @@ exports.issues = {
1700
1750
  }
1701
1751
  },
1702
1752
  linkElNoHref: {
1753
+ summary: 'link element href missing',
1703
1754
  why: 'User cannot reach a promised location',
1704
1755
  wcag: '4.1',
1705
1756
  weight: 3,
@@ -1721,6 +1772,7 @@ exports.issues = {
1721
1772
  }
1722
1773
  },
1723
1774
  abbreviationNoTitle: {
1775
+ summary: 'abbr title missing',
1724
1776
  why: 'User cannot get help understanding an abbreviation',
1725
1777
  wcag: '3.1.4',
1726
1778
  weight: 4,
@@ -1729,7 +1781,7 @@ exports.issues = {
1729
1781
  title_for_abbr: {
1730
1782
  variable: false,
1731
1783
  quality: 1,
1732
- what: 'Element as an abbr but its defining title attribute is missing or empty'
1784
+ what: 'Element is an abbr but its defining title attribute is missing or empty'
1733
1785
  }
1734
1786
  },
1735
1787
  qualWeb: {
@@ -1742,6 +1794,7 @@ exports.issues = {
1742
1794
  }
1743
1795
  },
1744
1796
  destinationNotURL: {
1797
+ summary: 'link destination not URL',
1745
1798
  why: 'Helper cannot properly explain a link to a user',
1746
1799
  wcag: '1.3.1',
1747
1800
  weight: 1,
@@ -1761,6 +1814,7 @@ exports.issues = {
1761
1814
  }
1762
1815
  },
1763
1816
  destinationLink: {
1817
+ summary: 'link href missing',
1764
1818
  why: 'Helper cannot properly explain a link to a user',
1765
1819
  wcag: '1.3.1',
1766
1820
  weight: 2,
@@ -1796,6 +1850,7 @@ exports.issues = {
1796
1850
  }
1797
1851
  },
1798
1852
  editableHow: {
1853
+ summary: 'contenteditable element incomplete',
1799
1854
  why: 'User cannot get help on how to edit editable content',
1800
1855
  wcag: '1.3.1',
1801
1856
  weight: 3,
@@ -1810,6 +1865,7 @@ exports.issues = {
1810
1865
  }
1811
1866
  },
1812
1867
  textAreaNoText: {
1868
+ summary: 'text area not named',
1813
1869
  why: 'User cannot get help on what information to enter in a form item',
1814
1870
  wcag: '1.3.1',
1815
1871
  weight: 4,
@@ -1824,6 +1880,7 @@ exports.issues = {
1824
1880
  }
1825
1881
  },
1826
1882
  linkAltSame: {
1883
+ summary: 'link image alt duplicative',
1827
1884
  why: 'Helper repeats the explanation of a link',
1828
1885
  wcag: '1.1.1',
1829
1886
  weight: 2,
@@ -1838,6 +1895,7 @@ exports.issues = {
1838
1895
  }
1839
1896
  },
1840
1897
  linkTextsSame: {
1898
+ summary: 'links named identically',
1841
1899
  why: 'User cannot get help differentiating links',
1842
1900
  wcag: '2.4.4',
1843
1901
  weight: 2,
@@ -1871,6 +1929,7 @@ exports.issues = {
1871
1929
  }
1872
1930
  },
1873
1931
  linkConfusionRisk: {
1932
+ summary: 'links dubiously share name',
1874
1933
  why: 'User may be unable to get help differentiating links',
1875
1934
  wcag: '2.4.4',
1876
1935
  weight: 1,
@@ -1885,6 +1944,7 @@ exports.issues = {
1885
1944
  }
1886
1945
  },
1887
1946
  linkExternalRisk: {
1947
+ summary: 'destination language change possibly unstated',
1888
1948
  why: 'User may be confused by the content after following a link',
1889
1949
  wcag: '2.4.4',
1890
1950
  weight: 1,
@@ -1899,6 +1959,7 @@ exports.issues = {
1899
1959
  }
1900
1960
  },
1901
1961
  linksNoNav: {
1962
+ summary: 'links not grouped as nav',
1902
1963
  why: 'User cannot get help identifying links as a navigation tool',
1903
1964
  wcag: '1.3.1',
1904
1965
  weight: 2,
@@ -1913,6 +1974,7 @@ exports.issues = {
1913
1974
  }
1914
1975
  },
1915
1976
  linkPair: {
1977
+ summary: 'text and image link not combined',
1916
1978
  why: 'Keyboard-only user expends extra effort to skip a link',
1917
1979
  wcag: '2.4.4',
1918
1980
  weight: 2,
@@ -1946,6 +2008,7 @@ exports.issues = {
1946
2008
  }
1947
2009
  },
1948
2010
  pageNewWindow: {
2011
+ summary: 'page immediately opens window',
1949
2012
  why: 'User promised a document gets another document, too',
1950
2013
  wcag: '3.2.5',
1951
2014
  weight: 3,
@@ -1959,7 +2022,8 @@ exports.issues = {
1959
2022
  }
1960
2023
  }
1961
2024
  },
1962
- newTab: {
2025
+ newTabSurpriseRisk: {
2026
+ summary: 'tab-opening link action possibly unstated',
1963
2027
  why: 'Following a link opens a new window, possibly surprising a user',
1964
2028
  wcag: '3.2.5',
1965
2029
  weight: 1,
@@ -1993,6 +2057,7 @@ exports.issues = {
1993
2057
  }
1994
2058
  },
1995
2059
  selectNavSurpriseRisk: {
2060
+ summary: 'navigating selection-change action possibly unstated',
1996
2061
  why: 'Changing a selected option opens a new window, possibly surprising a user',
1997
2062
  wcag: '3.2.5',
1998
2063
  weight: 1,
@@ -2007,6 +2072,7 @@ exports.issues = {
2007
2072
  }
2008
2073
  },
2009
2074
  preselectedOption: {
2075
+ summary: 'no default option',
2010
2076
  why: 'User may risk erroneously submitting a form',
2011
2077
  wcag: '4.1.2',
2012
2078
  weight: 1,
@@ -2021,6 +2087,7 @@ exports.issues = {
2021
2087
  }
2022
2088
  },
2023
2089
  buttonAlt: {
2090
+ summary: 'button has alt',
2024
2091
  why: 'User cannot get help explaing a button',
2025
2092
  wcag: '4.1.2',
2026
2093
  weight: 4,
@@ -2035,6 +2102,7 @@ exports.issues = {
2035
2102
  }
2036
2103
  },
2037
2104
  buttonNoText: {
2105
+ summary: 'button not named',
2038
2106
  why: 'User cannot get help explaing a button',
2039
2107
  wcag: '4.1.2',
2040
2108
  weight: 4,
@@ -2126,6 +2194,7 @@ exports.issues = {
2126
2194
  }
2127
2195
  },
2128
2196
  menuItemNoText: {
2197
+ summary: 'menu item not named',
2129
2198
  why: 'User cannot get help explaing a menu item',
2130
2199
  wcag: '4.1.2',
2131
2200
  weight: 4,
@@ -2147,6 +2216,7 @@ exports.issues = {
2147
2216
  }
2148
2217
  },
2149
2218
  parentMissing: {
2219
+ summary: 'parent missing',
2150
2220
  why: 'Keyboard-only user cannot operate a custom tool',
2151
2221
  wcag: '1.3.1',
2152
2222
  weight: 4,
@@ -2189,6 +2259,7 @@ exports.issues = {
2189
2259
  }
2190
2260
  },
2191
2261
  descendantMissing: {
2262
+ summary: 'descendant missing',
2192
2263
  why: 'Keyboard-only user cannot operate a custom tool',
2193
2264
  wcag: '1.3.1',
2194
2265
  weight: 4,
@@ -2217,6 +2288,7 @@ exports.issues = {
2217
2288
  }
2218
2289
  },
2219
2290
  presentationChild: {
2291
+ summary: 'presentation element has child',
2220
2292
  why: 'Keyboard-only user cannot reach an item intended to be reachable',
2221
2293
  wcag: '1.3.1',
2222
2294
  weight: 4,
@@ -2231,6 +2303,7 @@ exports.issues = {
2231
2303
  }
2232
2304
  },
2233
2305
  svgImageNoText: {
2306
+ summary: 'svg image not named',
2234
2307
  why: 'User cannot get help understanding an image',
2235
2308
  wcag: '1.1.1',
2236
2309
  weight: 4,
@@ -2266,6 +2339,7 @@ exports.issues = {
2266
2339
  }
2267
2340
  },
2268
2341
  svgLabelID: {
2342
+ summary: 'svg label referent invalid',
2269
2343
  why: 'User cannot get help understanding an image',
2270
2344
  wcag: '1.1.1',
2271
2345
  weight: 4,
@@ -2280,6 +2354,7 @@ exports.issues = {
2280
2354
  }
2281
2355
  },
2282
2356
  cssBansRotate: {
2357
+ summary: 'CSS bans rotation',
2283
2358
  why: 'User must read sideways after rotating a device',
2284
2359
  wcag: '1.3.4',
2285
2360
  weight: 4,
@@ -2308,6 +2383,7 @@ exports.issues = {
2308
2383
  }
2309
2384
  },
2310
2385
  orientationRisk: {
2386
+ summary: 'orientation issues not testable',
2311
2387
  why: 'User may need to read sideways after rotating a device',
2312
2388
  wcag: '1.3.4',
2313
2389
  weight: 1,
@@ -2322,6 +2398,7 @@ exports.issues = {
2322
2398
  }
2323
2399
  },
2324
2400
  metaBansZoom: {
2401
+ summary: 'meta bans zoom',
2325
2402
  why: 'User cannot adjust the document size for readability',
2326
2403
  wcag: '1.4.4',
2327
2404
  weight: 4,
@@ -2369,6 +2446,7 @@ exports.issues = {
2369
2446
  }
2370
2447
  },
2371
2448
  deviceRisk: {
2449
+ summary: 'motion or orientation dependence possibly faulty',
2372
2450
  why: 'User may be unable to produce required device movement',
2373
2451
  wcag: '2.5.4',
2374
2452
  weight: 1,
@@ -2383,6 +2461,7 @@ exports.issues = {
2383
2461
  }
2384
2462
  },
2385
2463
  fontSizeAbsolute: {
2464
+ summary: 'font size absolute',
2386
2465
  why: 'User cannot adjust the document size for readability',
2387
2466
  wcag: '1.4.4',
2388
2467
  weight: 2,
@@ -2404,6 +2483,7 @@ exports.issues = {
2404
2483
  }
2405
2484
  },
2406
2485
  fontSmall: {
2486
+ summary: 'font small',
2407
2487
  why: 'Text is difficult to read',
2408
2488
  wcag: '1.4',
2409
2489
  weight: 3,
@@ -2439,6 +2519,7 @@ exports.issues = {
2439
2519
  }
2440
2520
  },
2441
2521
  textSpacingFrozen: {
2522
+ summary: 'text spacing frozen',
2442
2523
  why: 'User cannot adjust the text spacing for readability',
2443
2524
  wcag: '1.4.12',
2444
2525
  weight: 4,
@@ -2477,6 +2558,7 @@ exports.issues = {
2477
2558
  }
2478
2559
  },
2479
2560
  leadingAbsolute: {
2561
+ summary: 'line height absolute',
2480
2562
  why: 'User cannot adjust the line height of text for readability',
2481
2563
  wcag: '1.4.12',
2482
2564
  weight: 2,
@@ -2491,6 +2573,7 @@ exports.issues = {
2491
2573
  }
2492
2574
  },
2493
2575
  lineHeightLow: {
2576
+ summary: 'line height low',
2494
2577
  why: 'Text is difficult to read',
2495
2578
  wcag: '1.4.8',
2496
2579
  weight: 2,
@@ -2512,6 +2595,7 @@ exports.issues = {
2512
2595
  }
2513
2596
  },
2514
2597
  overflowHidden: {
2598
+ summary: 'overflow hidden',
2515
2599
  why: 'User cannot enlarge the text for readability',
2516
2600
  wcag: '1.4.4',
2517
2601
  weight: 4,
@@ -2526,6 +2610,7 @@ exports.issues = {
2526
2610
  }
2527
2611
  },
2528
2612
  overflowHiddenRisk: {
2613
+ summary: 'overflow possibly hidden',
2529
2614
  why: 'User may be unable to enlarge the text for readability',
2530
2615
  wcag: '1.4.4',
2531
2616
  weight: 1,
@@ -2540,6 +2625,7 @@ exports.issues = {
2540
2625
  }
2541
2626
  },
2542
2627
  boxSizeAbsolute: {
2628
+ summary: 'box size absolute',
2543
2629
  why: 'User cannot enlarge the content of an item for readability',
2544
2630
  wcag: '1.4.4',
2545
2631
  weight: 3,
@@ -2559,6 +2645,7 @@ exports.issues = {
2559
2645
  }
2560
2646
  },
2561
2647
  titleBad: {
2648
+ summary: 'title attribute invalid',
2562
2649
  why: 'User cannot hover to get help explaining an item',
2563
2650
  wcag: '1.3.1',
2564
2651
  weight: 4,
@@ -2573,6 +2660,7 @@ exports.issues = {
2573
2660
  }
2574
2661
  },
2575
2662
  linkElementBad: {
2663
+ summary: 'link element invalid',
2576
2664
  why: 'Document fails to get a needed external resource',
2577
2665
  wcag: '1.3.1',
2578
2666
  weight: 4,
@@ -2609,6 +2697,7 @@ exports.issues = {
2609
2697
  }
2610
2698
  },
2611
2699
  metaBad: {
2700
+ summary: 'meta invalid',
2612
2701
  why: 'Document fails to include needed data',
2613
2702
  wcag: '1.3.1',
2614
2703
  weight: 3,
@@ -2663,6 +2752,7 @@ exports.issues = {
2663
2752
  }
2664
2753
  },
2665
2754
  scriptElementBad: {
2755
+ summary: 'script element invalid',
2666
2756
  why: 'Browser processes the document improperly',
2667
2757
  wcag: '1.3.1',
2668
2758
  weight: 4,
@@ -2682,6 +2772,7 @@ exports.issues = {
2682
2772
  }
2683
2773
  },
2684
2774
  itemTypeBad: {
2775
+ summary: 'itemtype invalid',
2685
2776
  why: 'User cannot get help on the definition of a term',
2686
2777
  wcag: '1.3.1',
2687
2778
  weight: 4,
@@ -2696,6 +2787,7 @@ exports.issues = {
2696
2787
  }
2697
2788
  },
2698
2789
  iframeTitleBad: {
2790
+ summary: 'iframe not named',
2699
2791
  why: 'User cannot get help on the topic of an embedded document',
2700
2792
  wcag: '4.1.2',
2701
2793
  weight: 4,
@@ -2760,6 +2852,7 @@ exports.issues = {
2760
2852
  }
2761
2853
  },
2762
2854
  roleBad: {
2855
+ summary: 'role invalid',
2763
2856
  why: 'User cannot get help on the nature of an item',
2764
2857
  wcag: '4.1.2',
2765
2858
  weight: 3,
@@ -2884,6 +2977,7 @@ exports.issues = {
2884
2977
  }
2885
2978
  },
2886
2979
  roleRedundant: {
2980
+ summary: 'role redundant',
2887
2981
  why: 'Document includes unnecessary code',
2888
2982
  wcag: '4.1.2',
2889
2983
  weight: 1,
@@ -2927,6 +3021,7 @@ exports.issues = {
2927
3021
  }
2928
3022
  },
2929
3023
  dirBad: {
3024
+ summary: 'dir invalid',
2930
3025
  why: 'Item may behave improperly',
2931
3026
  wcag: '4.1.2',
2932
3027
  weight: 1,
@@ -2948,6 +3043,7 @@ exports.issues = {
2948
3043
  }
2949
3044
  },
2950
3045
  attributeBad: {
3046
+ summary: 'attribute invalid',
2951
3047
  why: 'Item behaves improperly',
2952
3048
  wcag: '1.3.1',
2953
3049
  weight: 4,
@@ -3063,6 +3159,7 @@ exports.issues = {
3063
3159
  }
3064
3160
  },
3065
3161
  attributeMissing: {
3162
+ summary: 'attribute missing',
3066
3163
  why: 'Item behaves improperly',
3067
3164
  wcag: '4.1.2',
3068
3165
  weight: 4,
@@ -3116,6 +3213,7 @@ exports.issues = {
3116
3213
  }
3117
3214
  },
3118
3215
  roleMissing: {
3216
+ summary: 'role missing',
3119
3217
  why: 'Item behaves improperly',
3120
3218
  wcag: '4.1.2',
3121
3219
  weight: 3,
@@ -3130,6 +3228,7 @@ exports.issues = {
3130
3228
  }
3131
3229
  },
3132
3230
  roleMissingRisk: {
3231
+ summary: 'role possibly missing',
3133
3232
  why: 'Item may behave improperly',
3134
3233
  wcag: '4.1.2',
3135
3234
  weight: 1,
@@ -3144,6 +3243,7 @@ exports.issues = {
3144
3243
  }
3145
3244
  },
3146
3245
  ariaMissing: {
3246
+ summary: 'aria attribute missing',
3147
3247
  why: 'Item behaves improperly',
3148
3248
  wcag: '4.1.2',
3149
3249
  weight: 4,
@@ -3172,6 +3272,7 @@ exports.issues = {
3172
3272
  }
3173
3273
  },
3174
3274
  ariaMissingRisk: {
3275
+ summary: 'aria attribute possibly missing',
3175
3276
  why: 'Item may behave improperly',
3176
3277
  wcag: '4.1.2',
3177
3278
  weight: 2,
@@ -3186,6 +3287,7 @@ exports.issues = {
3186
3287
  }
3187
3288
  },
3188
3289
  ariaAttributeBad: {
3290
+ summary: 'aria attribute invalid',
3189
3291
  why: 'Item behavior violates user expectations',
3190
3292
  wcag: '4.1.2',
3191
3293
  weight: 4,
@@ -3318,6 +3420,7 @@ exports.issues = {
3318
3420
  }
3319
3421
  },
3320
3422
  ariaRedundant: {
3423
+ summary: 'aria attribute redundant',
3321
3424
  why: 'Document includes unnecessary code',
3322
3425
  wcag: '4.1.2',
3323
3426
  weight: 1,
@@ -3339,6 +3442,7 @@ exports.issues = {
3339
3442
  }
3340
3443
  },
3341
3444
  ariaReferenceBad: {
3445
+ summary: 'aria reference invalid',
3342
3446
  why: 'Item behavior violates user expectations',
3343
3447
  wcag: '1.3.1',
3344
3448
  weight: 4,
@@ -3365,6 +3469,7 @@ exports.issues = {
3365
3469
  }
3366
3470
  },
3367
3471
  autocompleteBad: {
3472
+ summary: 'autocomplete invalid',
3368
3473
  why: 'User cannot get help entering personal information in a form item',
3369
3474
  wcag: '1.3.5',
3370
3475
  weight: 3,
@@ -3431,6 +3536,7 @@ exports.issues = {
3431
3536
  }
3432
3537
  },
3433
3538
  autocompleteNone: {
3539
+ summary: 'autocomplete missing',
3434
3540
  why: 'User cannot get help entering personal information in a form',
3435
3541
  wcag: '1.3.5',
3436
3542
  weight: 1,
@@ -3445,6 +3551,7 @@ exports.issues = {
3445
3551
  }
3446
3552
  },
3447
3553
  autocompleteRisk: {
3554
+ summary: 'autocomplete dubious',
3448
3555
  why: 'User may fail to get help entering personal information in a form item',
3449
3556
  wcag: '1.3.5',
3450
3557
  weight: 1,
@@ -3459,6 +3566,7 @@ exports.issues = {
3459
3566
  }
3460
3567
  },
3461
3568
  requirementBad: {
3569
+ summary: 'requirement invalid',
3462
3570
  why: 'User may fail to get help determining whether a form item must be completed',
3463
3571
  wcag: '1.3.5',
3464
3572
  weight: 4,
@@ -3473,6 +3581,7 @@ exports.issues = {
3473
3581
  }
3474
3582
  },
3475
3583
  requirementRedundant: {
3584
+ summary: 'requirement redundant',
3476
3585
  why: 'Help determining whether a form item must be completed is exposed to risk of corruption',
3477
3586
  wcag: '1.3.5',
3478
3587
  weight: 1,
@@ -3487,6 +3596,7 @@ exports.issues = {
3487
3596
  }
3488
3597
  },
3489
3598
  textContrastAA: {
3599
+ summary: 'text contrast poor',
3490
3600
  why: 'Text is difficult to read',
3491
3601
  wcag: '1.4.3',
3492
3602
  weight: 4,
@@ -3568,6 +3678,7 @@ exports.issues = {
3568
3678
  }
3569
3679
  },
3570
3680
  colorMissing: {
3681
+ summary: 'color missing',
3571
3682
  why: 'Content is impossible to perceive under some conditions',
3572
3683
  wcag: '1.4.3',
3573
3684
  weight: 4,
@@ -3582,6 +3693,7 @@ exports.issues = {
3582
3693
  }
3583
3694
  },
3584
3695
  colorNamedRisk: {
3696
+ summary: 'color perception possibly required',
3585
3697
  why: 'Content is impossible to perceive under some conditions',
3586
3698
  wcag: '1.4.1',
3587
3699
  weight: 1,
@@ -3596,6 +3708,7 @@ exports.issues = {
3596
3708
  }
3597
3709
  },
3598
3710
  contrastAAA: {
3711
+ summary: 'text contrast improvable',
3599
3712
  why: 'Text is difficult to read',
3600
3713
  wcag: '1.4.6',
3601
3714
  weight: 1,
@@ -3653,6 +3766,7 @@ exports.issues = {
3653
3766
  }
3654
3767
  },
3655
3768
  contrastRisk: {
3769
+ summary: 'text contrast issues not testable',
3656
3770
  why: 'Text may be difficult to read',
3657
3771
  wcag: '1.4.3',
3658
3772
  weight: 1,
@@ -3739,6 +3853,7 @@ exports.issues = {
3739
3853
  }
3740
3854
  },
3741
3855
  idEmpty: {
3856
+ summary: 'ID empty',
3742
3857
  why: 'Item behaves improperly',
3743
3858
  wcag: '1.3.1',
3744
3859
  weight: 4,
@@ -3758,6 +3873,7 @@ exports.issues = {
3758
3873
  }
3759
3874
  },
3760
3875
  targetEmpty: {
3876
+ summary: 'target empty',
3761
3877
  why: 'Item is displayed improperly',
3762
3878
  wcag: '1.3.1',
3763
3879
  weight: 4,
@@ -3772,6 +3888,7 @@ exports.issues = {
3772
3888
  }
3773
3889
  },
3774
3890
  headingEmpty: {
3891
+ summary: 'heading empty',
3775
3892
  why: 'User cannot get help on the topic of a part of the document',
3776
3893
  wcag: '2.4.6',
3777
3894
  weight: 3,
@@ -3840,6 +3957,7 @@ exports.issues = {
3840
3957
  }
3841
3958
  },
3842
3959
  headingOfNothing: {
3960
+ summary: 'heading heads nothing',
3843
3961
  why: 'Helper misdescribes the document',
3844
3962
  wcag: '1.3.1',
3845
3963
  weight: 2,
@@ -3854,6 +3972,7 @@ exports.issues = {
3854
3972
  }
3855
3973
  },
3856
3974
  typeRedundant: {
3975
+ summary: 'type redundant',
3857
3976
  why: 'Document includes unnecessary code',
3858
3977
  wcag: '1.3.1',
3859
3978
  weight: 1,
@@ -3873,6 +3992,7 @@ exports.issues = {
3873
3992
  }
3874
3993
  },
3875
3994
  imageTextRedundant: {
3995
+ summary: 'image name redundant',
3876
3996
  why: 'Helper repeats the explanation of an image',
3877
3997
  wcag: '1.1.1',
3878
3998
  weight: 1,
@@ -3913,6 +4033,7 @@ exports.issues = {
3913
4033
  }
3914
4034
  },
3915
4035
  decorativeTitle: {
4036
+ summary: 'decorative element has title',
3916
4037
  why: 'Hovering-produced information is denied to a keyboard-only user',
3917
4038
  wcag: '1.3.1',
3918
4039
  weight: 1,
@@ -3948,6 +4069,7 @@ exports.issues = {
3948
4069
  }
3949
4070
  },
3950
4071
  titleRedundant: {
4072
+ summary: 'title attribute redundant',
3951
4073
  why: 'Helper repeats the explanation of an item',
3952
4074
  wcag: '1.3.1',
3953
4075
  weight: 1,
@@ -3983,6 +4105,7 @@ exports.issues = {
3983
4105
  }
3984
4106
  },
3985
4107
  titleEmpty: {
4108
+ summary: 'title attribute empty',
3986
4109
  why: 'Hovering does not get the promised explanation of an item',
3987
4110
  wcag: '1.3.1',
3988
4111
  weight: 1,
@@ -4016,6 +4139,7 @@ exports.issues = {
4016
4139
  }
4017
4140
  },
4018
4141
  docType: {
4142
+ summary: 'DOCTYPE missing',
4019
4143
  why: 'Browser processes the document improperly',
4020
4144
  wcag: '1.3.1',
4021
4145
  weight: 4,
@@ -4037,6 +4161,7 @@ exports.issues = {
4037
4161
  }
4038
4162
  },
4039
4163
  pageTitleBad: {
4164
+ summary: 'page title invalid',
4040
4165
  why: 'Browser processes the document improperly',
4041
4166
  wcag: '1.3.1',
4042
4167
  weight: 4,
@@ -4058,6 +4183,7 @@ exports.issues = {
4058
4183
  }
4059
4184
  },
4060
4185
  pageTitle: {
4186
+ summary: 'page title missing',
4061
4187
  why: 'User is not informed of the topic of the document',
4062
4188
  wcag: '2.4.2',
4063
4189
  weight: 10,
@@ -4119,6 +4245,7 @@ exports.issues = {
4119
4245
  }
4120
4246
  },
4121
4247
  headElementsBad: {
4248
+ summary: 'element in head invalid',
4122
4249
  why: 'Browser processes the document improperly',
4123
4250
  wcag: '4.1.1',
4124
4251
  weight: 3,
@@ -4140,6 +4267,7 @@ exports.issues = {
4140
4267
  }
4141
4268
  },
4142
4269
  headingLevelSkip: {
4270
+ summary: 'heading level skipped',
4143
4271
  why: 'Helper misdescribes the document',
4144
4272
  wcag: '1.3.1',
4145
4273
  weight: 2,
@@ -4168,6 +4296,7 @@ exports.issues = {
4168
4296
  }
4169
4297
  },
4170
4298
  headingStructure: {
4299
+ summary: 'heading structure illogical',
4171
4300
  why: 'Helper misdescribes the document',
4172
4301
  wcag: '1.3.1',
4173
4302
  weight: 2,
@@ -4189,6 +4318,7 @@ exports.issues = {
4189
4318
  }
4190
4319
  },
4191
4320
  headingConfusion: {
4321
+ summary: 'heading names repeated',
4192
4322
  why: 'User cannot differentiate parts of the document',
4193
4323
  wcag: '1.3.1',
4194
4324
  weight: 2,
@@ -4210,6 +4340,7 @@ exports.issues = {
4210
4340
  }
4211
4341
  },
4212
4342
  headingNone: {
4343
+ summary: 'headings missing',
4213
4344
  why: 'User cannot survey parts of the document',
4214
4345
  wcag: '1.3.1',
4215
4346
  weight: 3,
@@ -4245,6 +4376,7 @@ exports.issues = {
4245
4376
  }
4246
4377
  },
4247
4378
  h1Multiple: {
4379
+ summary: 'multiple h1 headings',
4248
4380
  why: 'User cannot understand the topic of the document',
4249
4381
  wcag: '1.3.1',
4250
4382
  weight: 2,
@@ -4259,6 +4391,7 @@ exports.issues = {
4259
4391
  }
4260
4392
  },
4261
4393
  h1Missing: {
4394
+ summary: 'h1 missing',
4262
4395
  why: 'User cannot understand the topic of the document',
4263
4396
  wcag: '1.3.1',
4264
4397
  weight: 3,
@@ -4287,6 +4420,7 @@ exports.issues = {
4287
4420
  }
4288
4421
  },
4289
4422
  h1Not1st: {
4423
+ summary: 'h1 not 1st heading',
4290
4424
  why: 'User cannot understand the topic of the document',
4291
4425
  wcag: '1.3.1',
4292
4426
  weight: 3,
@@ -4301,6 +4435,7 @@ exports.issues = {
4301
4435
  }
4302
4436
  },
4303
4437
  articleHeadingless: {
4438
+ summary: 'article heading missing',
4304
4439
  why: 'User cannot understand the topic of a part of the document',
4305
4440
  wcag: '1.3.1',
4306
4441
  weight: 1,
@@ -4315,6 +4450,7 @@ exports.issues = {
4315
4450
  }
4316
4451
  },
4317
4452
  sectionHeadingless: {
4453
+ summary: 'section heading missing',
4318
4454
  why: 'User cannot understand the topic of a part of the document',
4319
4455
  wcag: '1.3.1',
4320
4456
  weight: 1,
@@ -4341,6 +4477,7 @@ exports.issues = {
4341
4477
  }
4342
4478
  },
4343
4479
  justification: {
4480
+ summary: 'text fully justified',
4344
4481
  why: 'Text is difficult to read',
4345
4482
  wcag: '1.4.8',
4346
4483
  weight: 2,
@@ -4369,6 +4506,7 @@ exports.issues = {
4369
4506
  }
4370
4507
  },
4371
4508
  justificationRisk: {
4509
+ summary: 'justification possibly undefined',
4372
4510
  why: 'Text may be difficult to read',
4373
4511
  wcag: '1.4.8',
4374
4512
  weight: 1,
@@ -4383,6 +4521,7 @@ exports.issues = {
4383
4521
  }
4384
4522
  },
4385
4523
  nonSemanticText: {
4524
+ summary: 'semantic properties represented with styles',
4386
4525
  why: 'User cannot get help to fully understand the text',
4387
4526
  wcag: '1.3.1',
4388
4527
  weight: 2,
@@ -4432,6 +4571,7 @@ exports.issues = {
4432
4571
  }
4433
4572
  },
4434
4573
  hrConfusionRisk: {
4574
+ summary: 'hr misused',
4435
4575
  why: 'User cannot get help on the nature of segments of the document',
4436
4576
  wcag: '1.3.1',
4437
4577
  weight: 1,
@@ -4453,6 +4593,7 @@ exports.issues = {
4453
4593
  }
4454
4594
  },
4455
4595
  pseudoCodeRisk: {
4596
+ summary: 'pre use dubious',
4456
4597
  why: 'User may be unable to get help to fully understand the text',
4457
4598
  wcag: '1.3.1',
4458
4599
  weight: 1,
@@ -4467,6 +4608,7 @@ exports.issues = {
4467
4608
  }
4468
4609
  },
4469
4610
  pseudoParagraphRisk: {
4611
+ summary: 'double br use dubious',
4470
4612
  why: 'User may be unable to get help to fully understand the text',
4471
4613
  wcag: '1.3.1',
4472
4614
  weight: 1,
@@ -4481,6 +4623,7 @@ exports.issues = {
4481
4623
  }
4482
4624
  },
4483
4625
  pseudoHeadingRisk: {
4626
+ summary: 'heading-like styles dubious',
4484
4627
  why: 'User may be unable to understand the topic of a part of the document',
4485
4628
  wcag: '1.3.1',
4486
4629
  weight: 1,
@@ -4509,6 +4652,7 @@ exports.issues = {
4509
4652
  }
4510
4653
  },
4511
4654
  pseudoLinkRisk: {
4655
+ summary: 'underlining dubious',
4512
4656
  why: 'User may be misled into believing some text is a link',
4513
4657
  wcag: '1.3.1',
4514
4658
  weight: 1,
@@ -4523,6 +4667,7 @@ exports.issues = {
4523
4667
  }
4524
4668
  },
4525
4669
  listChild: {
4670
+ summary: 'list child invalid',
4526
4671
  why: 'User cannot get help on which items are in a list',
4527
4672
  wcag: '1.3.1',
4528
4673
  weight: 4,
@@ -4563,6 +4708,7 @@ exports.issues = {
4563
4708
  }
4564
4709
  },
4565
4710
  listItemOrphan: {
4711
+ summary: 'list item orphan',
4566
4712
  why: 'User cannot get help on whether an item is in a list',
4567
4713
  wcag: '1.3.1',
4568
4714
  weight: 4,
@@ -4577,6 +4723,7 @@ exports.issues = {
4577
4723
  }
4578
4724
  },
4579
4725
  pseudoList: {
4726
+ summary: 'list-like br use dubious',
4580
4727
  why: 'User cannot get help recognizing a list of items',
4581
4728
  wcag: '1.3.1',
4582
4729
  weight: 1,
@@ -4591,6 +4738,7 @@ exports.issues = {
4591
4738
  }
4592
4739
  },
4593
4740
  pseudoListRisk: {
4741
+ summary: 'list-item use dubious',
4594
4742
  why: 'User may be unable to get help on which items are in lists',
4595
4743
  wcag: '1.3.1',
4596
4744
  weight: 1,
@@ -4601,7 +4749,15 @@ exports.issues = {
4601
4749
  quality: 1,
4602
4750
  what: 'List item is used nonsemantically'
4603
4751
  }
4604
- },
4752
+ }
4753
+ }
4754
+ },
4755
+ pseudoListRisk: {
4756
+ summary: 'list possibly not marked as such',
4757
+ why: 'User may be unable to get help on which items are in lists',
4758
+ wcag: '1.3.1',
4759
+ weight: 1,
4760
+ tools: {
4605
4761
  wave: {
4606
4762
  list_possible: {
4607
4763
  variable: false,
@@ -4612,6 +4768,7 @@ exports.issues = {
4612
4768
  }
4613
4769
  },
4614
4770
  pseudoOrderedListRisk: {
4771
+ summary: 'list unordered type dubious',
4615
4772
  why: 'User may be unable to get help on whether a list is ordered',
4616
4773
  wcag: '1.3.1',
4617
4774
  weight: 1,
@@ -4626,6 +4783,7 @@ exports.issues = {
4626
4783
  }
4627
4784
  },
4628
4785
  pseudoNavList: {
4786
+ summary: 'nav links not list',
4629
4787
  why: 'User cannot get help recognizing a list of navigation links',
4630
4788
  wcag: '1.3.1',
4631
4789
  weight: 2,
@@ -4647,6 +4805,7 @@ exports.issues = {
4647
4805
  }
4648
4806
  },
4649
4807
  selectNoText: {
4808
+ summary: 'select not named',
4650
4809
  why: 'User cannot get help on the topic of a list of options',
4651
4810
  wcag: '4.1.2',
4652
4811
  weight: 3,
@@ -4680,6 +4839,7 @@ exports.issues = {
4680
4839
  }
4681
4840
  },
4682
4841
  optionNoText: {
4842
+ summary: 'option not named',
4683
4843
  why: 'User cannot get help to understand an option',
4684
4844
  wcag: '4.1.2',
4685
4845
  weight: 4,
@@ -4694,6 +4854,7 @@ exports.issues = {
4694
4854
  }
4695
4855
  },
4696
4856
  selectFlatRisk: {
4857
+ summary: 'option groups possibly not marked',
4697
4858
  why: 'User may be unable to get help recognizing groups of options',
4698
4859
  wcag: '1.3.1',
4699
4860
  weight: 1,
@@ -4708,6 +4869,7 @@ exports.issues = {
4708
4869
  }
4709
4870
  },
4710
4871
  noOptionFocusable: {
4872
+ summary: 'no option focusable',
4711
4873
  why: 'Keyboard-only user cannot choose an option',
4712
4874
  wcag: '2.1.1',
4713
4875
  weight: 1,
@@ -4722,6 +4884,7 @@ exports.issues = {
4722
4884
  }
4723
4885
  },
4724
4886
  accessKeyDuplicate: {
4887
+ summary: 'duplicate access key',
4725
4888
  why: 'Keyboard shortcut does not reliably trigger the intended action',
4726
4889
  wcag: '1.3.1',
4727
4890
  weight: 3,
@@ -4750,6 +4913,7 @@ exports.issues = {
4750
4913
  }
4751
4914
  },
4752
4915
  fieldSetMissing: {
4916
+ summary: 'fieldset missing',
4753
4917
  why: 'User cannot get help recognizing a group of related form items',
4754
4918
  wcag: '1.3.1',
4755
4919
  weight: 2,
@@ -4783,6 +4947,7 @@ exports.issues = {
4783
4947
  }
4784
4948
  },
4785
4949
  fieldSetRisk: {
4950
+ summary: 'fieldset possibly missing',
4786
4951
  why: 'User may be unable to get help recognizing a group of related form items',
4787
4952
  wcag: '1.3.1',
4788
4953
  weight: 1,
@@ -4804,6 +4969,7 @@ exports.issues = {
4804
4969
  }
4805
4970
  },
4806
4971
  legendMisplaced: {
4972
+ summary: 'legend location invalid',
4807
4973
  why: 'User cannot get help on the topic of a group of form items',
4808
4974
  wcag: '4.1.2',
4809
4975
  weight: 4,
@@ -4818,6 +4984,7 @@ exports.issues = {
4818
4984
  }
4819
4985
  },
4820
4986
  legendMissing: {
4987
+ summary: 'legend missing',
4821
4988
  why: 'User cannot get help on the topic of a group of form items',
4822
4989
  wcag: '4.1.2',
4823
4990
  weight: 2,
@@ -4870,6 +5037,7 @@ exports.issues = {
4870
5037
  }
4871
5038
  },
4872
5039
  groupName: {
5040
+ summary: 'group not named',
4873
5041
  why: 'User cannot get help on the topic of a group of form items',
4874
5042
  wcag: '4.1.2',
4875
5043
  weight: 3,
@@ -4903,6 +5071,7 @@ exports.issues = {
4903
5071
  }
4904
5072
  },
4905
5073
  layoutTable: {
5074
+ summary: 'table misused',
4906
5075
  why: 'Helper misinforms a user about whether items are cells of a table',
4907
5076
  wcag: '1.3.1',
4908
5077
  weight: 2,
@@ -4936,6 +5105,7 @@ exports.issues = {
4936
5105
  }
4937
5106
  },
4938
5107
  tabularTableless: {
5108
+ summary: 'table not marked as such',
4939
5109
  why: 'Helper misinforms a user about whether items are cells of a table',
4940
5110
  wcag: '1.3.1',
4941
5111
  weight: 3,
@@ -4950,6 +5120,7 @@ exports.issues = {
4950
5120
  }
4951
5121
  },
4952
5122
  tableColumnsVary: {
5123
+ summary: 'table column counts vary',
4953
5124
  why: 'User cannot get help on the dimensions of a table',
4954
5125
  wcag: '1.3.1',
4955
5126
  weight: 3,
@@ -4969,6 +5140,7 @@ exports.issues = {
4969
5140
  }
4970
5141
  },
4971
5142
  tableCaption: {
5143
+ summary: 'table caption missing',
4972
5144
  why: 'User cannot get help on the topic of a table',
4973
5145
  wcag: '1.3.1',
4974
5146
  weight: 1,
@@ -5009,6 +5181,7 @@ exports.issues = {
5009
5181
  }
5010
5182
  },
5011
5183
  tableCaptionLoc: {
5184
+ summary: 'table caption location invalid',
5012
5185
  why: 'User cannot get help on the topic of a table',
5013
5186
  wcag: '1.3.1',
5014
5187
  weight: 3,
@@ -5023,6 +5196,7 @@ exports.issues = {
5023
5196
  }
5024
5197
  },
5025
5198
  tableCapSum: {
5199
+ summary: 'table summary duplicative',
5026
5200
  why: 'Helper informs a user repetitively about the topic of a table',
5027
5201
  wcag: '1.3.1',
5028
5202
  weight: 2,
@@ -5037,6 +5211,7 @@ exports.issues = {
5037
5211
  }
5038
5212
  },
5039
5213
  tableSum: {
5214
+ summary: 'table summary empty',
5040
5215
  why: 'User cannot get help summarizing a table',
5041
5216
  wcag: '1.3.1',
5042
5217
  weight: 4,
@@ -5050,7 +5225,8 @@ exports.issues = {
5050
5225
  }
5051
5226
  }
5052
5227
  },
5053
- tablelabelID: {
5228
+ tableLabelID: {
5229
+ summary: 'table aria-labelledby invalid',
5054
5230
  why: 'User cannot get help on the topic of a table',
5055
5231
  wcag: '1.3.1',
5056
5232
  weight: 4,
@@ -5070,6 +5246,7 @@ exports.issues = {
5070
5246
  }
5071
5247
  },
5072
5248
  tableDescriptionID: {
5249
+ summary: 'table aria-describedby invalid',
5073
5250
  why: 'User cannot get help on the topic of a table',
5074
5251
  wcag: '1.3.1',
5075
5252
  weight: 4,
@@ -5089,6 +5266,7 @@ exports.issues = {
5089
5266
  }
5090
5267
  },
5091
5268
  cellHeadersNotInferrable: {
5269
+ summary: 'cell headers not inferrable',
5092
5270
  why: 'User cannot get help on relationships in a table',
5093
5271
  wcag: '1.3.1',
5094
5272
  weight: 4,
@@ -5110,6 +5288,7 @@ exports.issues = {
5110
5288
  }
5111
5289
  },
5112
5290
  cellHeadersOutsideTable: {
5291
+ summary: 'cell headers outside table',
5113
5292
  why: 'User cannot get help on relationships in a table',
5114
5293
  wcag: '1.3.1',
5115
5294
  weight: 4,
@@ -5124,6 +5303,7 @@ exports.issues = {
5124
5303
  }
5125
5304
  },
5126
5305
  cellHeadersAmbiguityRisk: {
5306
+ summary: 'cell headers possibly ambiguous',
5127
5307
  why: 'User may be unable to get help on relationships in a table',
5128
5308
  wcag: '1.3.1',
5129
5309
  weight: 2,
@@ -5155,6 +5335,7 @@ exports.issues = {
5155
5335
  }
5156
5336
  },
5157
5337
  tableHeaderless: {
5338
+ summary: 'table headers missing',
5158
5339
  why: 'User cannot get help on relationships in a table',
5159
5340
  wcag: '1.3.1',
5160
5341
  weight: 3,
@@ -5176,6 +5357,7 @@ exports.issues = {
5176
5357
  }
5177
5358
  },
5178
5359
  tableCellHeaderless: {
5360
+ summary: 'table-cell header missing',
5179
5361
  why: 'User cannot get help on the topic of a table cell',
5180
5362
  wcag: '1.3.1',
5181
5363
  weight: 3,
@@ -5196,7 +5378,8 @@ exports.issues = {
5196
5378
  }
5197
5379
  }
5198
5380
  },
5199
- tableHeaderCelless: {
5381
+ tableHeaderCellless: {
5382
+ summary: 'table-header cell missing',
5200
5383
  why: 'User cannot get help on relationships in a table',
5201
5384
  wcag: '1.3.1',
5202
5385
  weight: 4,
@@ -5225,6 +5408,7 @@ exports.issues = {
5225
5408
  }
5226
5409
  },
5227
5410
  TableHeaderScopeRisk: {
5411
+ summary: 'Table scope possibly ambiguous',
5228
5412
  why: 'User may be unable to get help on relationships in a table',
5229
5413
  wcag: '1.3.1',
5230
5414
  weight: 1,
@@ -5239,6 +5423,7 @@ exports.issues = {
5239
5423
  }
5240
5424
  },
5241
5425
  tableHeaderEmpty: {
5426
+ summary: 'table header empty',
5242
5427
  why: 'User cannot get help on relationships in a table',
5243
5428
  wcag: '1.3.1',
5244
5429
  weight: 2,
@@ -5247,12 +5432,13 @@ exports.issues = {
5247
5432
  th_empty: {
5248
5433
  variable: false,
5249
5434
  quality: 1,
5250
- what: 'Element contains no text'
5435
+ what: 'Element not named'
5251
5436
  }
5252
5437
  }
5253
5438
  }
5254
5439
  },
5255
5440
  tableHead: {
5441
+ summary: 'thead missing',
5256
5442
  why: 'User cannot get help on parts of a table',
5257
5443
  wcag: '1.3.1',
5258
5444
  weight: 1,
@@ -5267,6 +5453,7 @@ exports.issues = {
5267
5453
  }
5268
5454
  },
5269
5455
  tableBody: {
5456
+ summary: 'tbody missing',
5270
5457
  why: 'User cannot get help on parts of a table',
5271
5458
  wcag: '1.3.1',
5272
5459
  weight: 1,
@@ -5281,6 +5468,7 @@ exports.issues = {
5281
5468
  }
5282
5469
  },
5283
5470
  tableEmbedded: {
5471
+ summary: 'table embedded in table',
5284
5472
  why: 'User cannot get help on relationships in a table',
5285
5473
  wcag: '1.3.1',
5286
5474
  weight: 2,
@@ -5295,6 +5483,7 @@ exports.issues = {
5295
5483
  }
5296
5484
  },
5297
5485
  controlNoText: {
5486
+ summary: 'control not named',
5298
5487
  why: 'User cannot get help on how to operate a form item',
5299
5488
  wcag: '4.1.2',
5300
5489
  weight: 4,
@@ -5349,6 +5538,7 @@ exports.issues = {
5349
5538
  }
5350
5539
  },
5351
5540
  controlLabelInvisible: {
5541
+ summary: 'control label invisible',
5352
5542
  why: 'User cannot understand how to operate a form item',
5353
5543
  wcag: '2.4.6',
5354
5544
  weight: 4,
@@ -5370,6 +5560,7 @@ exports.issues = {
5370
5560
  }
5371
5561
  },
5372
5562
  titleAsLabel: {
5563
+ summary: 'control has title instead of label',
5373
5564
  why: 'User cannot get help on how to operate a form item',
5374
5565
  wcag: '2.4.6',
5375
5566
  weight: 3,
@@ -5383,7 +5574,8 @@ exports.issues = {
5383
5574
  }
5384
5575
  }
5385
5576
  },
5386
- visibleLabelNotName: {
5577
+ visibleLabelNotInName: {
5578
+ summary: 'visible label not in name',
5387
5579
  why: 'User cannot get help choosing a form control to operate',
5388
5580
  wcag: '2.5.3',
5389
5581
  weight: 3,
@@ -5431,6 +5623,7 @@ exports.issues = {
5431
5623
  }
5432
5624
  },
5433
5625
  targetSize: {
5626
+ summary: 'target small',
5434
5627
  why: 'User cannot reliably choose an item to click or tap',
5435
5628
  wcag: '2.5.5',
5436
5629
  weight: 3,
@@ -5445,6 +5638,7 @@ exports.issues = {
5445
5638
  }
5446
5639
  },
5447
5640
  visibleBulk: {
5641
+ summary: 'large visible-element count',
5448
5642
  why: 'User cannot easily find items in the document',
5449
5643
  wcag: '2.4',
5450
5644
  weight: 1,
@@ -5459,6 +5653,7 @@ exports.issues = {
5459
5653
  }
5460
5654
  },
5461
5655
  activeEmbedding: {
5656
+ summary: 'control child of link or button',
5462
5657
  why: 'User cannot reliably choose an item to click or tap',
5463
5658
  wcag: '2.5.5',
5464
5659
  weight: 3,
@@ -5552,6 +5747,7 @@ exports.issues = {
5552
5747
  }
5553
5748
  },
5554
5749
  tabFocusability: {
5750
+ summary: 'element not focusable',
5555
5751
  why: 'Keyboard-only user cannot choose an item to operate',
5556
5752
  wcag: '2.1.1',
5557
5753
  weight: 4,
@@ -5592,6 +5788,7 @@ exports.issues = {
5592
5788
  }
5593
5789
  },
5594
5790
  focusIndication: {
5791
+ summary: 'focus indication poor',
5595
5792
  why: 'Keyboard-only user cannot choose an item to operate',
5596
5793
  wcag: '2.4.7',
5597
5794
  weight: 4,
@@ -5627,6 +5824,7 @@ exports.issues = {
5627
5824
  }
5628
5825
  },
5629
5826
  allCaps: {
5827
+ summary: 'all-capital text',
5630
5828
  why: 'Text is difficult to read',
5631
5829
  wcag: '3.1.5',
5632
5830
  weight: 0,
@@ -5655,6 +5853,7 @@ exports.issues = {
5655
5853
  }
5656
5854
  },
5657
5855
  allItalics: {
5856
+ summary: 'all-italic text',
5658
5857
  why: 'Text is difficult to read',
5659
5858
  wcag: '3.1.5',
5660
5859
  weight: 0,
@@ -5683,6 +5882,7 @@ exports.issues = {
5683
5882
  }
5684
5883
  },
5685
5884
  textDistortion: {
5885
+ summary: 'text distortion',
5686
5886
  why: 'Text is difficult to read',
5687
5887
  wcag: '3.1.5',
5688
5888
  weight: 1,
@@ -5697,6 +5897,7 @@ exports.issues = {
5697
5897
  }
5698
5898
  },
5699
5899
  noLandmarks: {
5900
+ summary: 'no landmarks',
5700
5901
  why: 'User cannot get help on how the document is organized',
5701
5902
  wcag: '1.3.6',
5702
5903
  weight: 2,
@@ -5711,6 +5912,7 @@ exports.issues = {
5711
5912
  }
5712
5913
  },
5713
5914
  contentBeyondLandmarks: {
5915
+ summary: 'content beyond landmarks',
5714
5916
  why: 'User cannot get help on how some of the document is organized',
5715
5917
  wcag: '1.3.6',
5716
5918
  weight: 1,
@@ -5744,6 +5946,7 @@ exports.issues = {
5744
5946
  }
5745
5947
  },
5746
5948
  footerNotTop: {
5949
+ summary: 'footer child of landmark',
5747
5950
  why: 'User cannot get help on how some of the document is organized',
5748
5951
  wcag: '1.3.6',
5749
5952
  weight: 1,
@@ -5758,6 +5961,7 @@ exports.issues = {
5758
5961
  }
5759
5962
  },
5760
5963
  asideNotTop: {
5964
+ summary: 'aside child of landmark',
5761
5965
  why: 'User cannot get help on how some of the document is organized',
5762
5966
  wcag: '1.3.6',
5763
5967
  weight: 2,
@@ -5784,6 +5988,7 @@ exports.issues = {
5784
5988
  }
5785
5989
  },
5786
5990
  mainNotTop: {
5991
+ summary: 'main child of landmark',
5787
5992
  why: 'User cannot get help on how some of the document is organized',
5788
5993
  wcag: '1.3.6',
5789
5994
  weight: 2,
@@ -5812,6 +6017,7 @@ exports.issues = {
5812
6017
  }
5813
6018
  },
5814
6019
  mainConfusion: {
6020
+ summary: 'mains not distinctly named',
5815
6021
  why: 'User cannot get help on how some of the document is organized',
5816
6022
  wcag: '1.3.6',
5817
6023
  weight: 3,
@@ -5841,6 +6047,7 @@ exports.issues = {
5841
6047
  }
5842
6048
  },
5843
6049
  mainNone: {
6050
+ summary: 'main missing',
5844
6051
  why: 'User cannot get help on how some of the document is organized',
5845
6052
  wcag: '1.3.6',
5846
6053
  weight: 2,
@@ -5862,6 +6069,7 @@ exports.issues = {
5862
6069
  }
5863
6070
  },
5864
6071
  mainNot1: {
6072
+ summary: 'multiple mains',
5865
6073
  why: 'User cannot get help on how some of the document is organized',
5866
6074
  wcag: '1.3.6',
5867
6075
  weight: 2,
@@ -5897,6 +6105,7 @@ exports.issues = {
5897
6105
  }
5898
6106
  },
5899
6107
  bannerNot1: {
6108
+ summary: 'multiple banners',
5900
6109
  why: 'User cannot get help on how some of the document is organized',
5901
6110
  wcag: '1.3.6',
5902
6111
  weight: 2,
@@ -5930,6 +6139,7 @@ exports.issues = {
5930
6139
  }
5931
6140
  },
5932
6141
  bannerNotTop: {
6142
+ summary: 'banner child of landmark',
5933
6143
  why: 'User cannot get help on how some of the document is organized',
5934
6144
  wcag: '1.3.6',
5935
6145
  weight: 2,
@@ -5951,6 +6161,7 @@ exports.issues = {
5951
6161
  }
5952
6162
  },
5953
6163
  footerConfusion: {
6164
+ summary: 'contentinfos not distinctly named',
5954
6165
  why: 'User cannot get help on how some of the document is organized',
5955
6166
  wcag: '1.3.6',
5956
6167
  weight: 3,
@@ -5970,6 +6181,7 @@ exports.issues = {
5970
6181
  }
5971
6182
  },
5972
6183
  footerNot1: {
6184
+ summary: 'multiple contentinfos',
5973
6185
  why: 'User cannot get help on how some of the document is organized',
5974
6186
  wcag: '1.3.6',
5975
6187
  weight: 2,
@@ -6010,6 +6222,7 @@ exports.issues = {
6010
6222
  }
6011
6223
  },
6012
6224
  landmarkConfusion: {
6225
+ summary: 'landmarks not distinctly named',
6013
6226
  why: 'User cannot get help on how some of the document is organized',
6014
6227
  wcag: '1.3.6',
6015
6228
  weight: 3,
@@ -6036,6 +6249,7 @@ exports.issues = {
6036
6249
  }
6037
6250
  },
6038
6251
  articleConfusion: {
6252
+ summary: 'articles not distinctly named',
6039
6253
  why: 'User cannot get help on how some of the document is organized',
6040
6254
  wcag: '1.3.6',
6041
6255
  weight: 3,
@@ -6050,6 +6264,7 @@ exports.issues = {
6050
6264
  }
6051
6265
  },
6052
6266
  formConfusion: {
6267
+ summary: 'forms not distinctly named',
6053
6268
  why: 'User cannot get help on how some of the document is organized',
6054
6269
  wcag: '1.3.6',
6055
6270
  weight: 3,
@@ -6069,6 +6284,7 @@ exports.issues = {
6069
6284
  }
6070
6285
  },
6071
6286
  applicationConfusion: {
6287
+ summary: 'applications not distinctly named',
6072
6288
  why: 'User cannot get help on how some of the document is organized',
6073
6289
  wcag: '1.3.6',
6074
6290
  weight: 3,
@@ -6083,6 +6299,7 @@ exports.issues = {
6083
6299
  }
6084
6300
  },
6085
6301
  asideConfusion: {
6302
+ summary: 'asides not distinctly named',
6086
6303
  why: 'User cannot get help on how some of the document is organized',
6087
6304
  wcag: '1.3.6',
6088
6305
  weight: 3,
@@ -6102,6 +6319,7 @@ exports.issues = {
6102
6319
  }
6103
6320
  },
6104
6321
  bannerConfusion: {
6322
+ summary: 'banners not distinctly named',
6105
6323
  why: 'User cannot get help on how some of the document is organized',
6106
6324
  wcag: '1.3.6',
6107
6325
  weight: 3,
@@ -6121,6 +6339,7 @@ exports.issues = {
6121
6339
  }
6122
6340
  },
6123
6341
  navConfusion: {
6342
+ summary: 'navigations not distinctly named',
6124
6343
  why: 'User cannot get help on how some of the document is organized',
6125
6344
  wcag: '1.3.6',
6126
6345
  weight: 3,
@@ -6140,6 +6359,7 @@ exports.issues = {
6140
6359
  }
6141
6360
  },
6142
6361
  landmarkInNav: {
6362
+ summary: 'invalid landmark child of navigation role',
6143
6363
  why: 'User cannot get help on how some of the document is organized',
6144
6364
  wcag: '1.3.6',
6145
6365
  weight: 4,
@@ -6154,6 +6374,7 @@ exports.issues = {
6154
6374
  }
6155
6375
  },
6156
6376
  regionConfusion: {
6377
+ summary: 'regions not distinctly named',
6157
6378
  why: 'User cannot get help on how some of the document is organized',
6158
6379
  wcag: '1.3.6',
6159
6380
  weight: 3,
@@ -6173,6 +6394,7 @@ exports.issues = {
6173
6394
  }
6174
6395
  },
6175
6396
  searchConfusion: {
6397
+ summary: 'searches not distinctly named',
6176
6398
  why: 'User cannot get help on how some of the document is organized',
6177
6399
  wcag: '1.3.6',
6178
6400
  weight: 3,
@@ -6192,6 +6414,7 @@ exports.issues = {
6192
6414
  }
6193
6415
  },
6194
6416
  complementaryNoText: {
6417
+ summary: 'complementary not named',
6195
6418
  why: 'User cannot get help on how some of the document is organized',
6196
6419
  wcag: '1.3.6',
6197
6420
  weight: 1,
@@ -6221,6 +6444,7 @@ exports.issues = {
6221
6444
  }
6222
6445
  },
6223
6446
  labelNoText: {
6447
+ summary: 'label not named',
6224
6448
  why: 'User cannot get help on the topic of a form item',
6225
6449
  wcag: '1.3.1',
6226
6450
  weight: 4,
@@ -6240,6 +6464,7 @@ exports.issues = {
6240
6464
  }
6241
6465
  },
6242
6466
  focusableOperable: {
6467
+ summary: 'focusable element inoperable',
6243
6468
  why: 'Inoperability of an item violates a user expectation',
6244
6469
  wcag: '2.1.1',
6245
6470
  weight: 2,
@@ -6254,6 +6479,7 @@ exports.issues = {
6254
6479
  }
6255
6480
  },
6256
6481
  operableFocusable: {
6482
+ summary: 'operable element not focusable',
6257
6483
  why: 'Keyboard-only user cannot navigate properly to an operable item',
6258
6484
  wcag: '2.1.1',
6259
6485
  weight: 4,
@@ -6268,6 +6494,7 @@ exports.issues = {
6268
6494
  }
6269
6495
  },
6270
6496
  focusableRole: {
6497
+ summary: 'focusable element not active',
6271
6498
  why: 'Keyboard-only user cannot navigate properly to the operable items',
6272
6499
  wcag: '4.1.2',
6273
6500
  weight: 3,
@@ -6289,6 +6516,7 @@ exports.issues = {
6289
6516
  }
6290
6517
  },
6291
6518
  focusableHidden: {
6519
+ summary: 'focusable element hidden',
6292
6520
  why: 'Keyboard-only user cannot navigate properly to the operable items',
6293
6521
  wcag: '4.1.2',
6294
6522
  weight: 4,
@@ -6341,6 +6569,7 @@ exports.issues = {
6341
6569
  }
6342
6570
  },
6343
6571
  focusedAway: {
6572
+ summary: 'element beyond display when focused',
6344
6573
  why: 'Keyboard-only user cannot navigate properly to the operable items',
6345
6574
  wcag: '1.4.10',
6346
6575
  weight: 3,
@@ -6355,6 +6584,7 @@ exports.issues = {
6355
6584
  }
6356
6585
  },
6357
6586
  focusableDescendants: {
6587
+ summary: 'presentational child focusable',
6358
6588
  why: 'Keyboard-only user cannot navigate properly to the operable items',
6359
6589
  wcag: '4.1.2',
6360
6590
  weight: 4,
@@ -6376,6 +6606,7 @@ exports.issues = {
6376
6606
  }
6377
6607
  },
6378
6608
  multipleLabelees: {
6609
+ summary: 'labeled element ambiguous',
6379
6610
  why: 'User cannot get help on the topic of a form item',
6380
6611
  wcag: '1.3.1',
6381
6612
  weight: 4,
@@ -6402,6 +6633,7 @@ exports.issues = {
6402
6633
  }
6403
6634
  },
6404
6635
  labeledHidden: {
6636
+ summary: 'control hidden but labeled',
6405
6637
  why: 'Document includes unnecessary code',
6406
6638
  wcag: '1.3.1',
6407
6639
  weight: 1,
@@ -6421,6 +6653,7 @@ exports.issues = {
6421
6653
  }
6422
6654
  },
6423
6655
  contentHidden: {
6656
+ summary: 'page hidden',
6424
6657
  why: 'User cannot get the document content',
6425
6658
  wcag: '2.4.7',
6426
6659
  weight: 4,
@@ -6435,6 +6668,7 @@ exports.issues = {
6435
6668
  }
6436
6669
  },
6437
6670
  hideFailureRisk: {
6671
+ summary: 'false aria-hidden value risky',
6438
6672
  why: 'User may be misled by erroneously hidden or revealed document content',
6439
6673
  wcag: '2.4.6',
6440
6674
  weight: 0,
@@ -6449,6 +6683,7 @@ exports.issues = {
6449
6683
  }
6450
6684
  },
6451
6685
  hiddenContentRisk: {
6686
+ summary: 'hidden content possibly not testable',
6452
6687
  why: 'Some barriers in the document may be undetected',
6453
6688
  wcag: '4.1',
6454
6689
  weight: 1,
@@ -6463,6 +6698,7 @@ exports.issues = {
6463
6698
  }
6464
6699
  },
6465
6700
  negativeIndent: {
6701
+ summary: 'negative text-indent',
6466
6702
  why: 'Helper may hide content from the user',
6467
6703
  wcag: '4.1',
6468
6704
  weight: 3,
@@ -6477,6 +6713,7 @@ exports.issues = {
6477
6713
  }
6478
6714
  },
6479
6715
  frameContentRisk: {
6716
+ summary: 'iframe content possibly not testable',
6480
6717
  why: 'Some barriers in the document may be undetected',
6481
6718
  wcag: '4.1',
6482
6719
  weight: 1,
@@ -6491,6 +6728,7 @@ exports.issues = {
6491
6728
  }
6492
6729
  },
6493
6730
  frameSandboxRisk: {
6731
+ summary: 'iframe sandbox attributes risky',
6494
6732
  why: 'Document may be unsafe to use',
6495
6733
  wcag: '4.1',
6496
6734
  weight: 2,
@@ -6505,6 +6743,7 @@ exports.issues = {
6505
6743
  }
6506
6744
  },
6507
6745
  hoverIndication: {
6746
+ summary: 'hover indication poor',
6508
6747
  why: 'User cannot explore the document reliably with a mouse',
6509
6748
  wcag: '3.3.2',
6510
6749
  weight: 3,
@@ -6519,6 +6758,7 @@ exports.issues = {
6519
6758
  }
6520
6759
  },
6521
6760
  hoverSurprise: {
6761
+ summary: 'hovering changes content',
6522
6762
  why: 'User cannot explore the document reliably with a mouse',
6523
6763
  wcag: '3.2.5',
6524
6764
  weight: 1,
@@ -6533,6 +6773,7 @@ exports.issues = {
6533
6773
  }
6534
6774
  },
6535
6775
  labelClash: {
6776
+ summary: 'label types incompatible',
6536
6777
  why: 'User cannot get reliable help on the topics of form items',
6537
6778
  wcag: '1.3.1',
6538
6779
  weight: 2,
@@ -6547,6 +6788,7 @@ exports.issues = {
6547
6788
  }
6548
6789
  },
6549
6790
  labelNot1: {
6791
+ summary: 'element referenced by multiple labels',
6550
6792
  why: 'User cannot get reliable help on the topics of form items',
6551
6793
  wcag: '1.3.1',
6552
6794
  weight: 1,
@@ -6592,6 +6834,7 @@ exports.issues = {
6592
6834
  }
6593
6835
  },
6594
6836
  labelEmpty: {
6837
+ summary: 'label empty',
6595
6838
  why: 'User cannot get help on the topics of form items',
6596
6839
  wcag: '1.3.1',
6597
6840
  weight: 3,
@@ -6635,6 +6878,7 @@ exports.issues = {
6635
6878
  }
6636
6879
  },
6637
6880
  labelRisk: {
6881
+ summary: 'labeling risky',
6638
6882
  why: 'User may misunderstand a form control',
6639
6883
  wcag: '3.3.2',
6640
6884
  weight: 1,
@@ -6659,6 +6903,7 @@ exports.issues = {
6659
6903
  }
6660
6904
  },
6661
6905
  linkComprehensionRisk: {
6906
+ summary: 'link name dubious',
6662
6907
  why: 'User may misunderstand what a link points to',
6663
6908
  wcag: '2.4.4',
6664
6909
  weight: 1,
@@ -6680,6 +6925,7 @@ exports.issues = {
6680
6925
  }
6681
6926
  },
6682
6927
  nonWebLink: {
6928
+ summary: 'link to non-web resource',
6683
6929
  why: 'Document points to harder-to-use resources',
6684
6930
  wcag: '1.3.3',
6685
6931
  weight: 1,
@@ -6711,6 +6957,7 @@ exports.issues = {
6711
6957
  }
6712
6958
  },
6713
6959
  linkIndication: {
6960
+ summary: 'link indication poor',
6714
6961
  why: 'User cannot differentiate a link from plain text',
6715
6962
  wcag: '1.3.3',
6716
6963
  weight: 2,
@@ -6746,6 +6993,7 @@ exports.issues = {
6746
6993
  }
6747
6994
  },
6748
6995
  menuNavigation: {
6996
+ summary: 'menu navigation nonstandard',
6749
6997
  why: 'Menu items behave improperly for a keyboard-only user',
6750
6998
  wcag: '2.1.1',
6751
6999
  weight: 2,
@@ -6760,6 +7008,7 @@ exports.issues = {
6760
7008
  }
6761
7009
  },
6762
7010
  menuItemless: {
7011
+ summary: 'menu items missing',
6763
7012
  why: 'User cannot reach promised menu items',
6764
7013
  wcag: '1.3.1',
6765
7014
  weight: 4,
@@ -6774,6 +7023,7 @@ exports.issues = {
6774
7023
  }
6775
7024
  },
6776
7025
  tabNavigation: {
7026
+ summary: 'tablist navigation nonstandard',
6777
7027
  why: 'Tablist items behave improperly for a keyboard-only user',
6778
7028
  wcag: '2.1.1',
6779
7029
  weight: 2,
@@ -6788,6 +7038,7 @@ exports.issues = {
6788
7038
  }
6789
7039
  },
6790
7040
  spontaneousMotion: {
7041
+ summary: 'page content moves spontaneously',
6791
7042
  why: 'Motion-sensitive user may suffer harm',
6792
7043
  wcag: '2.2.2',
6793
7044
  weight: 2,
@@ -6809,6 +7060,7 @@ exports.issues = {
6809
7060
  }
6810
7061
  },
6811
7062
  animationLong: {
7063
+ summary: 'animation long or repetitive',
6812
7064
  why: 'Motion-sensitive user may suffer harm',
6813
7065
  wcag: '2.2.2',
6814
7066
  weight: 3,
@@ -6828,6 +7080,7 @@ exports.issues = {
6828
7080
  }
6829
7081
  },
6830
7082
  blink: {
7083
+ summary: 'blink element',
6831
7084
  why: 'Motion-sensitive user may suffer harm',
6832
7085
  wcag: '2.2.2',
6833
7086
  weight: 4,
@@ -6854,6 +7107,7 @@ exports.issues = {
6854
7107
  }
6855
7108
  },
6856
7109
  autoplay: {
7110
+ summary: 'autoplay',
6857
7111
  why: 'Motion- or noise-sensitive user may suffer harm',
6858
7112
  wcag: '1.4.2',
6859
7113
  weight: 2,
@@ -6882,6 +7136,7 @@ exports.issues = {
6882
7136
  }
6883
7137
  },
6884
7138
  autoplayLong: {
7139
+ summary: 'autoplay long',
6885
7140
  why: 'Motion- or noise-sensitive user may suffer harm',
6886
7141
  wcag: '1.4.2',
6887
7142
  weight: 2,
@@ -6896,6 +7151,7 @@ exports.issues = {
6896
7151
  }
6897
7152
  },
6898
7153
  autoplayControl: {
7154
+ summary: 'autoplay control',
6899
7155
  why: 'Motion- or noise-sensitive user may suffer harm',
6900
7156
  wcag: '1.4.2',
6901
7157
  weight: 2,
@@ -6910,6 +7166,7 @@ exports.issues = {
6910
7166
  }
6911
7167
  },
6912
7168
  refresh: {
7169
+ summary: 'element reloads or redirects',
6913
7170
  why: 'Document change may surprise a user',
6914
7171
  wcag: '2.2.1',
6915
7172
  weight: 3,
@@ -6936,6 +7193,7 @@ exports.issues = {
6936
7193
  }
6937
7194
  },
6938
7195
  parentBad: {
7196
+ summary: 'parent invalid',
6939
7197
  why: 'User cannot properly operate an item',
6940
7198
  wcag: '1.3.1',
6941
7199
  weight: 4,
@@ -6957,6 +7215,7 @@ exports.issues = {
6957
7215
  }
6958
7216
  },
6959
7217
  inconsistentStyles: {
7218
+ summary: 'inconsistent heading, link, or button styles',
6960
7219
  why: 'User cannot easily distinguish items of different types',
6961
7220
  wcag: '3.2.4',
6962
7221
  weight: 1,
@@ -6971,6 +7230,7 @@ exports.issues = {
6971
7230
  }
6972
7231
  },
6973
7232
  filterStyle: {
7233
+ summary: 'filter style',
6974
7234
  why: 'Item is too distorted for understandability',
6975
7235
  wcag: '4.1',
6976
7236
  weight: 1,
@@ -6985,6 +7245,7 @@ exports.issues = {
6985
7245
  }
6986
7246
  },
6987
7247
  zIndexNotZero: {
7248
+ summary: 'z-index not zero',
6988
7249
  why: 'User cannot predict the effect of clicking',
6989
7250
  wcag: '1.4',
6990
7251
  weight: 1,
@@ -6999,6 +7260,7 @@ exports.issues = {
6999
7260
  }
7000
7261
  },
7001
7262
  tabIndexPositive: {
7263
+ summary: 'tabindex positive',
7002
7264
  why: 'Keyboard-only user cannot predict the navigation sequence',
7003
7265
  wcag: '2.4.3',
7004
7266
  weight: 1,
@@ -7027,6 +7289,7 @@ exports.issues = {
7027
7289
  }
7028
7290
  },
7029
7291
  tabIndexEmpty: {
7292
+ summary: 'tabindex empty',
7030
7293
  why: 'Keyboard-only user cannot follow the intended navigation sequence',
7031
7294
  wcag: '1.3.1',
7032
7295
  weight: 4,
@@ -7041,6 +7304,7 @@ exports.issues = {
7041
7304
  }
7042
7305
  },
7043
7306
  tabIndexInt: {
7307
+ summary: 'tabindex not integer',
7044
7308
  why: 'Keyboard-only user cannot follow the intended navigation sequence',
7045
7309
  wcag: '1.3.1',
7046
7310
  weight: 4,
@@ -7055,6 +7319,7 @@ exports.issues = {
7055
7319
  }
7056
7320
  },
7057
7321
  tabIndexExtra: {
7322
+ summary: 'tabindex redundant',
7058
7323
  why: 'Revision risks interfering with navigation by a keyboard-only user',
7059
7324
  wcag: '1.3.1',
7060
7325
  weight: 1,
@@ -7069,6 +7334,7 @@ exports.issues = {
7069
7334
  }
7070
7335
  },
7071
7336
  avNoText: {
7337
+ summary: 'audio or video caption track missing',
7072
7338
  why: 'User cannot get help reading speech as text',
7073
7339
  wcag: '1.2.1',
7074
7340
  weight: 4,
@@ -7083,6 +7349,7 @@ exports.issues = {
7083
7349
  }
7084
7350
  },
7085
7351
  audioNoText: {
7352
+ summary: 'audio track missing',
7086
7353
  why: 'User cannot get help reading speech as text',
7087
7354
  wcag: '1.2.1',
7088
7355
  weight: 4,
@@ -7131,6 +7398,7 @@ exports.issues = {
7131
7398
  }
7132
7399
  },
7133
7400
  audioTextRisk: {
7401
+ summary: 'audio possibly not named',
7134
7402
  why: 'User may be unable to get help reading speech as text',
7135
7403
  wcag: '1.2.1',
7136
7404
  weight: 1,
@@ -7145,6 +7413,7 @@ exports.issues = {
7145
7413
  }
7146
7414
  },
7147
7415
  videoNoText: {
7416
+ summary: 'video not named',
7148
7417
  why: 'User cannot get help reading video content as text',
7149
7418
  wcag: '1.2.2',
7150
7419
  weight: 4,
@@ -7191,6 +7460,7 @@ exports.issues = {
7191
7460
  }
7192
7461
  },
7193
7462
  videoNoTranscript: {
7463
+ summary: 'video transcript missing',
7194
7464
  why: 'User cannot get help reading video content as text',
7195
7465
  wcag: '1.2.2',
7196
7466
  weight: 4,
@@ -7205,6 +7475,7 @@ exports.issues = {
7205
7475
  }
7206
7476
  },
7207
7477
  videoCaptionRisk: {
7478
+ summary: 'audio or video alternatives possibly missing',
7208
7479
  why: 'User may be unable to get help reading video content as text',
7209
7480
  wcag: '1.2.2',
7210
7481
  weight: 1,
@@ -7229,6 +7500,7 @@ exports.issues = {
7229
7500
  }
7230
7501
  },
7231
7502
  videoNoAudioDescription: {
7503
+ summary: 'video audio description missing',
7232
7504
  why: 'User cannot get help hearing video content as speech',
7233
7505
  wcag: '1.2.1',
7234
7506
  weight: 4,
@@ -7243,6 +7515,7 @@ exports.issues = {
7243
7515
  }
7244
7516
  },
7245
7517
  videoNoAudioTrack: {
7518
+ summary: 'video audio track missing',
7246
7519
  why: 'User cannot get help hearing video content as speech',
7247
7520
  wcag: '1.2.1',
7248
7521
  weight: 4,
@@ -7257,6 +7530,7 @@ exports.issues = {
7257
7530
  }
7258
7531
  },
7259
7532
  videoAlternative: {
7533
+ summary: 'video alternative missing',
7260
7534
  why: 'User cannot get help consuming a video recording as text or speech',
7261
7535
  wcag: '1.2.1',
7262
7536
  weight: 4,
@@ -7271,6 +7545,7 @@ exports.issues = {
7271
7545
  }
7272
7546
  },
7273
7547
  keyboardScroll: {
7548
+ summary: 'element not scrollable',
7274
7549
  why: 'Keyboard-only user cannot scroll an item',
7275
7550
  wcag: '2.1.1',
7276
7551
  weight: 4,
@@ -7299,6 +7574,7 @@ exports.issues = {
7299
7574
  }
7300
7575
  },
7301
7576
  positionSticky: {
7577
+ summary: 'position sticky',
7302
7578
  why: 'User may be unable to see needed content or may be forced to scroll in both dimensions',
7303
7579
  wcag: '1.4.10',
7304
7580
  weight: 1,
@@ -7320,6 +7596,7 @@ exports.issues = {
7320
7596
  }
7321
7597
  },
7322
7598
  scrollRisk: {
7599
+ summary: 'container size unit not percentage',
7323
7600
  why: 'User may be unable to see all of an item without scrolling in both dimensions',
7324
7601
  wcag: '1.4.10',
7325
7602
  weight: 1,
@@ -7334,6 +7611,7 @@ exports.issues = {
7334
7611
  }
7335
7612
  },
7336
7613
  skipRepeatedContent: {
7614
+ summary: 'skip method missing or invalid',
7337
7615
  why: 'Keyboard-only user cannot easily reach the specific content of the document',
7338
7616
  wcag: '2.4.1',
7339
7617
  weight: 3,
@@ -7384,6 +7662,7 @@ exports.issues = {
7384
7662
  }
7385
7663
  },
7386
7664
  repeatedContentRisk: {
7665
+ summary: 'skip method possibly missing or invalid',
7387
7666
  why: 'Keyboard-only user may be unable easily to reach the specific content of the document',
7388
7667
  wcag: '2.4.1',
7389
7668
  weight: 1,
@@ -7425,6 +7704,7 @@ exports.issues = {
7425
7704
  }
7426
7705
  },
7427
7706
  submitButton: {
7707
+ summary: 'form submission button missing',
7428
7708
  why: 'User cannot easily submit a form',
7429
7709
  wcag: '3.2.2',
7430
7710
  weight: 3,
@@ -7453,6 +7733,7 @@ exports.issues = {
7453
7733
  }
7454
7734
  },
7455
7735
  fragmentaryNoticeRisk: {
7736
+ summary: 'assertive region not atomic',
7456
7737
  why: 'User may be unable to get help on what content has changed',
7457
7738
  wcag: '4.1.3',
7458
7739
  weight: 2,
@@ -7467,6 +7748,7 @@ exports.issues = {
7467
7748
  }
7468
7749
  },
7469
7750
  errorReferenceBad: {
7751
+ summary: 'error reference invalid',
7470
7752
  why: 'User cannot correct a form error',
7471
7753
  wcag: '3.3.1',
7472
7754
  weight: 4,
@@ -7481,6 +7763,7 @@ exports.issues = {
7481
7763
  }
7482
7764
  },
7483
7765
  noScriptRisk: {
7766
+ summary: 'noscript element possibly not equivalent',
7484
7767
  why: 'User who has disabled JavaScript may be denied some content',
7485
7768
  wcag: '4.1',
7486
7769
  weight: 1,
@@ -7495,6 +7778,7 @@ exports.issues = {
7495
7778
  }
7496
7779
  },
7497
7780
  flash: {
7781
+ summary: 'flash content',
7498
7782
  why: 'Document includes code that may not work and may jeopardize user security',
7499
7783
  wcag: '4.1',
7500
7784
  weight: 1,
@@ -7516,6 +7800,7 @@ exports.issues = {
7516
7800
  }
7517
7801
  },
7518
7802
  browserSupportRisk: {
7803
+ summary: 'inputmode attribute',
7519
7804
  why: 'Document may include code that the browser cannot process',
7520
7805
  wcag: '4.1',
7521
7806
  weight: 1,
@@ -7530,6 +7815,7 @@ exports.issues = {
7530
7815
  }
7531
7816
  },
7532
7817
  attributeObsolete: {
7818
+ summary: 'attribute obsolete',
7533
7819
  why: 'Document includes obsolete code that the browser may fail to process',
7534
7820
  wcag: '4.1',
7535
7821
  weight: 3,
@@ -7604,6 +7890,7 @@ exports.issues = {
7604
7890
  }
7605
7891
  },
7606
7892
  elementObsolete: {
7893
+ summary: 'element obsolete',
7607
7894
  why: 'Document includes obsolete code that the browser may fail to process',
7608
7895
  wcag: '4.1',
7609
7896
  weight: 3,
@@ -7666,6 +7953,7 @@ exports.issues = {
7666
7953
  }
7667
7954
  },
7668
7955
  obsolete: {
7956
+ summary: 'code obsolete',
7669
7957
  why: 'Document contains invalid code',
7670
7958
  wcag: '4.1',
7671
7959
  weight: 3,
@@ -7697,6 +7985,7 @@ exports.issues = {
7697
7985
  }
7698
7986
  },
7699
7987
  cssInvalid: {
7988
+ summary: 'CSS invalid',
7700
7989
  why: 'Document cannot be properly displayed',
7701
7990
  wcag: '4.1',
7702
7991
  weight: 3,
@@ -7841,6 +8130,7 @@ exports.issues = {
7841
8130
  }
7842
8131
  },
7843
8132
  elementClosure: {
8133
+ summary: 'element closure invalid',
7844
8134
  why: 'Document contains invalid code',
7845
8135
  wcag: '4.1.1',
7846
8136
  weight: 3,
@@ -7890,6 +8180,7 @@ exports.issues = {
7890
8180
  }
7891
8181
  },
7892
8182
  nestingBad: {
8183
+ summary: 'nesting invalid',
7893
8184
  why: 'Document contains invalid code',
7894
8185
  wcag: '4.1.1',
7895
8186
  weight: 3,
@@ -7904,6 +8195,7 @@ exports.issues = {
7904
8195
  }
7905
8196
  },
7906
8197
  parseError: {
8198
+ summary: 'code invalid',
7907
8199
  why: 'Document contains invalid code',
7908
8200
  wcag: '4.1',
7909
8201
  weight: 3,
@@ -8124,6 +8416,7 @@ exports.issues = {
8124
8416
  }
8125
8417
  },
8126
8418
  slashParseRisk: {
8419
+ summary: 'void element has trailing slash',
8127
8420
  why: 'Document contains invalid code',
8128
8421
  wcag: '4.1',
8129
8422
  weight: 1,
@@ -8138,6 +8431,7 @@ exports.issues = {
8138
8431
  }
8139
8432
  },
8140
8433
  encodingBad: {
8434
+ summary: 'text in Private Use Area',
8141
8435
  why: 'Document contains invalid code',
8142
8436
  wcag: '3.1.3',
8143
8437
  weight: 4,
@@ -8152,6 +8446,7 @@ exports.issues = {
8152
8446
  }
8153
8447
  },
8154
8448
  captcha2: {
8449
+ summary: 'captcha2',
8155
8450
  why: 'User is prevented from consuming the document',
8156
8451
  wcag: '1.1.1',
8157
8452
  weight: 1,
@@ -8166,6 +8461,7 @@ exports.issues = {
8166
8461
  }
8167
8462
  },
8168
8463
  overlay: {
8464
+ summary: 'overlay',
8169
8465
  why: 'Help for the user may be complex, inconsistent, and ineffective',
8170
8466
  wcag: '4.1',
8171
8467
  weight: 1,
@@ -8180,6 +8476,7 @@ exports.issues = {
8180
8476
  }
8181
8477
  },
8182
8478
  fatalError: {
8479
+ summary: 'fatal error',
8183
8480
  why: 'Document prevents testing for accessibility',
8184
8481
  wcag: '4.1',
8185
8482
  weight: 4,
@@ -8199,6 +8496,7 @@ exports.issues = {
8199
8496
  }
8200
8497
  },
8201
8498
  notValidatable: {
8499
+ summary: 'SVG version not 1.1',
8202
8500
  why: 'Item prevents testing for accessibility',
8203
8501
  wcag: '4.1',
8204
8502
  weight: 1,