testaro-issues 0.5.1 → 0.5.2

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 (5) hide show
  1. package/dist/index.cjs +1654 -1654
  2. package/dist/index.d.cts +1629 -1629
  3. package/dist/index.d.mts +1629 -1629
  4. package/dist/index.mjs +1654 -1654
  5. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -17,616 +17,742 @@ const whyIgnore = [
17
17
  "unreliable"
18
18
  ];
19
19
  const issuesData = {
20
- "ignorable": {
21
- "summary": "ignorable",
22
- "why": "No known impact, because the test is unreliable or invalid",
23
- "wcag": "",
24
- "weight": 1
20
+ "abbreviationNoTitle": {
21
+ "summary": "abbr title missing",
22
+ "why": "User cannot get help understanding an abbreviation",
23
+ "wcag": "3.1.4",
24
+ "weight": 4
25
25
  },
26
- "duplicateAttribute": {
27
- "summary": "duplicate attribute",
28
- "why": "Browser processes the page improperly",
29
- "wcag": "4.1.1",
30
- "weight": 2
26
+ "accessKeyDuplicate": {
27
+ "summary": "duplicate access key",
28
+ "why": "Keyboard shortcut does not reliably trigger the intended action",
29
+ "wcag": "1.3.1",
30
+ "weight": 3
31
31
  },
32
- "duplicateID": {
33
- "summary": "ID not unique",
34
- "why": "User may be pointed to the wrong item",
35
- "wcag": "4.1.1",
32
+ "activeDescendantBadID": {
33
+ "summary": "aria-activedescendant invalid",
34
+ "why": "Keyboard-only user cannot reach an item in a menu",
35
+ "wcag": "1.3.1",
36
36
  "weight": 4
37
37
  },
38
- "roleNoText": {
39
- "summary": "no role-required name",
40
- "why": "User cannot get help understanding an item",
41
- "wcag": "4.1.2",
42
- "weight": 4
38
+ "activeEmbedding": {
39
+ "summary": "control child of link or button",
40
+ "why": "User cannot reliably choose an item to click or tap",
41
+ "wcag": "2.5.5",
42
+ "weight": 3
43
43
  },
44
- "progressNoText": {
45
- "summary": "progress bar not named",
46
- "why": "User cannot get help understanding the state of a process",
47
- "wcag": "4.1.2",
48
- "weight": 4
44
+ "allCaps": {
45
+ "summary": "all-capital text",
46
+ "why": "Text is difficult to read",
47
+ "wcag": "3.1.5",
48
+ "weight": 1
49
49
  },
50
- "componentNoText": {
51
- "summary": "interactive component not named",
52
- "why": "User cannot get help understanding a custom item",
53
- "wcag": "4.1.2",
54
- "weight": 4
50
+ "allItalics": {
51
+ "summary": "all-italic text",
52
+ "why": "Text is difficult to read",
53
+ "wcag": "3.1.5",
54
+ "weight": 1
55
55
  },
56
- "regionNoText": {
57
- "summary": "region not named",
58
- "why": "User cannot get help surveying the parts of the page",
59
- "wcag": "4.1.2",
60
- "weight": 4
56
+ "animationLong": {
57
+ "summary": "animation long or repetitive",
58
+ "why": "Motion-sensitive user may suffer harm",
59
+ "wcag": "2.2.2",
60
+ "weight": 3
61
61
  },
62
- "headingImageNoText": {
63
- "summary": "heading image not named",
64
- "why": "User cannot get help understanding an image used as a heading",
62
+ "appletNoText": {
63
+ "summary": "applet not named",
64
+ "why": "User cannot get help on how to use a custom item",
65
65
  "wcag": "1.1.1",
66
66
  "weight": 4
67
67
  },
68
- "inputNoText": {
69
- "summary": "input not named",
70
- "why": "User cannot get help on what information to enter in a form item",
71
- "wcag": "4.1.2",
68
+ "applicationConfusion": {
69
+ "summary": "applications not distinctly named",
70
+ "why": "User cannot get help on how some of the page is organized",
71
+ "wcag": "1.3.6",
72
+ "weight": 3
73
+ },
74
+ "applicationNoText": {
75
+ "summary": "application not named",
76
+ "why": "User cannot get help on how some of the page is organized",
77
+ "wcag": "1.3.6",
72
78
  "weight": 4
73
79
  },
74
- "inputOnlyPlaceholder": {
75
- "summary": "input has placeholder instead of name",
76
- "why": "User cannot get reliable help on what information to enter in a form item",
77
- "wcag": "4.1.2",
78
- "weight": 3
80
+ "applicationRisk": {
81
+ "summary": "dubious application role",
82
+ "why": "User actions may have unexpected effects",
83
+ "wcag": "1.3.1",
84
+ "weight": 1
79
85
  },
80
- "placeholderPlusAria": {
81
- "summary": "element has competing placeholder attributes",
82
- "why": "User gets conflicting help on what information to enter in a form item",
86
+ "ariaAttributeBad": {
87
+ "summary": "aria attribute invalid",
88
+ "why": "Item behavior violates user expectations",
83
89
  "wcag": "4.1.2",
84
- "weight": 3
85
- },
86
- "imageButtonNoText": {
87
- "summary": "image button not named",
88
- "why": "User cannot get help understanding an image used as a button",
89
- "wcag": "1.1.1",
90
90
  "weight": 4
91
91
  },
92
- "imageInputNoText": {
93
- "summary": "image input not named",
94
- "why": "User cannot get help understanding an image used as a submission button",
95
- "wcag": "1.1.1",
96
- "weight": 4
92
+ "ariaLabelWrongRisk": {
93
+ "summary": "dubious aria-label",
94
+ "why": "User may fail to get help understanding an item in a form",
95
+ "wcag": "1.3.1",
96
+ "weight": 1
97
97
  },
98
- "figureNoText": {
99
- "summary": "figure not named",
100
- "why": "User cannot get help on the topic of a figure",
101
- "wcag": "1.1.1",
98
+ "ariaMissing": {
99
+ "summary": "aria attribute missing",
100
+ "why": "Item behaves improperly",
101
+ "wcag": "4.1.2",
102
102
  "weight": 4
103
103
  },
104
- "imageNoText": {
105
- "summary": "image not named",
106
- "why": "User cannot get help to know what is in an image",
107
- "wcag": "1.1.1",
108
- "weight": 4
104
+ "ariaMissingRisk": {
105
+ "summary": "aria attribute missing?",
106
+ "why": "Item may behave improperly",
107
+ "wcag": "4.1.2",
108
+ "weight": 2
109
109
  },
110
- "svgNoText": {
111
- "summary": "SVG image not named",
112
- "why": "User cannot get help to know what is in an image",
113
- "wcag": "1.1.1",
114
- "weight": 4
110
+ "ariaRedundant": {
111
+ "summary": "aria attribute redundant",
112
+ "why": "Document includes unnecessary code",
113
+ "wcag": "4.1.2",
114
+ "weight": 1
115
115
  },
116
- "imageTextSpaces": {
117
- "summary": "image name contains only spacing characters",
118
- "why": "User cannot get help understanding an image",
119
- "wcag": "1.1.1",
116
+ "ariaReferenceBad": {
117
+ "summary": "aria reference invalid",
118
+ "why": "Item behavior violates user expectations",
119
+ "wcag": "1.3.1",
120
120
  "weight": 4
121
121
  },
122
- "imageTextImage": {
123
- "summary": "image name contains image",
124
- "why": "User is redundantly told an image is an image",
125
- "wcag": "1.1.1",
126
- "weight": 1
122
+ "ariaVersusHTML": {
123
+ "summary": "aria and HTML attributes have conflicting value",
124
+ "why": "User gets erroneous help with content",
125
+ "wcag": "4.1.2",
126
+ "weight": 4
127
127
  },
128
- "decorativeAlt": {
129
- "summary": "decorative image is named",
130
- "why": "User gets an uninformative image description or misses an informative image",
131
- "wcag": "1.1.1",
128
+ "articleHeadingless": {
129
+ "summary": "article heading missing",
130
+ "why": "User cannot understand the topic of a part of the page",
131
+ "wcag": "1.3.1",
132
132
  "weight": 1
133
133
  },
134
- "imageTextBad": {
135
- "summary": "image named with filename",
136
- "why": "Helper gives a user the filename of an image instead of describing it",
137
- "wcag": "1.1.1",
134
+ "asideConfusion": {
135
+ "summary": "asides not distinctly named",
136
+ "why": "User cannot get help on how some of the page is organized",
137
+ "wcag": "1.3.6",
138
138
  "weight": 3
139
139
  },
140
- "imageTextRisk": {
141
- "summary": "image dubiously named",
142
- "why": "Helper may describe an image inadequately",
143
- "wcag": "1.1.1",
144
- "weight": 1
140
+ "asideNotTop": {
141
+ "summary": "aside child of landmark",
142
+ "why": "User cannot get help on how some of the page is organized",
143
+ "wcag": "1.3.6",
144
+ "weight": 2
145
145
  },
146
- "sourceEmpty": {
147
- "summary": "src empty",
148
- "why": "Image, audio, or video to be shown cannot be found",
146
+ "atRuleInvalid": {
147
+ "summary": "invalid at-rule",
148
+ "why": "Document cannot be properly displayed in particular contexts",
149
+ "wcag": "4.1",
150
+ "weight": 3
151
+ },
152
+ "attributeBad": {
153
+ "summary": "attribute invalid",
154
+ "why": "Item behaves improperly",
149
155
  "wcag": "1.3.1",
150
156
  "weight": 4
151
157
  },
152
- "borderBad": {
153
- "summary": "CSS border invalid",
154
- "why": "Border is displayed improperly",
155
- "wcag": "4.1",
158
+ "attributeMissing": {
159
+ "summary": "attribute missing",
160
+ "why": "Item behaves improperly",
161
+ "wcag": "4.1.2",
156
162
  "weight": 4
157
163
  },
158
- "flexBad": {
159
- "summary": "CSS flex invalid",
160
- "why": "Content is displayed improperly",
164
+ "attributeObsolete": {
165
+ "summary": "attribute obsolete",
166
+ "why": "Document includes obsolete code that the browser may fail to process",
161
167
  "wcag": "4.1",
162
- "weight": 4
168
+ "weight": 3
163
169
  },
164
- "paddingBad": {
165
- "summary": "CSS padding invalid",
166
- "why": "Content is displayed improperly",
167
- "wcag": "4.1",
170
+ "attributeValueBad": {
171
+ "summary": "attribute value invalid",
172
+ "why": "Item behaves improperly",
173
+ "wcag": "1.3.1",
168
174
  "weight": 4
169
175
  },
170
- "gapBad": {
171
- "summary": "CSS gap invalid",
172
- "why": "Content is displayed improperly",
173
- "wcag": "4.1",
174
- "weight": 4
176
+ "attributeValueRisk": {
177
+ "summary": "attribute value bad?",
178
+ "why": "Item may behave improperly",
179
+ "wcag": "4.1.2",
180
+ "weight": 1
175
181
  },
176
- "backgroundBad": {
177
- "summary": "CSS background invalid",
178
- "why": "Background is displayed improperly",
179
- "wcag": "4.1",
182
+ "audioNoText": {
183
+ "summary": "audio track missing",
184
+ "why": "User cannot get help reading speech as text",
185
+ "wcag": "1.2.1",
180
186
  "weight": 4
181
187
  },
182
- "backgroundImageBad": {
183
- "summary": "background image invalid",
184
- "why": "Background image is displayed improperly",
185
- "wcag": "4.1",
186
- "weight": 4
188
+ "audioTextRisk": {
189
+ "summary": "audio not named?",
190
+ "why": "User may be unable to get help reading speech as text",
191
+ "wcag": "1.2.1",
192
+ "weight": 1
187
193
  },
188
- "imagesSameAlt": {
189
- "summary": "nearby images have same alt",
190
- "why": "User cannot get help differentiating two adjacent images",
191
- "wcag": "1.1.1",
192
- "weight": 1
193
- },
194
- "imageTextLong": {
195
- "summary": "image alt long",
196
- "why": "Helper gives a user an overly verbose explanation of an image",
197
- "wcag": "1.1.1",
198
- "weight": 2
199
- },
200
- "imageBanned": {
201
- "summary": "image prohibited",
202
- "why": "Browser fails to display an image",
203
- "wcag": "1.4",
194
+ "autocompleteBad": {
195
+ "summary": "autocomplete invalid",
196
+ "why": "User cannot get help entering personal information in a form item",
197
+ "wcag": "1.3.5",
204
198
  "weight": 3
205
199
  },
206
- "titleLong": {
207
- "summary": "title long",
208
- "why": "Hovering makes an overly verbose explanation pop up",
209
- "wcag": "3.1.5",
210
- "weight": 2
211
- },
212
- "titleNotText": {
213
- "summary": "title contains ASCII art",
214
- "why": "Hovering makes a hard-to-understand explanation pop up",
215
- "wcag": "3.1.5",
216
- "weight": 2
200
+ "autocompleteNone": {
201
+ "summary": "autocomplete missing",
202
+ "why": "User cannot get help entering personal information in a form",
203
+ "wcag": "1.3.5",
204
+ "weight": 4
217
205
  },
218
- "decorativeImageRisk": {
219
- "summary": "image dubiously marked decorative",
220
- "why": "Helper ignores an image that is apparently informative",
221
- "wcag": "1.1.1",
206
+ "autocompleteRisk": {
207
+ "summary": "autocomplete dubious",
208
+ "why": "User may fail to get help entering personal information in a form item",
209
+ "wcag": "1.3.5",
222
210
  "weight": 1
223
211
  },
224
- "decorativeElementExposed": {
225
- "summary": "decorative element exposed",
226
- "why": "Helper alerts a user to an uninformative image",
227
- "wcag": "1.3.1",
212
+ "autoplay": {
213
+ "summary": "autoplay",
214
+ "why": "Motion- or noise-sensitive user may suffer harm",
215
+ "wcag": "1.4.2",
228
216
  "weight": 2
229
217
  },
230
- "pageLanguage": {
231
- "summary": "page language missing",
232
- "why": "Speaking helper may mispronounce the page text",
233
- "wcag": "3.1.1",
234
- "weight": 4,
235
- "max": 1
218
+ "autoplayControl": {
219
+ "summary": "autoplay control",
220
+ "why": "Motion- or noise-sensitive user may suffer harm",
221
+ "wcag": "1.4.2",
222
+ "weight": 2
236
223
  },
237
- "pageLanguageBad": {
238
- "summary": "page language invalid",
239
- "why": "Speaking helper may mispronounce the page text",
240
- "wcag": "3.1.1",
241
- "weight": 4,
242
- "max": 1
224
+ "autoplayLong": {
225
+ "summary": "autoplay long",
226
+ "why": "Motion- or noise-sensitive user may suffer harm",
227
+ "wcag": "1.4.2",
228
+ "weight": 2
243
229
  },
244
- "elementLanguageBad": {
245
- "summary": "element language invalid",
246
- "why": "Speaking helper may mispronounce the text of an item",
247
- "wcag": "3.1.2",
230
+ "avNoText": {
231
+ "summary": "audio or video caption track missing",
232
+ "why": "User cannot get help reading speech as text",
233
+ "wcag": "1.2.1",
248
234
  "weight": 4
249
235
  },
250
- "languageChange": {
251
- "summary": "language change invalid",
252
- "why": "Speaking helper may mispronounce the text of an item",
253
- "wcag": "3.1.2",
254
- "weight": 3
255
- },
256
- "dialogNoText": {
257
- "summary": "dialog not named",
258
- "why": "User cannot get help explaining a pop-up window",
259
- "wcag": "4.1.2",
236
+ "backgroundBad": {
237
+ "summary": "CSS background invalid",
238
+ "why": "Background is displayed improperly",
239
+ "wcag": "4.1",
260
240
  "weight": 4
261
241
  },
262
- "objectNoText": {
263
- "summary": "object not named",
264
- "why": "User cannot get help explaining a custom item",
265
- "wcag": "1.1.1",
242
+ "backgroundImageBad": {
243
+ "summary": "background image invalid",
244
+ "why": "Background image is displayed improperly",
245
+ "wcag": "4.1",
266
246
  "weight": 4
267
247
  },
268
- "objectTextRisk": {
269
- "summary": "object dubiously named",
270
- "why": "Helper may explain a custom item inadequately",
271
- "wcag": "1.1.1",
272
- "weight": 1
248
+ "bannerConfusion": {
249
+ "summary": "banners not distinctly named",
250
+ "why": "User cannot get help on how some of the page is organized",
251
+ "wcag": "1.3.6",
252
+ "weight": 3
273
253
  },
274
- "objectAudioRisk": {
275
- "summary": "non-audio element plays audio?",
276
- "why": "User may get inadequate help consuming audio content",
277
- "wcag": "1.1.1",
278
- "weight": 1
254
+ "bannerNot1": {
255
+ "summary": "multiple banners",
256
+ "why": "User cannot get help on how some of the page is organized",
257
+ "wcag": "1.3.6",
258
+ "weight": 2,
259
+ "max": 1
279
260
  },
280
- "appletNoText": {
281
- "summary": "applet not named",
282
- "why": "User cannot get help on how to use a custom item",
283
- "wcag": "1.1.1",
284
- "weight": 4
261
+ "bannerNotTop": {
262
+ "summary": "banner child of landmark",
263
+ "why": "User cannot get help on how some of the page is organized",
264
+ "wcag": "1.3.6",
265
+ "weight": 2
285
266
  },
286
- "imageMapNoText": {
287
- "summary": "image map not named",
288
- "why": "User cannot get help on the topic of an interactive image",
289
- "wcag": "1.1.1",
267
+ "baseElementMissing": {
268
+ "summary": "base element missing where required",
269
+ "why": "Browser cannot find a needed external resource",
270
+ "wcag": "1.3.1",
290
271
  "weight": 4
291
272
  },
292
- "imageMapAreaNoText": {
293
- "summary": "image map area not named",
294
- "why": "User cannot get help on how to use an interactive image",
295
- "wcag": "1.1.1",
273
+ "blink": {
274
+ "summary": "blink element",
275
+ "why": "Motion-sensitive user may suffer harm",
276
+ "wcag": "2.2.2",
296
277
  "weight": 4
297
278
  },
298
- "customKeyboardRisk": {
299
- "summary": "custom button keyboard-inoperable?",
300
- "why": "Custom item may prevent a keyboard-only user from operating it",
301
- "wcag": "2.1.1",
279
+ "blockQuoteShort": {
280
+ "summary": "block quote abnormally short",
281
+ "why": "Content can be made easier to read",
282
+ "wcag": "1.4.8",
302
283
  "weight": 1
303
284
  },
304
- "objectBlurKeyboardRisk": {
305
- "summary": "object not keyboard-blurrable?",
306
- "why": "Custom item may trap a keyboard-only user",
307
- "wcag": "2.1.1",
285
+ "borderBad": {
286
+ "summary": "CSS border invalid",
287
+ "why": "Border is displayed improperly",
288
+ "wcag": "4.1",
289
+ "weight": 4
290
+ },
291
+ "boxInvisibleRisk": {
292
+ "summary": "border or outline invisible?",
293
+ "why": "User cannot perceive the boundary of an item",
294
+ "wcag": "2.5.8",
308
295
  "weight": 1
309
296
  },
310
- "eventKeyboardRisk": {
311
- "summary": "event not keyboard-triggerable?",
312
- "why": "Keyboard-only user may be unable to perform an action",
313
- "wcag": "2.1.1",
297
+ "boxSizeAbsolute": {
298
+ "summary": "box size absolute",
299
+ "why": "User cannot enlarge the content of an item for readability",
300
+ "wcag": "1.4.4",
301
+ "weight": 3
302
+ },
303
+ "browserSupportRisk": {
304
+ "summary": "inputmode attribute",
305
+ "why": "Document may include code that the browser cannot process",
306
+ "wcag": "4.1",
314
307
  "weight": 1
315
308
  },
316
- "internalLinkBroken": {
317
- "summary": "internal link broken",
318
- "why": "User cannot reach a promised page location",
319
- "wcag": "1.3.1",
309
+ "buttonAlt": {
310
+ "summary": "button has alt",
311
+ "why": "User cannot get help explaing a button",
312
+ "wcag": "4.1.2",
320
313
  "weight": 4
321
314
  },
322
- "labelForBad": {
323
- "summary": "label referent ineligible",
324
- "why": "User cannot get help understanding an item in a form",
325
- "wcag": "1.3.1",
326
- "weight": 4
315
+ "buttonNoContent": {
316
+ "summary": "button name not visible",
317
+ "why": "User cannot get help explaining a button",
318
+ "wcag": "4.1.2",
319
+ "weight": 1
327
320
  },
328
- "controlIDInLabelBad": {
329
- "summary": "label contains control with nonmatching ID",
330
- "why": "User cannot get help understanding an item in a form",
331
- "wcag": "1.3.1",
321
+ "buttonNoText": {
322
+ "summary": "button not named",
323
+ "why": "User cannot get help explaining a button",
324
+ "wcag": "4.1.2",
332
325
  "weight": 4
333
326
  },
334
- "nonLabelableRole": {
335
- "summary": "aria-label on non-labelable role",
336
- "why": "User is misinformed about an item",
337
- "wcag": "1.3.1",
338
- "weight": 1
327
+ "captcha2": {
328
+ "summary": "captcha2",
329
+ "why": "User is prevented from consuming the page",
330
+ "wcag": "1.1.1",
331
+ "weight": 1,
332
+ "max": 1
339
333
  },
340
- "ariaLabelWrongRisk": {
341
- "summary": "dubious aria-label",
342
- "why": "User may fail to get help understanding an item in a form",
334
+ "cellHeadersAmbiguityRisk": {
335
+ "summary": "cell headers ambiguous?",
336
+ "why": "User may be unable to get help on relationships in a table",
343
337
  "wcag": "1.3.1",
344
- "weight": 1
338
+ "weight": 2
345
339
  },
346
- "activeDescendantBadID": {
347
- "summary": "aria-activedescendant invalid",
348
- "why": "Keyboard-only user cannot reach an item in a menu",
340
+ "cellHeadersNotInferrable": {
341
+ "summary": "cell headers not inferrable",
342
+ "why": "User cannot get help on relationships in a table",
349
343
  "wcag": "1.3.1",
350
344
  "weight": 4
351
345
  },
352
- "governedBadID": {
353
- "summary": "aria-controls or -owns invalid",
354
- "why": "Keyboard-only user cannot reach an item",
346
+ "cellHeadersOutsideTable": {
347
+ "summary": "cell headers outside table",
348
+ "why": "User cannot get help on relationships in a table",
355
349
  "wcag": "1.3.1",
356
350
  "weight": 4
357
351
  },
358
- "descriptionBadID": {
359
- "summary": "aria-describedby invalid",
360
- "why": "User cannot get help understanding an item in detail",
361
- "wcag": "1.3.1",
362
- "weight": 4
352
+ "characterBad": {
353
+ "summary": "invalid character",
354
+ "why": "Invalid character makes the page behave incorrectly",
355
+ "wcag": "4.1",
356
+ "weight": 3
363
357
  },
364
- "labelConfusionRisk": {
365
- "summary": "label location dubious",
366
- "why": "User may fail to notice the explanation of an item in a form",
367
- "wcag": "3.3.2",
358
+ "clickOnly": {
359
+ "summary": "name dubiously mouse-specific",
360
+ "why": "User may misunderstand how to activate a link",
361
+ "wcag": "2.4.4",
368
362
  "weight": 1
369
363
  },
370
- "labelBadID": {
371
- "summary": "label reference invalid",
372
- "why": "User cannot get help understanding an item in a form",
373
- "wcag": "1.3.1",
374
- "weight": 4
364
+ "colorNamedRisk": {
365
+ "summary": "color perception required?",
366
+ "why": "Content is impossible to perceive under some conditions",
367
+ "wcag": "1.4.1",
368
+ "weight": 1
375
369
  },
376
- "haspopupBad": {
377
- "summary": "aria-haspopup invalid",
378
- "why": "Keyboard-only user cannot operate a custom tool",
379
- "wcag": "1.3.1",
370
+ "complementaryNoText": {
371
+ "summary": "complementary not named",
372
+ "why": "User cannot get help on how some of the page is organized",
373
+ "wcag": "1.3.6",
374
+ "weight": 1
375
+ },
376
+ "componentNoText": {
377
+ "summary": "interactive component not named",
378
+ "why": "User cannot get help understanding a custom item",
379
+ "wcag": "4.1.2",
380
380
  "weight": 4
381
381
  },
382
- "applicationRisk": {
383
- "summary": "dubious application role",
384
- "why": "User actions may have unexpected effects",
385
- "wcag": "1.3.1",
382
+ "contentBeyondLandmarks": {
383
+ "summary": "content beyond landmarks",
384
+ "why": "User cannot get help on how some of the page is organized",
385
+ "wcag": "1.3.6",
386
386
  "weight": 1
387
387
  },
388
- "directionRisk": {
389
- "summary": "dubious direction",
390
- "why": "Item may behave incorrectly",
391
- "wcag": "1.3.2",
388
+ "contentHidden": {
389
+ "summary": "page hidden",
390
+ "why": "User cannot get the page content",
391
+ "wcag": "2.4.7",
392
+ "weight": 4,
393
+ "max": 1
394
+ },
395
+ "contrastAA": {
396
+ "summary": "contrast poor",
397
+ "why": "Content is difficult to understand",
398
+ "wcag": "1.4.3",
399
+ "weight": 4
400
+ },
401
+ "contrastAAA": {
402
+ "summary": "text contrast improvable",
403
+ "why": "Content is not easy to understand",
404
+ "wcag": "1.4.6",
392
405
  "weight": 1
393
406
  },
394
- "clickOnly": {
395
- "summary": "name dubiously mouse-specific",
396
- "why": "User may misunderstand how to activate a link",
397
- "wcag": "2.4.4",
407
+ "contrastRisk": {
408
+ "summary": "text contrast not testable",
409
+ "why": "Text may be difficult to read",
410
+ "wcag": "1.4.3",
398
411
  "weight": 1
399
412
  },
400
- "linkNoText": {
401
- "summary": "link not named",
402
- "why": "User cannot get help understanding what a link points to",
403
- "wcag": "2.4.4",
413
+ "controlIDInLabelBad": {
414
+ "summary": "label contains control with nonmatching ID",
415
+ "why": "User cannot get help understanding an item in a form",
416
+ "wcag": "1.3.1",
404
417
  "weight": 4
405
418
  },
406
- "imageLinkNoText": {
407
- "summary": "image link not named",
408
- "why": "User cannot get help understanding what a link points to",
409
- "wcag": "2.4.4",
419
+ "controlLabelInvisible": {
420
+ "summary": "control label invisible",
421
+ "why": "User cannot understand how to operate a form item",
422
+ "wcag": "2.4.6",
410
423
  "weight": 4
411
424
  },
412
- "linkImageTextURL": {
413
- "summary": "text alternative of link image a URL",
414
- "why": "User cannot understand what a link points to",
415
- "wcag": "2.4.4",
416
- "weight": 3
417
- },
418
- "linkBrokenRisk": {
419
- "summary": "link incomplete",
420
- "why": "User may fail to reach a promised location",
425
+ "controlNoText": {
426
+ "summary": "control not named",
427
+ "why": "User cannot get help on how to operate a form item",
421
428
  "wcag": "1.3.1",
422
- "weight": 2
429
+ "weight": 4
423
430
  },
424
- "linkElNoHref": {
425
- "summary": "link element href missing",
426
- "why": "User cannot reach a promised location",
427
- "wcag": "4.1",
428
- "weight": 3
431
+ "cssBansElementRotate": {
432
+ "summary": "CSS bans element rotation",
433
+ "why": "User must read sideways after rotating a device",
434
+ "wcag": "1.3.4",
435
+ "weight": 4
429
436
  },
430
- "linkElNoSource": {
431
- "summary": "link element href or imagesrcset missing",
432
- "why": "User cannot reach a promised location",
437
+ "cssBansPageRotate": {
438
+ "summary": "CSS bans page rotation",
439
+ "why": "User must read sideways after rotating a device",
440
+ "wcag": "1.3.4",
441
+ "weight": 4
442
+ },
443
+ "cssInvalid": {
444
+ "summary": "CSS invalid",
445
+ "why": "Document cannot be properly displayed",
433
446
  "wcag": "4.1",
434
447
  "weight": 3
435
448
  },
436
- "destinationNotURL": {
437
- "summary": "link destination not URL",
438
- "why": "Helper cannot properly explain a link to a user",
449
+ "customKeyboardRisk": {
450
+ "summary": "custom button keyboard-inoperable?",
451
+ "why": "Custom item may prevent a keyboard-only user from operating it",
452
+ "wcag": "2.1.1",
453
+ "weight": 1
454
+ },
455
+ "datalistRef": {
456
+ "summary": "ambiguous or missing datalist reference",
457
+ "why": "User cannot get help on the permitted input values",
458
+ "wcag": "3.3.2",
459
+ "weight": 4
460
+ },
461
+ "decorativeAlt": {
462
+ "summary": "decorative image is named",
463
+ "why": "User gets an uninformative image description or misses an informative image",
464
+ "wcag": "1.1.1",
465
+ "weight": 1
466
+ },
467
+ "decorativeElementExposed": {
468
+ "summary": "decorative element exposed",
469
+ "why": "Helper alerts a user to an uninformative image",
439
470
  "wcag": "1.3.1",
471
+ "weight": 2
472
+ },
473
+ "decorativeImageRisk": {
474
+ "summary": "image dubiously marked decorative",
475
+ "why": "Helper ignores an image that is apparently informative",
476
+ "wcag": "1.1.1",
440
477
  "weight": 1
441
478
  },
442
- "destinationLink": {
443
- "summary": "link href missing",
444
- "why": "Helper cannot properly explain a link to a user",
479
+ "decorativeTitle": {
480
+ "summary": "decorative element has title",
481
+ "why": "Hovering-produced information is denied to a keyboard-only user",
445
482
  "wcag": "1.3.1",
446
483
  "weight": 2
447
484
  },
448
- "emailLinkBad": {
449
- "summary": "Microsoft will bounce email from link",
450
- "why": "User cannot send email",
451
- "wcag": "2.4.4",
485
+ "descendantMissing": {
486
+ "summary": "descendant missing",
487
+ "why": "Keyboard-only user cannot operate a custom tool",
488
+ "wcag": "1.3.1",
452
489
  "weight": 4
453
490
  },
454
- "abbreviationNoTitle": {
455
- "summary": "abbr title missing",
456
- "why": "User cannot get help understanding an abbreviation",
457
- "wcag": "3.1.4",
491
+ "descriptionBadID": {
492
+ "summary": "aria-describedby invalid",
493
+ "why": "User cannot get help understanding an item in detail",
494
+ "wcag": "1.3.1",
458
495
  "weight": 4
459
496
  },
460
- "editableHow": {
461
- "summary": "contenteditable element incomplete",
462
- "why": "User cannot get help on how to edit editable content",
497
+ "descriptionOrder": {
498
+ "summary": "description list misordered",
499
+ "why": "User cannot get help on the structure of a list",
463
500
  "wcag": "1.3.1",
464
- "weight": 3
501
+ "weight": 4
465
502
  },
466
- "textAreaNoText": {
467
- "summary": "text area not named",
468
- "why": "User cannot get help on what information to enter in a form item",
503
+ "descriptionOrphan": {
504
+ "summary": "description list orphan",
505
+ "why": "User cannot get help on whether an item is in a list",
469
506
  "wcag": "1.3.1",
470
507
  "weight": 4
471
508
  },
472
- "linkAltSame": {
473
- "summary": "link image alt duplicative",
474
- "why": "Helper repeats the explanation of a link",
475
- "wcag": "1.1.1",
476
- "weight": 2
477
- },
478
- "linkTextsSame": {
479
- "summary": "links named identically",
480
- "why": "User cannot get help differentiating links",
481
- "wcag": "2.4.4",
509
+ "destinationLink": {
510
+ "summary": "link href missing",
511
+ "why": "Helper cannot properly explain a link to a user",
512
+ "wcag": "1.3.1",
482
513
  "weight": 2
483
514
  },
484
- "linkConfusionRisk": {
485
- "summary": "links dubiously share name",
486
- "why": "User may be unable to get help differentiating links",
487
- "wcag": "2.4.4",
515
+ "destinationNotURL": {
516
+ "summary": "link destination not URL",
517
+ "why": "Helper cannot properly explain a link to a user",
518
+ "wcag": "1.3.1",
488
519
  "weight": 1
489
520
  },
490
- "linksNoNav": {
491
- "summary": "links not grouped as nav",
492
- "why": "User cannot get help identifying links as a navigation tool",
493
- "wcag": "1.3.1",
494
- "weight": 2
521
+ "dialogNoText": {
522
+ "summary": "dialog not named",
523
+ "why": "User cannot get help explaining a pop-up window",
524
+ "wcag": "4.1.2",
525
+ "weight": 4
495
526
  },
496
- "linkPair": {
497
- "summary": "adjacent links not combined",
498
- "why": "Keyboard-only user expends extra effort to skip a link",
499
- "wcag": "2.4.4",
500
- "weight": 2
527
+ "dirBad": {
528
+ "summary": "dir invalid",
529
+ "why": "Item may behave improperly",
530
+ "wcag": "4.1.2",
531
+ "weight": 1
501
532
  },
502
- "linkPairRisk": {
503
- "summary": "text and image link may merit combination",
504
- "why": "Keyboard-only user may expend extra effort to skip a link",
505
- "wcag": "2.4.4",
533
+ "directionRisk": {
534
+ "summary": "dubious direction",
535
+ "why": "Item may behave incorrectly",
536
+ "wcag": "1.3.2",
506
537
  "weight": 1
507
538
  },
508
- "linkNameRisk": {
509
- "summary": "image link text suspect",
510
- "why": "Keyboard-only user may misunderstand the effect of following a link",
511
- "wcag": "2.4.4",
539
+ "divInTable": {
540
+ "summary": "div embedded in table",
541
+ "why": "Blocks of content within a table cell may confuse a user",
542
+ "wcag": "1.4",
512
543
  "weight": 1
513
544
  },
514
- "pageNewWindow": {
515
- "summary": "page immediately opens window",
516
- "why": "User promised a page gets another page, too",
517
- "wcag": "3.2.5",
518
- "weight": 3,
545
+ "docHeadingNotH1": {
546
+ "summary": "primary heading not h1",
547
+ "why": "User cannot understand the topic of the page",
548
+ "wcag": "1.3.1",
549
+ "weight": 2,
519
550
  "max": 1
520
551
  },
521
- "newTabSurprise": {
522
- "summary": "tab-opening link action unstated",
523
- "why": "Following a link opens a new window, surprising a user",
524
- "wcag": "3.2.5",
552
+ "docTypeBad": {
553
+ "summary": "DOCTYPE invalid",
554
+ "why": "Browser processes the page improperly",
555
+ "wcag": "1.3.1",
556
+ "weight": 3,
557
+ "max": 1
558
+ },
559
+ "docTypeMisplaced": {
560
+ "summary": "DOCTYPE in invalid location",
561
+ "why": "Browser processes the page improperly",
562
+ "wcag": "1.3.1",
563
+ "weight": 4,
564
+ "max": 1
565
+ },
566
+ "docTypeMissing": {
567
+ "summary": "DOCTYPE missing",
568
+ "why": "Browser processes the page improperly",
569
+ "wcag": "1.3.1",
570
+ "weight": 4,
571
+ "max": 1
572
+ },
573
+ "documentConfusion": {
574
+ "summary": "page elements not distinctly named",
575
+ "why": "User cannot get help on how some of the page is organized",
576
+ "wcag": "1.3.6",
525
577
  "weight": 3
526
578
  },
527
- "newTabSurpriseRisk": {
528
- "summary": "tab-opening link action unstated?",
529
- "why": "Following a link opens a new window, possibly surprising a user",
530
- "wcag": "3.2.5",
531
- "weight": 1
579
+ "duplicateAttribute": {
580
+ "summary": "duplicate attribute",
581
+ "why": "Browser processes the page improperly",
582
+ "wcag": "4.1.1",
583
+ "weight": 2
532
584
  },
533
- "selectNavSurpriseRisk": {
534
- "summary": "navigating selection-change action unstated?",
535
- "why": "Changing a selected option opens a new window, possibly surprising a user",
536
- "wcag": "3.2.5",
537
- "weight": 1
585
+ "duplicateID": {
586
+ "summary": "ID not unique",
587
+ "why": "User may be pointed to the wrong item",
588
+ "wcag": "4.1.1",
589
+ "weight": 4
538
590
  },
539
- "preselectedOption": {
540
- "summary": "no default option",
541
- "why": "User may risk erroneously submitting a form",
542
- "wcag": "4.1.2",
543
- "weight": 1
591
+ "editableHow": {
592
+ "summary": "contenteditable element incomplete",
593
+ "why": "User cannot get help on how to edit editable content",
594
+ "wcag": "1.3.1",
595
+ "weight": 3
544
596
  },
545
- "selectBad": {
546
- "summary": "select element invalid",
547
- "why": "User cannot properly select among options",
597
+ "elementBad": {
598
+ "summary": "nonexistent element",
599
+ "why": "User cannot understand the content",
548
600
  "wcag": "4.1.2",
549
601
  "weight": 4
550
602
  },
551
- "buttonAlt": {
552
- "summary": "button has alt",
553
- "why": "User cannot get help explaing a button",
554
- "wcag": "4.1.2",
603
+ "elementClosure": {
604
+ "summary": "element closure invalid",
605
+ "why": "Document contains invalid code",
606
+ "wcag": "4.1.1",
607
+ "weight": 3
608
+ },
609
+ "elementLanguageBad": {
610
+ "summary": "element language invalid",
611
+ "why": "Speaking helper may mispronounce the text of an item",
612
+ "wcag": "3.1.2",
555
613
  "weight": 4
556
614
  },
557
- "buttonNoContent": {
558
- "summary": "button name not visible",
559
- "why": "User cannot get help explaining a button",
560
- "wcag": "4.1.2",
561
- "weight": 1
615
+ "elementObsolete": {
616
+ "summary": "element obsolete",
617
+ "why": "Document includes obsolete code that the browser may fail to process",
618
+ "wcag": "4.1",
619
+ "weight": 3
562
620
  },
563
- "buttonNoText": {
564
- "summary": "button not named",
565
- "why": "User cannot get help explaining a button",
566
- "wcag": "4.1.2",
621
+ "emailLinkBad": {
622
+ "summary": "Microsoft will bounce email from link",
623
+ "why": "User cannot send email",
624
+ "wcag": "2.4.4",
567
625
  "weight": 4
568
626
  },
569
- "menuItemNoText": {
570
- "summary": "menu item not named",
571
- "why": "User cannot get help explaing a menu item",
572
- "wcag": "4.1.2",
627
+ "encodingBad": {
628
+ "summary": "text not Unicode-compliant",
629
+ "why": "User cannot read all of the text",
630
+ "wcag": "3.1.3",
573
631
  "weight": 4
574
632
  },
575
- "parentMissing": {
576
- "summary": "parent missing",
577
- "why": "Keyboard-only user cannot operate a custom tool",
578
- "wcag": "1.3.1",
633
+ "encodingMisdeclared": {
634
+ "summary": "text encoding wrongly declared",
635
+ "why": "User cannot read all of the text",
636
+ "wcag": "3.1.3",
637
+ "weight": 4,
638
+ "max": 1
639
+ },
640
+ "encodingPrivate": {
641
+ "summary": "text in Private Use Area",
642
+ "why": "User cannot read all of the text",
643
+ "wcag": "3.1.3",
644
+ "weight": 4,
645
+ "max": 1
646
+ },
647
+ "entityBad": {
648
+ "summary": "named character reference invalid",
649
+ "why": "User may be unable to read all the page text",
650
+ "wcag": "4.1",
579
651
  "weight": 4
580
652
  },
581
- "descendantMissing": {
582
- "summary": "descendant missing",
583
- "why": "Keyboard-only user cannot operate a custom tool",
584
- "wcag": "1.3.1",
653
+ "errorReferenceBad": {
654
+ "summary": "error reference invalid",
655
+ "why": "User cannot correct a form error",
656
+ "wcag": "3.3.1",
585
657
  "weight": 4
586
658
  },
587
- "presentationChild": {
588
- "summary": "presentation element has child",
589
- "why": "Keyboard-only user cannot reach an item intended to be reachable",
659
+ "eventKeyboardRisk": {
660
+ "summary": "event not keyboard-triggerable?",
661
+ "why": "Keyboard-only user may be unable to perform an action",
662
+ "wcag": "2.1.1",
663
+ "weight": 1
664
+ },
665
+ "fatalError": {
666
+ "summary": "fatal error",
667
+ "why": "Document prevents testing for accessibility",
668
+ "wcag": "4.1",
669
+ "weight": 4,
670
+ "max": 1
671
+ },
672
+ "fieldSetMissing": {
673
+ "summary": "fieldset missing",
674
+ "why": "User cannot get help recognizing a group of related form items",
590
675
  "wcag": "1.3.1",
591
- "weight": 4
676
+ "weight": 2
592
677
  },
593
- "svgImageNoText": {
594
- "summary": "svg image not named",
595
- "why": "User cannot get help understanding an image",
678
+ "fieldSetRisk": {
679
+ "summary": "fieldset missing?",
680
+ "why": "User may be unable to get help recognizing a group of related form items",
681
+ "wcag": "1.3.1",
682
+ "weight": 1
683
+ },
684
+ "figureNoText": {
685
+ "summary": "figure not named",
686
+ "why": "User cannot get help on the topic of a figure",
596
687
  "wcag": "1.1.1",
597
688
  "weight": 4
598
689
  },
599
- "svgLabelID": {
600
- "summary": "svg label referent invalid",
601
- "why": "User cannot get help understanding an image",
602
- "wcag": "1.1.1",
690
+ "flash": {
691
+ "summary": "flash content",
692
+ "why": "Document includes code that may not work and may jeopardize user security",
693
+ "wcag": "4.1",
694
+ "weight": 1,
695
+ "max": 1
696
+ },
697
+ "flexBad": {
698
+ "summary": "CSS flex invalid",
699
+ "why": "Content is displayed improperly",
700
+ "wcag": "4.1",
603
701
  "weight": 4
604
702
  },
605
- "cssBansPageRotate": {
606
- "summary": "CSS bans page rotation",
607
- "why": "User must read sideways after rotating a device",
608
- "wcag": "1.3.4",
703
+ "focusableDescendants": {
704
+ "summary": "presentational child focusable",
705
+ "why": "Keyboard-only user cannot navigate properly to the operable items",
706
+ "wcag": "4.1.2",
609
707
  "weight": 4
610
708
  },
611
- "cssBansElementRotate": {
612
- "summary": "CSS bans element rotation",
613
- "why": "User must read sideways after rotating a device",
614
- "wcag": "1.3.4",
709
+ "focusableHidden": {
710
+ "summary": "focusable element hidden",
711
+ "why": "Keyboard-only user cannot navigate properly to the operable items",
712
+ "wcag": "4.1.2",
615
713
  "weight": 4
616
714
  },
617
- "orientationRisk": {
618
- "summary": "orientation issues not testable",
619
- "why": "User may need to read sideways after rotating a device",
620
- "wcag": "1.3.4",
621
- "weight": 1,
622
- "max": 1
715
+ "focusableOperable": {
716
+ "summary": "element focusability and operability conflict",
717
+ "why": "Keyboard-only user cannot operate an item",
718
+ "wcag": "2.1.1",
719
+ "weight": 3
623
720
  },
624
- "metaBansZoom": {
625
- "summary": "meta bans zoom",
626
- "why": "User cannot adjust the page size for readability",
627
- "wcag": "1.4.4",
628
- "weight": 4,
629
- "max": 1
721
+ "focusableRole": {
722
+ "summary": "focusable element not active",
723
+ "why": "Keyboard-only user cannot navigate properly to the operable items",
724
+ "wcag": "4.1.2",
725
+ "weight": 3
726
+ },
727
+ "focusDiscrepancy": {
728
+ "summary": "Tab-focusable elements wrong",
729
+ "why": "Item selections by a keyboard-only user are useless or impossible",
730
+ "wcag": "2.1.1",
731
+ "weight": 4
732
+ },
733
+ "focusedAway": {
734
+ "summary": "element beyond display when focused",
735
+ "why": "Keyboard-only user cannot navigate properly to the operable items",
736
+ "wcag": "1.4.10",
737
+ "weight": 3
738
+ },
739
+ "focusIndicationBad": {
740
+ "summary": "focus indication poor",
741
+ "why": "Keyboard-only user cannot choose an item to operate",
742
+ "wcag": "2.4.7",
743
+ "weight": 4
744
+ },
745
+ "focusIndicationImprovable": {
746
+ "summary": "focus indication improvable",
747
+ "why": "Keyboard-only user cannot easily choose an item to operate",
748
+ "wcag": "2.4.7",
749
+ "weight": 2
750
+ },
751
+ "focusIndicationRisk": {
752
+ "summary": "focus indication poor?",
753
+ "why": "Keyboard-only user cannot choose an item to operate",
754
+ "wcag": "2.4.7",
755
+ "weight": 1
630
756
  },
631
757
  "fontSizeAbsolute": {
632
758
  "summary": "font size absolute",
@@ -640,322 +766,302 @@ const issuesData = {
640
766
  "wcag": "1.4",
641
767
  "weight": 3
642
768
  },
643
- "horizontalSpacingFrozen": {
644
- "summary": "horizontal text spacing frozen",
645
- "why": "User cannot adjust the horizontal text spacing for readability",
646
- "wcag": "1.4.12",
647
- "weight": 4
648
- },
649
- "verticalSpacingFrozen": {
650
- "summary": "vertical text spacing frozen",
651
- "why": "User cannot adjust the vertical text spacing for readability",
652
- "wcag": "1.4.12",
653
- "weight": 4
654
- },
655
- "lineHeightAbsolute": {
656
- "summary": "line height absolute",
657
- "why": "User cannot adjust the line height of text for readability",
658
- "wcag": "1.4.12",
659
- "weight": 2
660
- },
661
- "lineHeightLow": {
662
- "summary": "line height low",
663
- "why": "Text is difficult to read",
664
- "wcag": "1.4.8",
665
- "weight": 2
666
- },
667
- "lineHeightBad": {
668
- "summary": "line height misdefined",
669
- "why": "Text is difficult to read",
670
- "wcag": "1.4.8",
671
- "weight": 4
769
+ "footerConfusion": {
770
+ "summary": "contentinfos not distinctly named",
771
+ "why": "User cannot get help on how some of the page is organized",
772
+ "wcag": "1.3.6",
773
+ "weight": 3
672
774
  },
673
- "overflowHidden": {
674
- "summary": "overflow hidden",
675
- "why": "User cannot enlarge the text for readability",
676
- "wcag": "1.4.4",
677
- "weight": 4
775
+ "footerNot1": {
776
+ "summary": "multiple contentinfos",
777
+ "why": "User cannot get help on how some of the page is organized",
778
+ "wcag": "1.3.6",
779
+ "weight": 2,
780
+ "max": 1
678
781
  },
679
- "overflowHiddenRisk": {
680
- "summary": "overflow hidden?",
681
- "why": "User may be unable to enlarge the text for readability",
682
- "wcag": "1.4.4",
782
+ "footerNotTop": {
783
+ "summary": "footer child of landmark",
784
+ "why": "User cannot get help on how some of the page is organized",
785
+ "wcag": "1.3.6",
683
786
  "weight": 1
684
787
  },
685
- "boxSizeAbsolute": {
686
- "summary": "box size absolute",
687
- "why": "User cannot enlarge the content of an item for readability",
688
- "wcag": "1.4.4",
788
+ "formConfusion": {
789
+ "summary": "forms not distinctly named",
790
+ "why": "User cannot get help on how some of the page is organized",
791
+ "wcag": "1.3.6",
689
792
  "weight": 3
690
793
  },
691
- "elementBad": {
692
- "summary": "nonexistent element",
693
- "why": "User cannot understand the content",
694
- "wcag": "4.1.2",
695
- "weight": 4
696
- },
697
- "titleBad": {
698
- "summary": "title attribute invalid",
699
- "why": "User gets too little, too much, or repeated help explaining an item",
700
- "wcag": "1.3.1",
794
+ "formInTable": {
795
+ "summary": "form embedded in table",
796
+ "why": "Navigation in a form may confuse a keyboard-only user",
797
+ "wcag": "2.1.1",
701
798
  "weight": 1
702
799
  },
703
- "baseElementMissing": {
704
- "summary": "base element missing where required",
705
- "why": "Browser cannot find a needed external resource",
706
- "wcag": "1.3.1",
707
- "weight": 4
708
- },
709
- "linkElementMisplaced": {
710
- "summary": "link element misplaced",
711
- "why": "Document fails to get a needed external resource",
712
- "wcag": "1.3.1",
800
+ "formsNested": {
801
+ "summary": "form nested in another form",
802
+ "why": "User cannot predict effect of actions in a form",
803
+ "wcag": "4.1",
713
804
  "weight": 4
714
805
  },
715
- "linkElementBad": {
716
- "summary": "link element invalid",
717
- "why": "Document fails to get a needed external resource",
718
- "wcag": "1.3.1",
719
- "weight": 4
806
+ "formSurpriseRisk": {
807
+ "summary": "form interaction changes content?",
808
+ "why": "User experiences unexpected page change when using a form",
809
+ "wcag": "3.2.5",
810
+ "weight": 1
720
811
  },
721
- "metaAttributesWrong": {
722
- "summary": "prohibited or missing meta attributes",
723
- "why": "Browser processes the page incorrectly",
724
- "wcag": "4.1",
725
- "weight": 3
812
+ "fragmentaryNoticeRisk": {
813
+ "summary": "assertive region not atomic",
814
+ "why": "User may be unable to get help on what content has changed",
815
+ "wcag": "4.1.3",
816
+ "weight": 2
726
817
  },
727
- "metaAttributeBad": {
728
- "summary": "meta attribute value invalid",
729
- "why": "Browser processes the page incorrectly",
818
+ "frameSandboxRisk": {
819
+ "summary": "iframe sandbox attributes risky",
820
+ "why": "Document may be unsafe to use",
730
821
  "wcag": "4.1",
731
- "weight": 3
822
+ "weight": 2
732
823
  },
733
- "metaDuplicated": {
734
- "summary": "meta element duplicated",
735
- "why": "Browser may process the page incorrectly",
824
+ "gapBad": {
825
+ "summary": "CSS gap invalid",
826
+ "why": "Content is displayed improperly",
736
827
  "wcag": "4.1",
737
- "weight": 3
828
+ "weight": 4
738
829
  },
739
- "metaCharsetLate": {
740
- "summary": "meta charset declared too late",
741
- "why": "Browser may display incorrect text",
742
- "wcag": "4.1",
830
+ "governedBadID": {
831
+ "summary": "aria-controls or -owns invalid",
832
+ "why": "Keyboard-only user cannot reach an item",
833
+ "wcag": "1.3.1",
743
834
  "weight": 4
744
835
  },
745
- "metaXUACompatible": {
746
- "summary": "meta X-UA-Compatible incomplete",
747
- "why": "Internet Explorer may display the page incorrectly",
748
- "wcag": "4.1",
836
+ "groupName": {
837
+ "summary": "group not named",
838
+ "why": "User cannot get help on the topic of a group of form items",
839
+ "wcag": "4.1.2",
749
840
  "weight": 3
750
841
  },
751
- "metaMisplaced": {
752
- "summary": "meta element in invalid location",
753
- "why": "Browser may process the page incorrectly",
754
- "wcag": "4.1",
755
- "weight": 4
842
+ "h1Not1": {
843
+ "summary": "not exactly 1 h1 heading",
844
+ "why": "User cannot understand the topic of the page",
845
+ "wcag": "1.3.1",
846
+ "weight": 2,
847
+ "max": 1
756
848
  },
757
- "stylesheetBanned": {
758
- "summary": "stylesheet prohibited",
759
- "why": "Browser displays the page improperly",
760
- "wcag": "1.4",
761
- "weight": 3
849
+ "h1Not1st": {
850
+ "summary": "h1 not 1st heading",
851
+ "why": "User cannot understand the topic of the page",
852
+ "wcag": "1.3.1",
853
+ "weight": 3,
854
+ "max": 1
762
855
  },
763
- "scriptNotDeferrable": {
764
- "summary": "script element invalidly deferred",
765
- "why": "Browser processes the page improperly",
856
+ "haspopupBad": {
857
+ "summary": "aria-haspopup invalid",
858
+ "why": "Keyboard-only user cannot operate a custom tool",
766
859
  "wcag": "1.3.1",
767
860
  "weight": 4
768
861
  },
769
- "scriptBanned": {
770
- "summary": "script prohibited",
862
+ "headElementsBad": {
863
+ "summary": "element in head invalid",
771
864
  "why": "Browser processes the page improperly",
772
- "wcag": "4.1",
865
+ "wcag": "4.1.1",
773
866
  "weight": 3
774
867
  },
775
- "scriptElementBad": {
776
- "summary": "script element invalid",
777
- "why": "Browser processes the page improperly",
868
+ "headingConfusion": {
869
+ "summary": "heading names repeated",
870
+ "why": "User cannot differentiate parts of the page",
778
871
  "wcag": "1.3.1",
872
+ "weight": 2
873
+ },
874
+ "headingEmpty": {
875
+ "summary": "heading empty",
876
+ "why": "User cannot get help on the topic of a part of the page",
877
+ "wcag": "2.4.6",
878
+ "weight": 3
879
+ },
880
+ "headingImageNoText": {
881
+ "summary": "heading image not named",
882
+ "why": "User cannot get help understanding an image used as a heading",
883
+ "wcag": "1.1.1",
779
884
  "weight": 4
780
885
  },
781
- "specRulesScriptBad": {
782
- "summary": "speculation rules script element invalid",
783
- "why": "Document navigation performs poorly",
886
+ "headingLength": {
887
+ "summary": "heading abnormally long",
888
+ "why": "User has difficulty understanding the topic of a part of the page",
784
889
  "wcag": "1.3.1",
785
890
  "weight": 1
786
891
  },
787
- "itemIDBad": {
788
- "summary": "itemid invalid",
789
- "why": "User cannot get help to identify a referent",
892
+ "headingLevelSkip": {
893
+ "summary": "heading level skipped",
894
+ "why": "Helper misdescribes the page",
790
895
  "wcag": "1.3.1",
791
- "weight": 4
896
+ "weight": 2
792
897
  },
793
- "itemTypeBad": {
794
- "summary": "itemtype invalid",
795
- "why": "User cannot get help on the definition of a term",
898
+ "headingMisuseRisk": {
899
+ "summary": "heading used for styling?",
900
+ "why": "User cannot understand the page structure",
796
901
  "wcag": "1.3.1",
797
- "weight": 4
902
+ "weight": 2
798
903
  },
799
- "iframeTitleBad": {
800
- "summary": "iframe not named",
801
- "why": "User cannot get help on the topic of an embedded page",
802
- "wcag": "4.1.2",
803
- "weight": 4
904
+ "headingNone": {
905
+ "summary": "headings missing",
906
+ "why": "User cannot survey parts of the page",
907
+ "wcag": "1.3.1",
908
+ "weight": 3,
909
+ "max": 1
804
910
  },
805
- "roleBad": {
806
- "summary": "role invalid",
807
- "why": "User cannot get help on the nature of an item",
808
- "wcag": "4.1.2",
809
- "weight": 3
911
+ "headingOfNothing": {
912
+ "summary": "heading heads nothing",
913
+ "why": "Helper misdescribes the page",
914
+ "wcag": "1.3.1",
915
+ "weight": 2
810
916
  },
811
- "roleHierarchyBad": {
812
- "summary": "ancestor and descendant roles incompatible",
813
- "why": "User may misunderstand or be blocked from exposure to an item",
917
+ "headingsEmbedded": {
918
+ "summary": "heading within a heading",
919
+ "why": "User cannot understand the page organization",
814
920
  "wcag": "4.1.2",
815
921
  "weight": 4
816
922
  },
817
- "roleRedundant": {
818
- "summary": "role redundant",
819
- "why": "Document includes unnecessary code",
820
- "wcag": "4.1.2",
821
- "weight": 1
923
+ "headingStructure": {
924
+ "summary": "heading structure illogical",
925
+ "why": "Helper misdescribes the page",
926
+ "wcag": "1.3.1",
927
+ "weight": 2
822
928
  },
823
- "roleConfusion": {
824
- "summary": "role assigned instead of implicit",
825
- "why": "User may misunderstand the purpose of an item",
826
- "wcag": "4.1.2",
929
+ "hideFailureRisk": {
930
+ "summary": "false aria-hidden value risky",
931
+ "why": "User may be misled by erroneously hidden or revealed page content",
932
+ "wcag": "2.4.6",
827
933
  "weight": 1
828
934
  },
829
- "dirBad": {
830
- "summary": "dir invalid",
831
- "why": "Item may behave improperly",
832
- "wcag": "4.1.2",
935
+ "horizontalSpacingFrozen": {
936
+ "summary": "horizontal text spacing frozen",
937
+ "why": "User cannot adjust the horizontal text spacing for readability",
938
+ "wcag": "1.4.12",
939
+ "weight": 4
940
+ },
941
+ "hoverIndication": {
942
+ "summary": "hover indication poor",
943
+ "why": "User cannot explore the page reliably with a mouse",
944
+ "wcag": "3.3.2",
945
+ "weight": 3
946
+ },
947
+ "hoverSurprise": {
948
+ "summary": "hovering changes content",
949
+ "why": "User cannot explore the page reliably with a mouse",
950
+ "wcag": "3.2.5",
833
951
  "weight": 1
834
952
  },
835
- "attributeBad": {
836
- "summary": "attribute invalid",
837
- "why": "Item behaves improperly",
953
+ "hrConfusionRisk": {
954
+ "summary": "hr misused",
955
+ "why": "User cannot get help on the nature of segments of the page",
838
956
  "wcag": "1.3.1",
839
- "weight": 4
957
+ "weight": 1
840
958
  },
841
- "sizesAttributeBad": {
842
- "summary": "sizes attribute invalid",
959
+ "idEmpty": {
960
+ "summary": "ID empty",
843
961
  "why": "Item behaves improperly",
844
962
  "wcag": "1.3.1",
845
963
  "weight": 4
846
964
  },
847
- "attributeValueBad": {
848
- "summary": "attribute value invalid",
849
- "why": "Item behaves improperly",
850
- "wcag": "1.3.1",
965
+ "iframeTitleBad": {
966
+ "summary": "iframe not named",
967
+ "why": "User cannot get help on the topic of an embedded page",
968
+ "wcag": "4.1.2",
851
969
  "weight": 4
852
970
  },
853
- "attributeValueRisk": {
854
- "summary": "attribute value bad?",
855
- "why": "Item may behave improperly",
856
- "wcag": "4.1.2",
971
+ "ignorable": {
972
+ "summary": "ignorable",
973
+ "why": "No known impact, because the test is unreliable or invalid",
974
+ "wcag": "",
857
975
  "weight": 1
858
976
  },
859
- "attributeMissing": {
860
- "summary": "attribute missing",
861
- "why": "Item behaves improperly",
862
- "wcag": "4.1.2",
863
- "weight": 4
864
- },
865
- "roleMissing": {
866
- "summary": "role missing",
867
- "why": "Item behaves improperly",
868
- "wcag": "4.1.2",
977
+ "imageBanned": {
978
+ "summary": "image prohibited",
979
+ "why": "Browser fails to display an image",
980
+ "wcag": "1.4",
869
981
  "weight": 3
870
982
  },
871
- "roleMissingRisk": {
872
- "summary": "role missing?",
873
- "why": "Item may behave improperly",
874
- "wcag": "4.1.2",
875
- "weight": 1
876
- },
877
- "ariaMissing": {
878
- "summary": "aria attribute missing",
879
- "why": "Item behaves improperly",
880
- "wcag": "4.1.2",
983
+ "imageButtonNoText": {
984
+ "summary": "image button not named",
985
+ "why": "User cannot get help understanding an image used as a button",
986
+ "wcag": "1.1.1",
881
987
  "weight": 4
882
988
  },
883
- "ariaMissingRisk": {
884
- "summary": "aria attribute missing?",
885
- "why": "Item may behave improperly",
886
- "wcag": "4.1.2",
887
- "weight": 2
888
- },
889
- "ariaAttributeBad": {
890
- "summary": "aria attribute invalid",
891
- "why": "Item behavior violates user expectations",
892
- "wcag": "4.1.2",
989
+ "imageInputNoText": {
990
+ "summary": "image input not named",
991
+ "why": "User cannot get help understanding an image used as a submission button",
992
+ "wcag": "1.1.1",
893
993
  "weight": 4
894
994
  },
895
- "ariaRedundant": {
896
- "summary": "aria attribute redundant",
897
- "why": "Document includes unnecessary code",
898
- "wcag": "4.1.2",
899
- "weight": 1
900
- },
901
- "ariaVersusHTML": {
902
- "summary": "aria and HTML attributes have conflicting value",
903
- "why": "User gets erroneous help with content",
904
- "wcag": "4.1.2",
995
+ "imageLinkNoText": {
996
+ "summary": "image link not named",
997
+ "why": "User cannot get help understanding what a link points to",
998
+ "wcag": "2.4.4",
905
999
  "weight": 4
906
1000
  },
907
- "ariaReferenceBad": {
908
- "summary": "aria reference invalid",
909
- "why": "Item behavior violates user expectations",
910
- "wcag": "1.3.1",
1001
+ "imageMapAreaNoText": {
1002
+ "summary": "image map area not named",
1003
+ "why": "User cannot get help on how to use an interactive image",
1004
+ "wcag": "1.1.1",
911
1005
  "weight": 4
912
1006
  },
913
- "autocompleteBad": {
914
- "summary": "autocomplete invalid",
915
- "why": "User cannot get help entering personal information in a form item",
916
- "wcag": "1.3.5",
917
- "weight": 3
1007
+ "imageMapNoText": {
1008
+ "summary": "image map not named",
1009
+ "why": "User cannot get help on the topic of an interactive image",
1010
+ "wcag": "1.1.1",
1011
+ "weight": 4
918
1012
  },
919
- "autocompleteNone": {
920
- "summary": "autocomplete missing",
921
- "why": "User cannot get help entering personal information in a form",
922
- "wcag": "1.3.5",
1013
+ "imageNoText": {
1014
+ "summary": "image not named",
1015
+ "why": "User cannot get help to know what is in an image",
1016
+ "wcag": "1.1.1",
923
1017
  "weight": 4
924
1018
  },
925
- "autocompleteRisk": {
926
- "summary": "autocomplete dubious",
927
- "why": "User may fail to get help entering personal information in a form item",
928
- "wcag": "1.3.5",
1019
+ "imagesSameAlt": {
1020
+ "summary": "nearby images have same alt",
1021
+ "why": "User cannot get help differentiating two adjacent images",
1022
+ "wcag": "1.1.1",
929
1023
  "weight": 1
930
1024
  },
931
- "requirementBad": {
932
- "summary": "requirement invalid",
933
- "why": "User may fail to get help determining whether a form item must be completed",
934
- "wcag": "1.3.5",
935
- "weight": 4
1025
+ "imageTextBad": {
1026
+ "summary": "image named with filename",
1027
+ "why": "Helper gives a user the filename of an image instead of describing it",
1028
+ "wcag": "1.1.1",
1029
+ "weight": 3
936
1030
  },
937
- "requirementRedundant": {
938
- "summary": "requirement redundant",
939
- "why": "Help determining whether a form item must be completed is at risk of corruption",
940
- "wcag": "1.3.5",
1031
+ "imageTextImage": {
1032
+ "summary": "image name contains image",
1033
+ "why": "User is redundantly told an image is an image",
1034
+ "wcag": "1.1.1",
941
1035
  "weight": 1
942
1036
  },
943
- "contrastAA": {
944
- "summary": "contrast poor",
945
- "why": "Content is difficult to understand",
946
- "wcag": "1.4.3",
947
- "weight": 4
1037
+ "imageTextLong": {
1038
+ "summary": "image alt long",
1039
+ "why": "Helper gives a user an overly verbose explanation of an image",
1040
+ "wcag": "1.1.1",
1041
+ "weight": 2
948
1042
  },
949
- "contrastAAA": {
950
- "summary": "text contrast improvable",
951
- "why": "Content is not easy to understand",
952
- "wcag": "1.4.6",
1043
+ "imageTextRedundant": {
1044
+ "summary": "image name redundant",
1045
+ "why": "Helper repeats the explanation of an image",
1046
+ "wcag": "1.1.1",
953
1047
  "weight": 1
954
1048
  },
955
- "contrastRisk": {
956
- "summary": "text contrast not testable",
957
- "why": "Text may be difficult to read",
958
- "wcag": "1.4.3",
1049
+ "imageTextRisk": {
1050
+ "summary": "image dubiously named",
1051
+ "why": "Helper may describe an image inadequately",
1052
+ "wcag": "1.1.1",
1053
+ "weight": 1
1054
+ },
1055
+ "imageTextSpaces": {
1056
+ "summary": "image name contains only spacing characters",
1057
+ "why": "User cannot get help understanding an image",
1058
+ "wcag": "1.1.1",
1059
+ "weight": 4
1060
+ },
1061
+ "inconsistentStyles": {
1062
+ "summary": "inconsistent heading, link, or button styles",
1063
+ "why": "User cannot easily distinguish items of different types",
1064
+ "wcag": "3.2.4",
959
1065
  "weight": 1
960
1066
  },
961
1067
  "infoNeedsColor": {
@@ -964,943 +1070,1018 @@ const issuesData = {
964
1070
  "wcag": "1.4.1",
965
1071
  "weight": 1
966
1072
  },
967
- "colorNamedRisk": {
968
- "summary": "color perception required?",
969
- "why": "Content is impossible to perceive under some conditions",
970
- "wcag": "1.4.1",
1073
+ "inputInTable": {
1074
+ "summary": "input embedded in table",
1075
+ "why": "Entry of data in a form may confuse a keyboard-only user",
1076
+ "wcag": "2.1.1",
971
1077
  "weight": 1
972
1078
  },
973
- "sensoryDependenceRisk": {
974
- "summary": "instruction requires particular sense?",
975
- "why": "Content is impossible to perceive under some conditions",
976
- "wcag": "1.4.1",
1079
+ "inputLabelInvisibleRisk": {
1080
+ "summary": "input label invisible?",
1081
+ "why": "User cannot understand where to enter information",
1082
+ "wcag": "2.4.6",
977
1083
  "weight": 1
978
1084
  },
979
- "idEmpty": {
980
- "summary": "ID empty",
981
- "why": "Item behaves improperly",
982
- "wcag": "1.3.1",
983
- "weight": 4
984
- },
985
- "targetEmpty": {
986
- "summary": "target empty",
987
- "why": "Item is displayed improperly",
988
- "wcag": "1.3.1",
989
- "weight": 4
990
- },
991
- "headingsEmbedded": {
992
- "summary": "heading within a heading",
993
- "why": "User cannot understand the page organization",
1085
+ "inputNoText": {
1086
+ "summary": "input not named",
1087
+ "why": "User cannot get help on what information to enter in a form item",
994
1088
  "wcag": "4.1.2",
995
1089
  "weight": 4
996
1090
  },
997
- "headingEmpty": {
998
- "summary": "heading empty",
999
- "why": "User cannot get help on the topic of a part of the page",
1000
- "wcag": "2.4.6",
1091
+ "inputOnlyPlaceholder": {
1092
+ "summary": "input has placeholder instead of name",
1093
+ "why": "User cannot get reliable help on what information to enter in a form item",
1094
+ "wcag": "4.1.2",
1001
1095
  "weight": 3
1002
1096
  },
1003
- "headingOfNothing": {
1004
- "summary": "heading heads nothing",
1005
- "why": "Helper misdescribes the page",
1097
+ "internalLinkBroken": {
1098
+ "summary": "internal link broken",
1099
+ "why": "User cannot reach a promised page location",
1006
1100
  "wcag": "1.3.1",
1007
- "weight": 2
1101
+ "weight": 4
1008
1102
  },
1009
- "typeBad": {
1010
- "summary": "type invalid",
1011
- "why": "Document styles are at risk of corruption",
1103
+ "itemIDBad": {
1104
+ "summary": "itemid invalid",
1105
+ "why": "User cannot get help to identify a referent",
1012
1106
  "wcag": "1.3.1",
1013
1107
  "weight": 4
1014
1108
  },
1015
- "typeRedundant": {
1016
- "summary": "type redundant",
1017
- "why": "Document includes unnecessary code",
1109
+ "itemTypeBad": {
1110
+ "summary": "itemtype invalid",
1111
+ "why": "User cannot get help on the definition of a term",
1018
1112
  "wcag": "1.3.1",
1019
- "weight": 1
1113
+ "weight": 4
1020
1114
  },
1021
- "imageTextRedundant": {
1022
- "summary": "image name redundant",
1023
- "why": "Helper repeats the explanation of an image",
1024
- "wcag": "1.1.1",
1025
- "weight": 1
1026
- },
1027
- "decorativeTitle": {
1028
- "summary": "decorative element has title",
1029
- "why": "Hovering-produced information is denied to a keyboard-only user",
1030
- "wcag": "1.3.1",
1115
+ "justification": {
1116
+ "summary": "text fully justified",
1117
+ "why": "Text is difficult to read",
1118
+ "wcag": "1.4.8",
1031
1119
  "weight": 2
1032
1120
  },
1033
- "titleRedundant": {
1034
- "summary": "title attribute redundant",
1035
- "why": "Helper repeats the explanation of an item",
1036
- "wcag": "1.3.1",
1121
+ "justificationRisk": {
1122
+ "summary": "justification undefined?",
1123
+ "why": "Text may be difficult to read",
1124
+ "wcag": "1.4.8",
1037
1125
  "weight": 1
1038
1126
  },
1039
- "titleEmpty": {
1040
- "summary": "title attribute empty",
1041
- "why": "Hovering does not get the promised explanation of an item",
1042
- "wcag": "1.3.1",
1043
- "weight": 1
1127
+ "keyboardScroll": {
1128
+ "summary": "element not scrollable",
1129
+ "why": "Keyboard-only user cannot scroll an item",
1130
+ "wcag": "2.1.1",
1131
+ "weight": 4
1044
1132
  },
1045
- "docTypeMissing": {
1046
- "summary": "DOCTYPE missing",
1047
- "why": "Browser processes the page improperly",
1133
+ "labelBadID": {
1134
+ "summary": "label reference invalid",
1135
+ "why": "User cannot get help understanding an item in a form",
1048
1136
  "wcag": "1.3.1",
1049
- "weight": 4,
1050
- "max": 1
1137
+ "weight": 4
1051
1138
  },
1052
- "docTypeMisplaced": {
1053
- "summary": "DOCTYPE in invalid location",
1054
- "why": "Browser processes the page improperly",
1139
+ "labelClash": {
1140
+ "summary": "label types incompatible",
1141
+ "why": "User cannot get reliable help on the topics of form items",
1055
1142
  "wcag": "1.3.1",
1056
- "weight": 4,
1057
- "max": 1
1143
+ "weight": 2
1058
1144
  },
1059
- "docTypeBad": {
1060
- "summary": "DOCTYPE invalid",
1061
- "why": "Browser processes the page improperly",
1062
- "wcag": "1.3.1",
1063
- "weight": 3,
1064
- "max": 1
1145
+ "labelConfusionRisk": {
1146
+ "summary": "label location dubious",
1147
+ "why": "User may fail to notice the explanation of an item in a form",
1148
+ "wcag": "3.3.2",
1149
+ "weight": 1
1065
1150
  },
1066
- "pageTitleBad": {
1067
- "summary": "page title invalid",
1068
- "why": "Browser processes the page improperly",
1151
+ "labeledHidden": {
1152
+ "summary": "control hidden but labeled",
1153
+ "why": "Document includes unnecessary code",
1069
1154
  "wcag": "1.3.1",
1070
- "weight": 3,
1071
- "max": 1
1072
- },
1073
- "pageTitle": {
1074
- "summary": "page title missing",
1075
- "why": "User is not informed of the topic of the page",
1076
- "wcag": "2.4.2",
1077
- "weight": 4,
1078
- "max": 1
1155
+ "weight": 1
1079
1156
  },
1080
- "headElementsBad": {
1081
- "summary": "element in head invalid",
1082
- "why": "Browser processes the page improperly",
1083
- "wcag": "4.1.1",
1157
+ "labelEmpty": {
1158
+ "summary": "label empty",
1159
+ "why": "User cannot get help on the topics of form items",
1160
+ "wcag": "1.3.1",
1084
1161
  "weight": 3
1085
1162
  },
1086
- "headingLevelSkip": {
1087
- "summary": "heading level skipped",
1088
- "why": "Helper misdescribes the page",
1163
+ "labelForBad": {
1164
+ "summary": "label referent ineligible",
1165
+ "why": "User cannot get help understanding an item in a form",
1089
1166
  "wcag": "1.3.1",
1090
- "weight": 2
1167
+ "weight": 4
1091
1168
  },
1092
- "headingStructure": {
1093
- "summary": "heading structure illogical",
1094
- "why": "Helper misdescribes the page",
1169
+ "labelNot1": {
1170
+ "summary": "element referenced by multiple labels",
1171
+ "why": "User cannot get reliable help on the topics of form items",
1095
1172
  "wcag": "1.3.1",
1096
- "weight": 2
1173
+ "weight": 1
1097
1174
  },
1098
- "headingConfusion": {
1099
- "summary": "heading names repeated",
1100
- "why": "User cannot differentiate parts of the page",
1175
+ "labelNoText": {
1176
+ "summary": "label not named",
1177
+ "why": "User cannot get help on the topic of a form item",
1101
1178
  "wcag": "1.3.1",
1102
- "weight": 2
1179
+ "weight": 4
1103
1180
  },
1104
- "headingMisuseRisk": {
1105
- "summary": "heading used for styling?",
1106
- "why": "User cannot understand the page structure",
1107
- "wcag": "1.3.1",
1108
- "weight": 2
1181
+ "labelRisk": {
1182
+ "summary": "labeling risky",
1183
+ "why": "User may misunderstand a form control",
1184
+ "wcag": "3.3.2",
1185
+ "weight": 1
1109
1186
  },
1110
- "headingNone": {
1111
- "summary": "headings missing",
1112
- "why": "User cannot survey parts of the page",
1113
- "wcag": "1.3.1",
1114
- "weight": 3,
1115
- "max": 1
1187
+ "landmarkConfusion": {
1188
+ "summary": "landmarks not distinctly named",
1189
+ "why": "User cannot get help on how some of the page is organized",
1190
+ "wcag": "1.3.6",
1191
+ "weight": 3
1116
1192
  },
1117
- "h1Not1": {
1118
- "summary": "not exactly 1 h1 heading",
1119
- "why": "User cannot understand the topic of the page",
1120
- "wcag": "1.3.1",
1121
- "weight": 2,
1122
- "max": 1
1193
+ "landmarkInNav": {
1194
+ "summary": "invalid landmark child of navigation role",
1195
+ "why": "User cannot get help on how some of the page is organized",
1196
+ "wcag": "1.3.6",
1197
+ "weight": 4
1123
1198
  },
1124
- "h1Not1st": {
1125
- "summary": "h1 not 1st heading",
1126
- "why": "User cannot understand the topic of the page",
1127
- "wcag": "1.3.1",
1128
- "weight": 3,
1129
- "max": 1
1199
+ "languageChange": {
1200
+ "summary": "language change invalid",
1201
+ "why": "Speaking helper may mispronounce the text of an item",
1202
+ "wcag": "3.1.2",
1203
+ "weight": 3
1130
1204
  },
1131
- "docHeadingNotH1": {
1132
- "summary": "primary heading not h1",
1133
- "why": "User cannot understand the topic of the page",
1205
+ "layoutTable": {
1206
+ "summary": "table misused",
1207
+ "why": "Helper misinforms a user about whether items are cells of a table",
1134
1208
  "wcag": "1.3.1",
1135
- "weight": 2,
1136
- "max": 1
1209
+ "weight": 2
1137
1210
  },
1138
- "articleHeadingless": {
1139
- "summary": "article heading missing",
1140
- "why": "User cannot understand the topic of a part of the page",
1141
- "wcag": "1.3.1",
1142
- "weight": 1
1211
+ "legendMisplaced": {
1212
+ "summary": "legend location invalid",
1213
+ "why": "User cannot get help on the topic of a group of form items",
1214
+ "wcag": "4.1.2",
1215
+ "weight": 4
1143
1216
  },
1144
- "sectionHeadingless": {
1145
- "summary": "section heading missing",
1146
- "why": "User cannot understand the topic of a part of the page",
1147
- "wcag": "1.3.1",
1148
- "weight": 1
1217
+ "legendMissing": {
1218
+ "summary": "legend missing",
1219
+ "why": "User cannot get help on the topic of a group of form items",
1220
+ "wcag": "4.1.2",
1221
+ "weight": 2
1149
1222
  },
1150
- "headingLength": {
1151
- "summary": "heading abnormally long",
1152
- "why": "User has difficulty understanding the topic of a part of the page",
1153
- "wcag": "1.3.1",
1154
- "weight": 1
1223
+ "lineHeightAbsolute": {
1224
+ "summary": "line height absolute",
1225
+ "why": "User cannot adjust the line height of text for readability",
1226
+ "wcag": "1.4.12",
1227
+ "weight": 2
1155
1228
  },
1156
- "blockQuoteShort": {
1157
- "summary": "block quote abnormally short",
1158
- "why": "Content can be made easier to read",
1229
+ "lineHeightBad": {
1230
+ "summary": "line height misdefined",
1231
+ "why": "Text is difficult to read",
1159
1232
  "wcag": "1.4.8",
1160
- "weight": 1
1233
+ "weight": 4
1161
1234
  },
1162
- "justification": {
1163
- "summary": "text fully justified",
1235
+ "lineHeightLow": {
1236
+ "summary": "line height low",
1164
1237
  "why": "Text is difficult to read",
1165
1238
  "wcag": "1.4.8",
1166
1239
  "weight": 2
1167
1240
  },
1168
- "justificationRisk": {
1169
- "summary": "justification undefined?",
1170
- "why": "Text may be difficult to read",
1171
- "wcag": "1.4.8",
1172
- "weight": 1
1241
+ "linkAltSame": {
1242
+ "summary": "link image alt duplicative",
1243
+ "why": "Helper repeats the explanation of a link",
1244
+ "wcag": "1.1.1",
1245
+ "weight": 2
1173
1246
  },
1174
- "nonSemanticText": {
1175
- "summary": "semantic properties represented with styles",
1176
- "why": "User cannot get help to fully understand the text",
1247
+ "linkBrokenRisk": {
1248
+ "summary": "link incomplete",
1249
+ "why": "User may fail to reach a promised location",
1177
1250
  "wcag": "1.3.1",
1178
1251
  "weight": 2
1179
1252
  },
1180
- "hrConfusionRisk": {
1181
- "summary": "hr misused",
1182
- "why": "User cannot get help on the nature of segments of the page",
1183
- "wcag": "1.3.1",
1253
+ "linkConfusionRisk": {
1254
+ "summary": "links dubiously share name",
1255
+ "why": "User may be unable to get help differentiating links",
1256
+ "wcag": "2.4.4",
1184
1257
  "weight": 1
1185
1258
  },
1186
- "pseudoCodeRisk": {
1187
- "summary": "pre use dubious",
1188
- "why": "User may be unable to get help to fully understand the text",
1259
+ "linkElementBad": {
1260
+ "summary": "link element invalid",
1261
+ "why": "Document fails to get a needed external resource",
1189
1262
  "wcag": "1.3.1",
1190
- "weight": 1
1263
+ "weight": 4
1191
1264
  },
1192
- "pseudoParagraphRisk": {
1193
- "summary": "double br use dubious",
1194
- "why": "User may be unable to get help to fully understand the text",
1265
+ "linkElementMisplaced": {
1266
+ "summary": "link element misplaced",
1267
+ "why": "Document fails to get a needed external resource",
1195
1268
  "wcag": "1.3.1",
1196
- "weight": 1
1269
+ "weight": 4
1197
1270
  },
1198
- "pseudoHeadingRisk": {
1199
- "summary": "heading-like styles dubious",
1200
- "why": "User may be unable to understand the topic of a part of the page",
1201
- "wcag": "1.3.1",
1202
- "weight": 1
1271
+ "linkElNoHref": {
1272
+ "summary": "link element href missing",
1273
+ "why": "User cannot reach a promised location",
1274
+ "wcag": "4.1",
1275
+ "weight": 3
1203
1276
  },
1204
- "pseudoLinkScriptRisk": {
1205
- "summary": "script used instead of link",
1206
- "why": "Link may misbehave",
1207
- "wcag": "1.3.1",
1208
- "weight": 1
1277
+ "linkElNoSource": {
1278
+ "summary": "link element href or imagesrcset missing",
1279
+ "why": "User cannot reach a promised location",
1280
+ "wcag": "4.1",
1281
+ "weight": 3
1209
1282
  },
1210
- "pseudoLinkUnderlineRisk": {
1211
- "summary": "underlining dubious",
1212
- "why": "User may be misled into believing some text is a link",
1213
- "wcag": "1.3.1",
1283
+ "linkFileName": {
1284
+ "summary": "link names a file instead of a purpose",
1285
+ "why": "User may fail to understand what a link points to",
1286
+ "wcag": "2.4.4",
1214
1287
  "weight": 1
1215
1288
  },
1216
- "listChild": {
1217
- "summary": "list child invalid",
1218
- "why": "User cannot get help on which items are in a list",
1219
- "wcag": "1.3.1",
1220
- "weight": 4
1289
+ "linkImageTextURL": {
1290
+ "summary": "text alternative of link image a URL",
1291
+ "why": "User cannot understand what a link points to",
1292
+ "wcag": "2.4.4",
1293
+ "weight": 3
1221
1294
  },
1222
- "listItemOrphan": {
1223
- "summary": "list item orphan",
1224
- "why": "User cannot get help on whether an item is in a list",
1225
- "wcag": "1.3.1",
1226
- "weight": 4
1295
+ "linkIndication": {
1296
+ "summary": "link indication poor",
1297
+ "why": "User cannot differentiate a link from plain text",
1298
+ "wcag": "1.3.3",
1299
+ "weight": 2
1227
1300
  },
1228
- "descriptionOrphan": {
1229
- "summary": "description list orphan",
1230
- "why": "User cannot get help on whether an item is in a list",
1231
- "wcag": "1.3.1",
1232
- "weight": 4
1301
+ "linkNameRisk": {
1302
+ "summary": "image link text suspect",
1303
+ "why": "Keyboard-only user may misunderstand the effect of following a link",
1304
+ "wcag": "2.4.4",
1305
+ "weight": 1
1233
1306
  },
1234
- "descriptionOrder": {
1235
- "summary": "description list misordered",
1236
- "why": "User cannot get help on the structure of a list",
1237
- "wcag": "1.3.1",
1307
+ "linkNoText": {
1308
+ "summary": "link not named",
1309
+ "why": "User cannot get help understanding what a link points to",
1310
+ "wcag": "2.4.4",
1238
1311
  "weight": 4
1239
1312
  },
1240
- "pseudoList": {
1241
- "summary": "list-like br use dubious",
1242
- "why": "User cannot get help recognizing a list of items",
1243
- "wcag": "1.3.1",
1244
- "weight": 1
1245
- },
1246
- "pseudoListRisk": {
1247
- "summary": "list not marked as such?",
1248
- "why": "User may be unable to get help on which items are in lists",
1249
- "wcag": "1.3.1",
1250
- "weight": 1
1313
+ "linkPair": {
1314
+ "summary": "adjacent links not combined",
1315
+ "why": "Keyboard-only user expends extra effort to skip a link",
1316
+ "wcag": "2.4.4",
1317
+ "weight": 2
1251
1318
  },
1252
- "pseudoOrderedListRisk": {
1253
- "summary": "ordered list not coded as such?",
1254
- "why": "User may be unable to get help on whether a list is ordered",
1255
- "wcag": "1.3.1",
1319
+ "linkPairRisk": {
1320
+ "summary": "text and image link may merit combination",
1321
+ "why": "Keyboard-only user may expend extra effort to skip a link",
1322
+ "wcag": "2.4.4",
1256
1323
  "weight": 1
1257
1324
  },
1258
- "pseudoNavList": {
1259
- "summary": "nav links not list",
1260
- "why": "User cannot get help recognizing a list of navigation links",
1325
+ "linksNoNav": {
1326
+ "summary": "links not grouped as nav",
1327
+ "why": "User cannot get help identifying links as a navigation tool",
1261
1328
  "wcag": "1.3.1",
1262
1329
  "weight": 2
1263
1330
  },
1264
- "pseudoQuoteRisk": {
1265
- "summary": "quotation miscoded?",
1266
- "why": "User may be unable to get help identifying a quotation",
1267
- "wcag": "3.2.4",
1268
- "weight": 1
1331
+ "linkTextsSame": {
1332
+ "summary": "links named identically",
1333
+ "why": "User cannot get help differentiating links",
1334
+ "wcag": "2.4.4",
1335
+ "weight": 2
1269
1336
  },
1270
- "nonQuoteRisk": {
1271
- "summary": "nonquotation coded as block quote?",
1272
- "why": "User may misunderstand text as a quotation",
1273
- "wcag": "3.2.4",
1337
+ "linkVaguenessRisk": {
1338
+ "summary": "link name vague",
1339
+ "why": "User may misunderstand what a link points to",
1340
+ "wcag": "2.4.4",
1274
1341
  "weight": 1
1275
1342
  },
1276
- "selectNoText": {
1277
- "summary": "select not named",
1278
- "why": "User cannot get help on the topic of a list of options",
1279
- "wcag": "4.1.2",
1280
- "weight": 3
1281
- },
1282
- "optionNoText": {
1283
- "summary": "option not named",
1284
- "why": "User cannot get help to understand an option",
1285
- "wcag": "4.1.2",
1343
+ "listChild": {
1344
+ "summary": "list child invalid",
1345
+ "why": "User cannot get help on which items are in a list",
1346
+ "wcag": "1.3.1",
1286
1347
  "weight": 4
1287
1348
  },
1288
- "selectFlatRisk": {
1289
- "summary": "option groups not marked?",
1290
- "why": "User may be unable to get help recognizing groups of options",
1349
+ "listItemOrphan": {
1350
+ "summary": "list item orphan",
1351
+ "why": "User cannot get help on whether an item is in a list",
1291
1352
  "wcag": "1.3.1",
1292
- "weight": 1
1293
- },
1294
- "noOptionFocusable": {
1295
- "summary": "no option focusable",
1296
- "why": "Keyboard-only user cannot choose an option",
1297
- "wcag": "2.1.1",
1298
- "weight": 1
1353
+ "weight": 4
1299
1354
  },
1300
- "accessKeyDuplicate": {
1301
- "summary": "duplicate access key",
1302
- "why": "Keyboard shortcut does not reliably trigger the intended action",
1303
- "wcag": "1.3.1",
1355
+ "mainConfusion": {
1356
+ "summary": "mains not distinctly named",
1357
+ "why": "User cannot get help on how some of the page is organized",
1358
+ "wcag": "1.3.6",
1304
1359
  "weight": 3
1305
1360
  },
1306
- "fieldSetMissing": {
1307
- "summary": "fieldset missing",
1308
- "why": "User cannot get help recognizing a group of related form items",
1309
- "wcag": "1.3.1",
1361
+ "mainNone": {
1362
+ "summary": "main missing",
1363
+ "why": "User cannot get help on how some of the page is organized",
1364
+ "wcag": "1.3.6",
1365
+ "weight": 2,
1366
+ "max": 1
1367
+ },
1368
+ "mainNot1": {
1369
+ "summary": "multiple mains",
1370
+ "why": "User cannot get help on how some of the page is organized",
1371
+ "wcag": "1.3.6",
1372
+ "weight": 2,
1373
+ "max": 1
1374
+ },
1375
+ "mainNotTop": {
1376
+ "summary": "main child of landmark",
1377
+ "why": "User cannot get help on how some of the page is organized",
1378
+ "wcag": "1.3.6",
1310
1379
  "weight": 2
1311
1380
  },
1312
- "fieldSetRisk": {
1313
- "summary": "fieldset missing?",
1314
- "why": "User may be unable to get help recognizing a group of related form items",
1381
+ "menuItemless": {
1382
+ "summary": "menu items missing",
1383
+ "why": "User cannot reach promised menu items",
1315
1384
  "wcag": "1.3.1",
1316
- "weight": 1
1385
+ "weight": 4
1317
1386
  },
1318
- "legendMisplaced": {
1319
- "summary": "legend location invalid",
1320
- "why": "User cannot get help on the topic of a group of form items",
1387
+ "menuItemNoText": {
1388
+ "summary": "menu item not named",
1389
+ "why": "User cannot get help explaing a menu item",
1321
1390
  "wcag": "4.1.2",
1322
1391
  "weight": 4
1323
1392
  },
1324
- "legendMissing": {
1325
- "summary": "legend missing",
1326
- "why": "User cannot get help on the topic of a group of form items",
1327
- "wcag": "4.1.2",
1393
+ "menuNavigation": {
1394
+ "summary": "menu navigation nonstandard",
1395
+ "why": "Menus behave improperly for a keyboard-only user",
1396
+ "wcag": "2.1.1",
1328
1397
  "weight": 2
1329
1398
  },
1330
- "groupName": {
1331
- "summary": "group not named",
1332
- "why": "User cannot get help on the topic of a group of form items",
1333
- "wcag": "4.1.2",
1399
+ "metaAttributeBad": {
1400
+ "summary": "meta attribute value invalid",
1401
+ "why": "Browser processes the page incorrectly",
1402
+ "wcag": "4.1",
1334
1403
  "weight": 3
1335
1404
  },
1336
- "layoutTable": {
1337
- "summary": "table misused",
1338
- "why": "Helper misinforms a user about whether items are cells of a table",
1339
- "wcag": "1.3.1",
1340
- "weight": 2
1341
- },
1342
- "tabularTableless": {
1343
- "summary": "table not marked as such",
1344
- "why": "Helper misinforms a user about whether items are cells of a table",
1345
- "wcag": "1.3.1",
1405
+ "metaAttributesWrong": {
1406
+ "summary": "prohibited or missing meta attributes",
1407
+ "why": "Browser processes the page incorrectly",
1408
+ "wcag": "4.1",
1346
1409
  "weight": 3
1347
1410
  },
1348
- "tableColumnsVary": {
1349
- "summary": "table column counts vary",
1350
- "why": "User cannot get help on the dimensions of a table",
1351
- "wcag": "1.3.1",
1352
- "weight": 3
1411
+ "metaBansZoom": {
1412
+ "summary": "meta bans zoom",
1413
+ "why": "User cannot adjust the page size for readability",
1414
+ "wcag": "1.4.4",
1415
+ "weight": 4,
1416
+ "max": 1
1353
1417
  },
1354
- "tableCaption": {
1355
- "summary": "table caption missing",
1356
- "why": "User cannot get help on the topic of a table",
1357
- "wcag": "1.3.1",
1358
- "weight": 1
1418
+ "metaCharsetLate": {
1419
+ "summary": "meta charset declared too late",
1420
+ "why": "Browser may display incorrect text",
1421
+ "wcag": "4.1",
1422
+ "weight": 4
1359
1423
  },
1360
- "tableCaptionLoc": {
1361
- "summary": "table caption location invalid",
1362
- "why": "User cannot get help on the topic of a table",
1363
- "wcag": "1.3.1",
1424
+ "metaDuplicated": {
1425
+ "summary": "meta element duplicated",
1426
+ "why": "Browser may process the page incorrectly",
1427
+ "wcag": "4.1",
1364
1428
  "weight": 3
1365
1429
  },
1366
- "tableCapSum": {
1367
- "summary": "table summary duplicative",
1368
- "why": "Helper informs a user repetitively about the topic of a table",
1369
- "wcag": "1.3.1",
1370
- "weight": 2
1371
- },
1372
- "tableSum": {
1373
- "summary": "table summary empty",
1374
- "why": "User cannot get help summarizing a table",
1375
- "wcag": "1.3.1",
1430
+ "metaMisplaced": {
1431
+ "summary": "meta element in invalid location",
1432
+ "why": "Browser may process the page incorrectly",
1433
+ "wcag": "4.1",
1376
1434
  "weight": 4
1377
1435
  },
1378
- "tableLabelID": {
1379
- "summary": "table aria-labelledby invalid",
1380
- "why": "User cannot get help on the topic of a table",
1436
+ "metaXUACompatible": {
1437
+ "summary": "meta X-UA-Compatible incomplete",
1438
+ "why": "Internet Explorer may display the page incorrectly",
1439
+ "wcag": "4.1",
1440
+ "weight": 3
1441
+ },
1442
+ "multipleLabelees": {
1443
+ "summary": "labeled element ambiguous",
1444
+ "why": "User cannot get help on the topic of a form item",
1381
1445
  "wcag": "1.3.1",
1382
1446
  "weight": 4
1383
1447
  },
1384
- "tableDescriptionID": {
1385
- "summary": "table aria-describedby invalid",
1386
- "why": "User cannot get help on the topic of a table",
1387
- "wcag": "1.3.1",
1388
- "weight": 4
1389
- },
1390
- "cellHeadersNotInferrable": {
1391
- "summary": "cell headers not inferrable",
1392
- "why": "User cannot get help on relationships in a table",
1393
- "wcag": "1.3.1",
1394
- "weight": 4
1395
- },
1396
- "cellHeadersOutsideTable": {
1397
- "summary": "cell headers outside table",
1398
- "why": "User cannot get help on relationships in a table",
1399
- "wcag": "1.3.1",
1400
- "weight": 4
1401
- },
1402
- "cellHeadersAmbiguityRisk": {
1403
- "summary": "cell headers ambiguous?",
1404
- "why": "User may be unable to get help on relationships in a table",
1405
- "wcag": "1.3.1",
1406
- "weight": 2
1448
+ "navConfusion": {
1449
+ "summary": "navigations not distinctly named",
1450
+ "why": "User cannot get help on how some of the page is organized",
1451
+ "wcag": "1.3.6",
1452
+ "weight": 3
1407
1453
  },
1408
- "tableHeaderless": {
1409
- "summary": "table headers missing",
1410
- "why": "User cannot get help on relationships in a table",
1411
- "wcag": "1.3.1",
1454
+ "negativeIndent": {
1455
+ "summary": "negative text-indent",
1456
+ "why": "Helper may hide content from a user",
1457
+ "wcag": "4.1",
1412
1458
  "weight": 3
1413
1459
  },
1414
- "tableCellHeaderless": {
1415
- "summary": "table-cell header missing",
1416
- "why": "User cannot get help on the topic of a table cell",
1417
- "wcag": "1.3.1",
1460
+ "nestingBad": {
1461
+ "summary": "nesting invalid",
1462
+ "why": "Document contains invalid code",
1463
+ "wcag": "4.1.1",
1418
1464
  "weight": 3
1419
1465
  },
1420
- "tableHeaderCellless": {
1421
- "summary": "table-header cell missing",
1422
- "why": "User cannot get help on relationships in a table",
1423
- "wcag": "1.3.1",
1424
- "weight": 4
1466
+ "newTabSurprise": {
1467
+ "summary": "tab-opening link action unstated",
1468
+ "why": "Following a link opens a new window, surprising a user",
1469
+ "wcag": "3.2.5",
1470
+ "weight": 3
1425
1471
  },
1426
- "TableHeaderScopeRisk": {
1427
- "summary": "Table scope ambiguous?",
1428
- "why": "User may be unable to get help on relationships in a table",
1429
- "wcag": "1.3.1",
1472
+ "newTabSurpriseRisk": {
1473
+ "summary": "tab-opening link action unstated?",
1474
+ "why": "Following a link opens a new window, possibly surprising a user",
1475
+ "wcag": "3.2.5",
1430
1476
  "weight": 1
1431
1477
  },
1432
- "tableHeaderEmpty": {
1433
- "summary": "table header empty",
1434
- "why": "User cannot get help on relationships in a table",
1435
- "wcag": "1.3.1",
1436
- "weight": 2
1478
+ "noLandmarks": {
1479
+ "summary": "no landmarks",
1480
+ "why": "User cannot get help on how the page is organized",
1481
+ "wcag": "1.3.6",
1482
+ "weight": 2,
1483
+ "max": 1
1437
1484
  },
1438
- "tableHead": {
1439
- "summary": "thead missing",
1440
- "why": "User cannot get help on parts of a table",
1485
+ "nonElement": {
1486
+ "summary": "element unknown",
1487
+ "why": "Document includes an unknown element that the browser cannot process",
1488
+ "wcag": "4.1",
1489
+ "weight": 4
1490
+ },
1491
+ "nonLabelableRole": {
1492
+ "summary": "aria-label on non-labelable role",
1493
+ "why": "User is misinformed about an item",
1441
1494
  "wcag": "1.3.1",
1442
1495
  "weight": 1
1443
1496
  },
1444
- "tableBody": {
1445
- "summary": "tbody missing",
1446
- "why": "User cannot get help on parts of a table",
1447
- "wcag": "1.3.1",
1497
+ "nonQuoteRisk": {
1498
+ "summary": "nonquotation coded as block quote?",
1499
+ "why": "User may misunderstand text as a quotation",
1500
+ "wcag": "3.2.4",
1448
1501
  "weight": 1
1449
1502
  },
1450
- "tableEmbedded": {
1451
- "summary": "table embedded in table",
1452
- "why": "User cannot get help on relationships in a table",
1503
+ "nonSemanticText": {
1504
+ "summary": "semantic properties represented with styles",
1505
+ "why": "User cannot get help to fully understand the text",
1453
1506
  "wcag": "1.3.1",
1454
1507
  "weight": 2
1455
1508
  },
1456
- "divInTable": {
1457
- "summary": "div embedded in table",
1458
- "why": "Blocks of content within a table cell may confuse a user",
1459
- "wcag": "1.4",
1509
+ "nonWebLink": {
1510
+ "summary": "link to non-web resource",
1511
+ "why": "Document points to harder-to-use resources",
1512
+ "wcag": "1.3.3",
1460
1513
  "weight": 1
1461
1514
  },
1462
- "formInTable": {
1463
- "summary": "form embedded in table",
1464
- "why": "Navigation in a form may confuse a keyboard-only user",
1515
+ "noOptionFocusable": {
1516
+ "summary": "no option focusable",
1517
+ "why": "Keyboard-only user cannot choose an option",
1465
1518
  "wcag": "2.1.1",
1466
1519
  "weight": 1
1467
1520
  },
1468
- "inputInTable": {
1469
- "summary": "input embedded in table",
1470
- "why": "Entry of data in a form may confuse a keyboard-only user",
1471
- "wcag": "2.1.1",
1521
+ "noScriptRisk": {
1522
+ "summary": "noscript element not equivalent?",
1523
+ "why": "User who has disabled JavaScript may be denied some content",
1524
+ "wcag": "4.1",
1472
1525
  "weight": 1
1473
1526
  },
1474
- "tableHeading": {
1475
- "summary": "heading located in table",
1476
- "why": "Complex relationships in a table may confuse a user",
1477
- "wcag": "1.3.1",
1527
+ "notValidatable": {
1528
+ "summary": "item makes testing inconclusive",
1529
+ "why": "Item prevents a conclusive accessibility test",
1530
+ "wcag": "4.1",
1478
1531
  "weight": 1
1479
1532
  },
1480
- "controlNoText": {
1481
- "summary": "control not named",
1482
- "why": "User cannot get help on how to operate a form item",
1483
- "wcag": "1.3.1",
1484
- "weight": 4
1485
- },
1486
- "controlLabelInvisible": {
1487
- "summary": "control label invisible",
1488
- "why": "User cannot understand how to operate a form item",
1489
- "wcag": "2.4.6",
1490
- "weight": 4
1491
- },
1492
- "inputLabelInvisibleRisk": {
1493
- "summary": "input label invisible?",
1494
- "why": "User cannot understand where to enter information",
1495
- "wcag": "2.4.6",
1533
+ "objectAudioRisk": {
1534
+ "summary": "non-audio element plays audio?",
1535
+ "why": "User may get inadequate help consuming audio content",
1536
+ "wcag": "1.1.1",
1496
1537
  "weight": 1
1497
1538
  },
1498
- "titleAsLabel": {
1499
- "summary": "control has title instead of label",
1500
- "why": "User cannot get help on how to operate a form item",
1501
- "wcag": "2.4.6",
1502
- "weight": 3
1539
+ "objectBlurKeyboardRisk": {
1540
+ "summary": "object not keyboard-blurrable?",
1541
+ "why": "Custom item may trap a keyboard-only user",
1542
+ "wcag": "2.1.1",
1543
+ "weight": 1
1503
1544
  },
1504
- "visibleLabelNotInName": {
1505
- "summary": "visible label not in name",
1506
- "why": "User cannot get help choosing a form control to operate",
1507
- "wcag": "2.5.3",
1508
- "weight": 3
1545
+ "objectNoText": {
1546
+ "summary": "object not named",
1547
+ "why": "User cannot get help explaining a custom item",
1548
+ "wcag": "1.1.1",
1549
+ "weight": 4
1509
1550
  },
1510
- "targetSmall": {
1511
- "summary": "target small",
1512
- "why": "User cannot reliably choose an item to click or tap",
1513
- "wcag": "2.5.5",
1551
+ "objectTextRisk": {
1552
+ "summary": "object dubiously named",
1553
+ "why": "Helper may explain a custom item inadequately",
1554
+ "wcag": "1.1.1",
1514
1555
  "weight": 1
1515
1556
  },
1516
- "targetTiny": {
1517
- "summary": "target very small",
1518
- "why": "User cannot reliably choose an item to click or tap",
1519
- "wcag": "2.5.8",
1557
+ "obsolete": {
1558
+ "summary": "code obsolete",
1559
+ "why": "Document contains code that is no longer standard",
1560
+ "wcag": "4.1",
1520
1561
  "weight": 3
1521
1562
  },
1522
- "targetsNear": {
1523
- "summary": "small targets too near to each other",
1524
- "why": "User cannot reliably choose an item to click or tap",
1525
- "wcag": "2.5.8",
1526
- "weight": 3
1563
+ "optionNoText": {
1564
+ "summary": "option not named",
1565
+ "why": "User cannot get help to understand an option",
1566
+ "wcag": "4.1.2",
1567
+ "weight": 4
1527
1568
  },
1528
- "visibleBulk": {
1529
- "summary": "large visible-element count",
1530
- "why": "User cannot easily find items in the page",
1531
- "wcag": "2.4",
1569
+ "orientationRisk": {
1570
+ "summary": "orientation issues not testable",
1571
+ "why": "User may need to read sideways after rotating a device",
1572
+ "wcag": "1.3.4",
1532
1573
  "weight": 1,
1533
1574
  "max": 1
1534
1575
  },
1535
- "activeEmbedding": {
1536
- "summary": "control child of link or button",
1537
- "why": "User cannot reliably choose an item to click or tap",
1538
- "wcag": "2.5.5",
1539
- "weight": 3
1540
- },
1541
- "unfocusability": {
1542
- "summary": "element not focusable",
1543
- "why": "Keyboard-only user cannot choose an item to operate",
1544
- "wcag": "2.1.1",
1576
+ "overflowHidden": {
1577
+ "summary": "overflow hidden",
1578
+ "why": "User cannot enlarge the text for readability",
1579
+ "wcag": "1.4.4",
1545
1580
  "weight": 4
1546
1581
  },
1547
- "focusDiscrepancy": {
1548
- "summary": "Tab-focusable elements wrong",
1549
- "why": "Item selections by a keyboard-only user are useless or impossible",
1550
- "wcag": "2.1.1",
1551
- "weight": 4
1582
+ "overflowHiddenRisk": {
1583
+ "summary": "overflow hidden?",
1584
+ "why": "User may be unable to enlarge the text for readability",
1585
+ "wcag": "1.4.4",
1586
+ "weight": 1
1552
1587
  },
1553
- "focusIndicationBad": {
1554
- "summary": "focus indication poor",
1555
- "why": "Keyboard-only user cannot choose an item to operate",
1556
- "wcag": "2.4.7",
1588
+ "paddingBad": {
1589
+ "summary": "CSS padding invalid",
1590
+ "why": "Content is displayed improperly",
1591
+ "wcag": "4.1",
1557
1592
  "weight": 4
1558
1593
  },
1559
- "focusIndicationImprovable": {
1560
- "summary": "focus indication improvable",
1561
- "why": "Keyboard-only user cannot easily choose an item to operate",
1562
- "wcag": "2.4.7",
1563
- "weight": 2
1564
- },
1565
- "focusIndicationRisk": {
1566
- "summary": "focus indication poor?",
1567
- "why": "Keyboard-only user cannot choose an item to operate",
1568
- "wcag": "2.4.7",
1569
- "weight": 1
1594
+ "pageLanguage": {
1595
+ "summary": "page language missing",
1596
+ "why": "Speaking helper may mispronounce the page text",
1597
+ "wcag": "3.1.1",
1598
+ "weight": 4,
1599
+ "max": 1
1570
1600
  },
1571
- "boxInvisibleRisk": {
1572
- "summary": "border or outline invisible?",
1573
- "why": "User cannot perceive the boundary of an item",
1574
- "wcag": "2.5.8",
1575
- "weight": 1
1601
+ "pageLanguageBad": {
1602
+ "summary": "page language invalid",
1603
+ "why": "Speaking helper may mispronounce the page text",
1604
+ "wcag": "3.1.1",
1605
+ "weight": 4,
1606
+ "max": 1
1576
1607
  },
1577
- "allCaps": {
1578
- "summary": "all-capital text",
1579
- "why": "Text is difficult to read",
1580
- "wcag": "3.1.5",
1581
- "weight": 1
1608
+ "pageNewWindow": {
1609
+ "summary": "page immediately opens window",
1610
+ "why": "User promised a page gets another page, too",
1611
+ "wcag": "3.2.5",
1612
+ "weight": 3,
1613
+ "max": 1
1582
1614
  },
1583
- "allItalics": {
1584
- "summary": "all-italic text",
1585
- "why": "Text is difficult to read",
1586
- "wcag": "3.1.5",
1615
+ "pageTitle": {
1616
+ "summary": "page title missing",
1617
+ "why": "User is not informed of the topic of the page",
1618
+ "wcag": "2.4.2",
1619
+ "weight": 4,
1620
+ "max": 1
1621
+ },
1622
+ "pageTitleBad": {
1623
+ "summary": "page title invalid",
1624
+ "why": "Browser processes the page improperly",
1625
+ "wcag": "1.3.1",
1626
+ "weight": 3,
1627
+ "max": 1
1628
+ },
1629
+ "parentBad": {
1630
+ "summary": "parent invalid",
1631
+ "why": "User cannot properly operate an item",
1632
+ "wcag": "1.3.1",
1633
+ "weight": 4
1634
+ },
1635
+ "parentMissing": {
1636
+ "summary": "parent missing",
1637
+ "why": "Keyboard-only user cannot operate a custom tool",
1638
+ "wcag": "1.3.1",
1639
+ "weight": 4
1640
+ },
1641
+ "parseError": {
1642
+ "summary": "code invalid",
1643
+ "why": "Invalid code in the page may prevent a helper from working",
1644
+ "wcag": "4.1",
1645
+ "weight": 3
1646
+ },
1647
+ "placeholderPlusAria": {
1648
+ "summary": "element has competing placeholder attributes",
1649
+ "why": "User gets conflicting help on what information to enter in a form item",
1650
+ "wcag": "4.1.2",
1651
+ "weight": 3
1652
+ },
1653
+ "positionSticky": {
1654
+ "summary": "position sticky",
1655
+ "why": "User may be unable to see needed content or may be forced to scroll in both dimensions",
1656
+ "wcag": "1.4.10",
1587
1657
  "weight": 1
1588
1658
  },
1589
- "textDistortion": {
1590
- "summary": "text distortion",
1591
- "why": "Text is difficult to read",
1592
- "wcag": "3.1.5",
1659
+ "preselectedOption": {
1660
+ "summary": "no default option",
1661
+ "why": "User may risk erroneously submitting a form",
1662
+ "wcag": "4.1.2",
1593
1663
  "weight": 1
1594
1664
  },
1595
- "noLandmarks": {
1596
- "summary": "no landmarks",
1597
- "why": "User cannot get help on how the page is organized",
1598
- "wcag": "1.3.6",
1599
- "weight": 2,
1600
- "max": 1
1665
+ "presentationChild": {
1666
+ "summary": "presentation element has child",
1667
+ "why": "Keyboard-only user cannot reach an item intended to be reachable",
1668
+ "wcag": "1.3.1",
1669
+ "weight": 4
1601
1670
  },
1602
- "contentBeyondLandmarks": {
1603
- "summary": "content beyond landmarks",
1604
- "why": "User cannot get help on how some of the page is organized",
1605
- "wcag": "1.3.6",
1671
+ "presentationGlobal": {
1672
+ "summary": "global ARIA attribute nullifies presentation role",
1673
+ "why": "User encounters content intended to be hidden",
1674
+ "wcag": "1.3.1",
1606
1675
  "weight": 1
1607
1676
  },
1608
- "footerNotTop": {
1609
- "summary": "footer child of landmark",
1610
- "why": "User cannot get help on how some of the page is organized",
1611
- "wcag": "1.3.6",
1677
+ "presentationTabIndexed": {
1678
+ "summary": "tabindex attribute nullifies presentation role",
1679
+ "why": "User encounters content intended to be hidden",
1680
+ "wcag": "1.3.1",
1612
1681
  "weight": 1
1613
1682
  },
1614
- "asideNotTop": {
1615
- "summary": "aside child of landmark",
1616
- "why": "User cannot get help on how some of the page is organized",
1617
- "wcag": "1.3.6",
1618
- "weight": 2
1683
+ "progressNoText": {
1684
+ "summary": "progress bar not named",
1685
+ "why": "User cannot get help understanding the state of a process",
1686
+ "wcag": "4.1.2",
1687
+ "weight": 4
1619
1688
  },
1620
- "mainNotTop": {
1621
- "summary": "main child of landmark",
1622
- "why": "User cannot get help on how some of the page is organized",
1623
- "wcag": "1.3.6",
1624
- "weight": 2
1689
+ "pseudoCodeRisk": {
1690
+ "summary": "pre use dubious",
1691
+ "why": "User may be unable to get help to fully understand the text",
1692
+ "wcag": "1.3.1",
1693
+ "weight": 1
1625
1694
  },
1626
- "mainConfusion": {
1627
- "summary": "mains not distinctly named",
1628
- "why": "User cannot get help on how some of the page is organized",
1629
- "wcag": "1.3.6",
1630
- "weight": 3
1695
+ "pseudoHeadingRisk": {
1696
+ "summary": "heading-like styles dubious",
1697
+ "why": "User may be unable to understand the topic of a part of the page",
1698
+ "wcag": "1.3.1",
1699
+ "weight": 1
1631
1700
  },
1632
- "mainNone": {
1633
- "summary": "main missing",
1634
- "why": "User cannot get help on how some of the page is organized",
1635
- "wcag": "1.3.6",
1636
- "weight": 2,
1637
- "max": 1
1701
+ "pseudoLinkScriptRisk": {
1702
+ "summary": "script used instead of link",
1703
+ "why": "Link may misbehave",
1704
+ "wcag": "1.3.1",
1705
+ "weight": 1
1638
1706
  },
1639
- "mainNot1": {
1640
- "summary": "multiple mains",
1641
- "why": "User cannot get help on how some of the page is organized",
1642
- "wcag": "1.3.6",
1643
- "weight": 2,
1644
- "max": 1
1707
+ "pseudoLinkUnderlineRisk": {
1708
+ "summary": "underlining dubious",
1709
+ "why": "User may be misled into believing some text is a link",
1710
+ "wcag": "1.3.1",
1711
+ "weight": 1
1645
1712
  },
1646
- "bannerNot1": {
1647
- "summary": "multiple banners",
1648
- "why": "User cannot get help on how some of the page is organized",
1649
- "wcag": "1.3.6",
1650
- "weight": 2,
1651
- "max": 1
1713
+ "pseudoList": {
1714
+ "summary": "list-like br use dubious",
1715
+ "why": "User cannot get help recognizing a list of items",
1716
+ "wcag": "1.3.1",
1717
+ "weight": 1
1652
1718
  },
1653
- "bannerNotTop": {
1654
- "summary": "banner child of landmark",
1655
- "why": "User cannot get help on how some of the page is organized",
1656
- "wcag": "1.3.6",
1719
+ "pseudoListRisk": {
1720
+ "summary": "list not marked as such?",
1721
+ "why": "User may be unable to get help on which items are in lists",
1722
+ "wcag": "1.3.1",
1723
+ "weight": 1
1724
+ },
1725
+ "pseudoNavList": {
1726
+ "summary": "nav links not list",
1727
+ "why": "User cannot get help recognizing a list of navigation links",
1728
+ "wcag": "1.3.1",
1657
1729
  "weight": 2
1658
1730
  },
1659
- "footerConfusion": {
1660
- "summary": "contentinfos not distinctly named",
1661
- "why": "User cannot get help on how some of the page is organized",
1662
- "wcag": "1.3.6",
1663
- "weight": 3
1731
+ "pseudoOrderedListRisk": {
1732
+ "summary": "ordered list not coded as such?",
1733
+ "why": "User may be unable to get help on whether a list is ordered",
1734
+ "wcag": "1.3.1",
1735
+ "weight": 1
1664
1736
  },
1665
- "footerNot1": {
1666
- "summary": "multiple contentinfos",
1667
- "why": "User cannot get help on how some of the page is organized",
1668
- "wcag": "1.3.6",
1669
- "weight": 2,
1670
- "max": 1
1737
+ "pseudoParagraphRisk": {
1738
+ "summary": "double br use dubious",
1739
+ "why": "User may be unable to get help to fully understand the text",
1740
+ "wcag": "1.3.1",
1741
+ "weight": 1
1671
1742
  },
1672
- "landmarkConfusion": {
1673
- "summary": "landmarks not distinctly named",
1674
- "why": "User cannot get help on how some of the page is organized",
1675
- "wcag": "1.3.6",
1743
+ "pseudoQuoteRisk": {
1744
+ "summary": "quotation miscoded?",
1745
+ "why": "User may be unable to get help identifying a quotation",
1746
+ "wcag": "3.2.4",
1747
+ "weight": 1
1748
+ },
1749
+ "refresh": {
1750
+ "summary": "element reloads or redirects",
1751
+ "why": "Document change may surprise a user",
1752
+ "wcag": "2.2.1",
1676
1753
  "weight": 3
1677
1754
  },
1678
- "documentConfusion": {
1679
- "summary": "page elements not distinctly named",
1755
+ "regionConfusion": {
1756
+ "summary": "regions not distinctly named",
1680
1757
  "why": "User cannot get help on how some of the page is organized",
1681
1758
  "wcag": "1.3.6",
1682
1759
  "weight": 3
1683
1760
  },
1684
- "formsNested": {
1685
- "summary": "form nested in another form",
1686
- "why": "User cannot predict effect of actions in a form",
1687
- "wcag": "4.1",
1761
+ "regionNoText": {
1762
+ "summary": "region not named",
1763
+ "why": "User cannot get help surveying the parts of the page",
1764
+ "wcag": "4.1.2",
1688
1765
  "weight": 4
1689
1766
  },
1690
- "formConfusion": {
1691
- "summary": "forms not distinctly named",
1692
- "why": "User cannot get help on how some of the page is organized",
1693
- "wcag": "1.3.6",
1694
- "weight": 3
1767
+ "repeatedContentRisk": {
1768
+ "summary": "skip method missing or invalid?",
1769
+ "why": "Keyboard-only user may be unable easily to reach the specific content of the page",
1770
+ "wcag": "2.4.1",
1771
+ "weight": 1,
1772
+ "max": 2
1695
1773
  },
1696
- "applicationNoText": {
1697
- "summary": "application not named",
1698
- "why": "User cannot get help on how some of the page is organized",
1699
- "wcag": "1.3.6",
1774
+ "requirementBad": {
1775
+ "summary": "requirement invalid",
1776
+ "why": "User may fail to get help determining whether a form item must be completed",
1777
+ "wcag": "1.3.5",
1700
1778
  "weight": 4
1701
1779
  },
1702
- "applicationConfusion": {
1703
- "summary": "applications not distinctly named",
1704
- "why": "User cannot get help on how some of the page is organized",
1705
- "wcag": "1.3.6",
1706
- "weight": 3
1780
+ "requirementRedundant": {
1781
+ "summary": "requirement redundant",
1782
+ "why": "Help determining whether a form item must be completed is at risk of corruption",
1783
+ "wcag": "1.3.5",
1784
+ "weight": 1
1707
1785
  },
1708
- "asideConfusion": {
1709
- "summary": "asides not distinctly named",
1710
- "why": "User cannot get help on how some of the page is organized",
1711
- "wcag": "1.3.6",
1786
+ "roleBad": {
1787
+ "summary": "role invalid",
1788
+ "why": "User cannot get help on the nature of an item",
1789
+ "wcag": "4.1.2",
1712
1790
  "weight": 3
1713
1791
  },
1714
- "bannerConfusion": {
1715
- "summary": "banners not distinctly named",
1716
- "why": "User cannot get help on how some of the page is organized",
1717
- "wcag": "1.3.6",
1792
+ "roleConfusion": {
1793
+ "summary": "role assigned instead of implicit",
1794
+ "why": "User may misunderstand the purpose of an item",
1795
+ "wcag": "4.1.2",
1796
+ "weight": 1
1797
+ },
1798
+ "roleHierarchyBad": {
1799
+ "summary": "ancestor and descendant roles incompatible",
1800
+ "why": "User may misunderstand or be blocked from exposure to an item",
1801
+ "wcag": "4.1.2",
1802
+ "weight": 4
1803
+ },
1804
+ "roleMissing": {
1805
+ "summary": "role missing",
1806
+ "why": "Item behaves improperly",
1807
+ "wcag": "4.1.2",
1718
1808
  "weight": 3
1719
1809
  },
1720
- "navConfusion": {
1721
- "summary": "navigations not distinctly named",
1722
- "why": "User cannot get help on how some of the page is organized",
1723
- "wcag": "1.3.6",
1810
+ "roleMissingRisk": {
1811
+ "summary": "role missing?",
1812
+ "why": "Item may behave improperly",
1813
+ "wcag": "4.1.2",
1814
+ "weight": 1
1815
+ },
1816
+ "roleNoText": {
1817
+ "summary": "no role-required name",
1818
+ "why": "User cannot get help understanding an item",
1819
+ "wcag": "4.1.2",
1820
+ "weight": 4
1821
+ },
1822
+ "roleRedundant": {
1823
+ "summary": "role redundant",
1824
+ "why": "Document includes unnecessary code",
1825
+ "wcag": "4.1.2",
1826
+ "weight": 1
1827
+ },
1828
+ "scriptBanned": {
1829
+ "summary": "script prohibited",
1830
+ "why": "Browser processes the page improperly",
1831
+ "wcag": "4.1",
1724
1832
  "weight": 3
1725
1833
  },
1726
- "landmarkInNav": {
1727
- "summary": "invalid landmark child of navigation role",
1728
- "why": "User cannot get help on how some of the page is organized",
1729
- "wcag": "1.3.6",
1834
+ "scriptElementBad": {
1835
+ "summary": "script element invalid",
1836
+ "why": "Browser processes the page improperly",
1837
+ "wcag": "1.3.1",
1730
1838
  "weight": 4
1731
1839
  },
1732
- "regionConfusion": {
1733
- "summary": "regions not distinctly named",
1734
- "why": "User cannot get help on how some of the page is organized",
1735
- "wcag": "1.3.6",
1840
+ "scriptNotDeferrable": {
1841
+ "summary": "script element invalidly deferred",
1842
+ "why": "Browser processes the page improperly",
1843
+ "wcag": "1.3.1",
1844
+ "weight": 4
1845
+ },
1846
+ "scrollFocus": {
1847
+ "summary": "scrollable element and children nonfocusable",
1848
+ "why": "User may be unable to see all of an item without scrolling in both dimensions",
1849
+ "wcag": "2.1.1",
1736
1850
  "weight": 3
1737
1851
  },
1852
+ "scrollRisk": {
1853
+ "summary": "container size unit not percentage",
1854
+ "why": "User may be unable to see all of an item without scrolling in both dimensions",
1855
+ "wcag": "1.4.10",
1856
+ "weight": 1
1857
+ },
1738
1858
  "searchConfusion": {
1739
1859
  "summary": "searches not distinctly named",
1740
1860
  "why": "User cannot get help on how some of the page is organized",
1741
1861
  "wcag": "1.3.6",
1742
1862
  "weight": 3
1743
1863
  },
1744
- "complementaryNoText": {
1745
- "summary": "complementary not named",
1746
- "why": "User cannot get help on how some of the page is organized",
1747
- "wcag": "1.3.6",
1864
+ "sectionHeadingless": {
1865
+ "summary": "section heading missing",
1866
+ "why": "User cannot understand the topic of a part of the page",
1867
+ "wcag": "1.3.1",
1748
1868
  "weight": 1
1749
1869
  },
1750
- "labelNoText": {
1751
- "summary": "label not named",
1752
- "why": "User cannot get help on the topic of a form item",
1753
- "wcag": "1.3.1",
1870
+ "selectBad": {
1871
+ "summary": "select element invalid",
1872
+ "why": "User cannot properly select among options",
1873
+ "wcag": "4.1.2",
1754
1874
  "weight": 4
1755
1875
  },
1756
- "focusableOperable": {
1757
- "summary": "element focusability and operability conflict",
1758
- "why": "Keyboard-only user cannot operate an item",
1759
- "wcag": "2.1.1",
1760
- "weight": 3
1876
+ "selectFlatRisk": {
1877
+ "summary": "option groups not marked?",
1878
+ "why": "User may be unable to get help recognizing groups of options",
1879
+ "wcag": "1.3.1",
1880
+ "weight": 1
1761
1881
  },
1762
- "focusableRole": {
1763
- "summary": "focusable element not active",
1764
- "why": "Keyboard-only user cannot navigate properly to the operable items",
1882
+ "selectNavSurpriseRisk": {
1883
+ "summary": "navigating selection-change action unstated?",
1884
+ "why": "Changing a selected option opens a new window, possibly surprising a user",
1885
+ "wcag": "3.2.5",
1886
+ "weight": 1
1887
+ },
1888
+ "selectNoText": {
1889
+ "summary": "select not named",
1890
+ "why": "User cannot get help on the topic of a list of options",
1765
1891
  "wcag": "4.1.2",
1766
1892
  "weight": 3
1767
1893
  },
1768
- "focusableHidden": {
1769
- "summary": "focusable element hidden",
1770
- "why": "Keyboard-only user cannot navigate properly to the operable items",
1771
- "wcag": "4.1.2",
1894
+ "sensoryDependenceRisk": {
1895
+ "summary": "instruction requires particular sense?",
1896
+ "why": "Content is impossible to perceive under some conditions",
1897
+ "wcag": "1.4.1",
1898
+ "weight": 1
1899
+ },
1900
+ "sizesAttributeBad": {
1901
+ "summary": "sizes attribute invalid",
1902
+ "why": "Item behaves improperly",
1903
+ "wcag": "1.3.1",
1772
1904
  "weight": 4
1773
1905
  },
1774
- "focusedAway": {
1775
- "summary": "element beyond display when focused",
1776
- "why": "Keyboard-only user cannot navigate properly to the operable items",
1777
- "wcag": "1.4.10",
1906
+ "skipRepeatedContent": {
1907
+ "summary": "skip method missing or invalid",
1908
+ "why": "Keyboard-only user cannot easily reach the specific content of the page",
1909
+ "wcag": "2.4.1",
1910
+ "weight": 3,
1911
+ "max": 2
1912
+ },
1913
+ "sourceEmpty": {
1914
+ "summary": "src empty",
1915
+ "why": "Image, audio, or video to be shown cannot be found",
1916
+ "wcag": "1.3.1",
1917
+ "weight": 4
1918
+ },
1919
+ "specRulesScriptBad": {
1920
+ "summary": "speculation rules script element invalid",
1921
+ "why": "Document navigation performs poorly",
1922
+ "wcag": "1.3.1",
1923
+ "weight": 1
1924
+ },
1925
+ "spontaneousMotion": {
1926
+ "summary": "page content moves spontaneously",
1927
+ "why": "Motion-sensitive user may suffer harm",
1928
+ "wcag": "2.2.2",
1929
+ "weight": 2,
1930
+ "max": 1
1931
+ },
1932
+ "stylesheetBanned": {
1933
+ "summary": "stylesheet prohibited",
1934
+ "why": "Browser displays the page improperly",
1935
+ "wcag": "1.4",
1778
1936
  "weight": 3
1779
1937
  },
1780
- "focusableDescendants": {
1781
- "summary": "presentational child focusable",
1782
- "why": "Keyboard-only user cannot navigate properly to the operable items",
1783
- "wcag": "4.1.2",
1938
+ "submitButton": {
1939
+ "summary": "form submission button missing",
1940
+ "why": "User cannot easily submit a form",
1941
+ "wcag": "3.2.2",
1942
+ "weight": 3
1943
+ },
1944
+ "svgImageNoText": {
1945
+ "summary": "svg image not named",
1946
+ "why": "User cannot get help understanding an image",
1947
+ "wcag": "1.1.1",
1784
1948
  "weight": 4
1785
1949
  },
1786
- "datalistRef": {
1787
- "summary": "ambiguous or missing datalist reference",
1788
- "why": "User cannot get help on the permitted input values",
1789
- "wcag": "3.3.2",
1950
+ "svgLabelID": {
1951
+ "summary": "svg label referent invalid",
1952
+ "why": "User cannot get help understanding an image",
1953
+ "wcag": "1.1.1",
1790
1954
  "weight": 4
1791
1955
  },
1792
- "multipleLabelees": {
1793
- "summary": "labeled element ambiguous",
1794
- "why": "User cannot get help on the topic of a form item",
1956
+ "svgNoText": {
1957
+ "summary": "SVG image not named",
1958
+ "why": "User cannot get help to know what is in an image",
1959
+ "wcag": "1.1.1",
1960
+ "weight": 4
1961
+ },
1962
+ "svgNotValidatable": {
1963
+ "summary": "SVG version not 1.1",
1964
+ "why": "Item prevents testing image for accessibility",
1965
+ "wcag": "4.1",
1966
+ "weight": 1
1967
+ },
1968
+ "tabIndexEmpty": {
1969
+ "summary": "tabindex empty",
1970
+ "why": "Keyboard-only user cannot follow the intended navigation sequence",
1795
1971
  "wcag": "1.3.1",
1796
1972
  "weight": 4
1797
1973
  },
1798
- "labeledHidden": {
1799
- "summary": "control hidden but labeled",
1800
- "why": "Document includes unnecessary code",
1974
+ "tabIndexExtra": {
1975
+ "summary": "tabindex redundant",
1976
+ "why": "Revision risks interfering with navigation by a keyboard-only user",
1801
1977
  "wcag": "1.3.1",
1802
1978
  "weight": 1
1803
1979
  },
1804
- "contentHidden": {
1805
- "summary": "page hidden",
1806
- "why": "User cannot get the page content",
1807
- "wcag": "2.4.7",
1808
- "weight": 4,
1809
- "max": 1
1980
+ "tabIndexInt": {
1981
+ "summary": "tabindex not integer",
1982
+ "why": "Keyboard-only user cannot follow the intended navigation sequence",
1983
+ "wcag": "1.3.1",
1984
+ "weight": 4
1985
+ },
1986
+ "tabIndexPositive": {
1987
+ "summary": "tabindex positive",
1988
+ "why": "Keyboard-only user cannot predict the navigation sequence",
1989
+ "wcag": "2.4.3",
1990
+ "weight": 1
1991
+ },
1992
+ "tableBody": {
1993
+ "summary": "tbody missing",
1994
+ "why": "User cannot get help on parts of a table",
1995
+ "wcag": "1.3.1",
1996
+ "weight": 1
1997
+ },
1998
+ "tableCapSum": {
1999
+ "summary": "table summary duplicative",
2000
+ "why": "Helper informs a user repetitively about the topic of a table",
2001
+ "wcag": "1.3.1",
2002
+ "weight": 2
1810
2003
  },
1811
- "hideFailureRisk": {
1812
- "summary": "false aria-hidden value risky",
1813
- "why": "User may be misled by erroneously hidden or revealed page content",
1814
- "wcag": "2.4.6",
2004
+ "tableCaption": {
2005
+ "summary": "table caption missing",
2006
+ "why": "User cannot get help on the topic of a table",
2007
+ "wcag": "1.3.1",
1815
2008
  "weight": 1
1816
2009
  },
1817
- "negativeIndent": {
1818
- "summary": "negative text-indent",
1819
- "why": "Helper may hide content from a user",
1820
- "wcag": "4.1",
2010
+ "tableCaptionLoc": {
2011
+ "summary": "table caption location invalid",
2012
+ "why": "User cannot get help on the topic of a table",
2013
+ "wcag": "1.3.1",
1821
2014
  "weight": 3
1822
2015
  },
1823
- "frameSandboxRisk": {
1824
- "summary": "iframe sandbox attributes risky",
1825
- "why": "Document may be unsafe to use",
1826
- "wcag": "4.1",
1827
- "weight": 2
1828
- },
1829
- "hoverIndication": {
1830
- "summary": "hover indication poor",
1831
- "why": "User cannot explore the page reliably with a mouse",
1832
- "wcag": "3.3.2",
2016
+ "tableCellHeaderless": {
2017
+ "summary": "table-cell header missing",
2018
+ "why": "User cannot get help on the topic of a table cell",
2019
+ "wcag": "1.3.1",
1833
2020
  "weight": 3
1834
2021
  },
1835
- "hoverSurprise": {
1836
- "summary": "hovering changes content",
1837
- "why": "User cannot explore the page reliably with a mouse",
1838
- "wcag": "3.2.5",
1839
- "weight": 1
2022
+ "tableColumnsVary": {
2023
+ "summary": "table column counts vary",
2024
+ "why": "User cannot get help on the dimensions of a table",
2025
+ "wcag": "1.3.1",
2026
+ "weight": 3
1840
2027
  },
1841
- "formSurpriseRisk": {
1842
- "summary": "form interaction changes content?",
1843
- "why": "User experiences unexpected page change when using a form",
1844
- "wcag": "3.2.5",
1845
- "weight": 1
2028
+ "tableDescriptionID": {
2029
+ "summary": "table aria-describedby invalid",
2030
+ "why": "User cannot get help on the topic of a table",
2031
+ "wcag": "1.3.1",
2032
+ "weight": 4
1846
2033
  },
1847
- "labelClash": {
1848
- "summary": "label types incompatible",
1849
- "why": "User cannot get reliable help on the topics of form items",
2034
+ "tableEmbedded": {
2035
+ "summary": "table embedded in table",
2036
+ "why": "User cannot get help on relationships in a table",
1850
2037
  "wcag": "1.3.1",
1851
2038
  "weight": 2
1852
2039
  },
1853
- "labelNot1": {
1854
- "summary": "element referenced by multiple labels",
1855
- "why": "User cannot get reliable help on the topics of form items",
2040
+ "tableHead": {
2041
+ "summary": "thead missing",
2042
+ "why": "User cannot get help on parts of a table",
1856
2043
  "wcag": "1.3.1",
1857
2044
  "weight": 1
1858
2045
  },
1859
- "labelEmpty": {
1860
- "summary": "label empty",
1861
- "why": "User cannot get help on the topics of form items",
2046
+ "tableHeaderCellless": {
2047
+ "summary": "table-header cell missing",
2048
+ "why": "User cannot get help on relationships in a table",
1862
2049
  "wcag": "1.3.1",
1863
- "weight": 3
2050
+ "weight": 4
1864
2051
  },
1865
- "labelRisk": {
1866
- "summary": "labeling risky",
1867
- "why": "User may misunderstand a form control",
1868
- "wcag": "3.3.2",
1869
- "weight": 1
2052
+ "tableHeaderEmpty": {
2053
+ "summary": "table header empty",
2054
+ "why": "User cannot get help on relationships in a table",
2055
+ "wcag": "1.3.1",
2056
+ "weight": 2
1870
2057
  },
1871
- "linkVaguenessRisk": {
1872
- "summary": "link name vague",
1873
- "why": "User may misunderstand what a link points to",
1874
- "wcag": "2.4.4",
1875
- "weight": 1
2058
+ "tableHeaderless": {
2059
+ "summary": "table headers missing",
2060
+ "why": "User cannot get help on relationships in a table",
2061
+ "wcag": "1.3.1",
2062
+ "weight": 3
1876
2063
  },
1877
- "linkFileName": {
1878
- "summary": "link names a file instead of a purpose",
1879
- "why": "User may fail to understand what a link points to",
1880
- "wcag": "2.4.4",
2064
+ "TableHeaderScopeRisk": {
2065
+ "summary": "Table scope ambiguous?",
2066
+ "why": "User may be unable to get help on relationships in a table",
2067
+ "wcag": "1.3.1",
1881
2068
  "weight": 1
1882
2069
  },
1883
- "nonWebLink": {
1884
- "summary": "link to non-web resource",
1885
- "why": "Document points to harder-to-use resources",
1886
- "wcag": "1.3.3",
2070
+ "tableHeading": {
2071
+ "summary": "heading located in table",
2072
+ "why": "Complex relationships in a table may confuse a user",
2073
+ "wcag": "1.3.1",
1887
2074
  "weight": 1
1888
2075
  },
1889
- "linkIndication": {
1890
- "summary": "link indication poor",
1891
- "why": "User cannot differentiate a link from plain text",
1892
- "wcag": "1.3.3",
1893
- "weight": 2
1894
- },
1895
- "menuNavigation": {
1896
- "summary": "menu navigation nonstandard",
1897
- "why": "Menus behave improperly for a keyboard-only user",
1898
- "wcag": "2.1.1",
1899
- "weight": 2
2076
+ "tableLabelID": {
2077
+ "summary": "table aria-labelledby invalid",
2078
+ "why": "User cannot get help on the topic of a table",
2079
+ "wcag": "1.3.1",
2080
+ "weight": 4
1900
2081
  },
1901
- "menuItemless": {
1902
- "summary": "menu items missing",
1903
- "why": "User cannot reach promised menu items",
2082
+ "tableSum": {
2083
+ "summary": "table summary empty",
2084
+ "why": "User cannot get help summarizing a table",
1904
2085
  "wcag": "1.3.1",
1905
2086
  "weight": 4
1906
2087
  },
@@ -1910,131 +2091,118 @@ const issuesData = {
1910
2091
  "wcag": "2.1.1",
1911
2092
  "weight": 2
1912
2093
  },
1913
- "spontaneousMotion": {
1914
- "summary": "page content moves spontaneously",
1915
- "why": "Motion-sensitive user may suffer harm",
1916
- "wcag": "2.2.2",
1917
- "weight": 2,
1918
- "max": 1
1919
- },
1920
- "animationLong": {
1921
- "summary": "animation long or repetitive",
1922
- "why": "Motion-sensitive user may suffer harm",
1923
- "wcag": "2.2.2",
2094
+ "tabularTableless": {
2095
+ "summary": "table not marked as such",
2096
+ "why": "Helper misinforms a user about whether items are cells of a table",
2097
+ "wcag": "1.3.1",
1924
2098
  "weight": 3
1925
2099
  },
1926
- "blink": {
1927
- "summary": "blink element",
1928
- "why": "Motion-sensitive user may suffer harm",
1929
- "wcag": "2.2.2",
2100
+ "targetEmpty": {
2101
+ "summary": "target empty",
2102
+ "why": "Item is displayed improperly",
2103
+ "wcag": "1.3.1",
1930
2104
  "weight": 4
1931
2105
  },
1932
- "autoplay": {
1933
- "summary": "autoplay",
1934
- "why": "Motion- or noise-sensitive user may suffer harm",
1935
- "wcag": "1.4.2",
1936
- "weight": 2
1937
- },
1938
- "autoplayLong": {
1939
- "summary": "autoplay long",
1940
- "why": "Motion- or noise-sensitive user may suffer harm",
1941
- "wcag": "1.4.2",
1942
- "weight": 2
2106
+ "targetSmall": {
2107
+ "summary": "target small",
2108
+ "why": "User cannot reliably choose an item to click or tap",
2109
+ "wcag": "2.5.5",
2110
+ "weight": 1
1943
2111
  },
1944
- "autoplayControl": {
1945
- "summary": "autoplay control",
1946
- "why": "Motion- or noise-sensitive user may suffer harm",
1947
- "wcag": "1.4.2",
1948
- "weight": 2
2112
+ "targetsNear": {
2113
+ "summary": "small targets too near to each other",
2114
+ "why": "User cannot reliably choose an item to click or tap",
2115
+ "wcag": "2.5.8",
2116
+ "weight": 3
1949
2117
  },
1950
- "refresh": {
1951
- "summary": "element reloads or redirects",
1952
- "why": "Document change may surprise a user",
1953
- "wcag": "2.2.1",
2118
+ "targetTiny": {
2119
+ "summary": "target very small",
2120
+ "why": "User cannot reliably choose an item to click or tap",
2121
+ "wcag": "2.5.8",
1954
2122
  "weight": 3
1955
2123
  },
1956
- "parentBad": {
1957
- "summary": "parent invalid",
1958
- "why": "User cannot properly operate an item",
2124
+ "textAreaNoText": {
2125
+ "summary": "text area not named",
2126
+ "why": "User cannot get help on what information to enter in a form item",
1959
2127
  "wcag": "1.3.1",
1960
2128
  "weight": 4
1961
2129
  },
1962
- "inconsistentStyles": {
1963
- "summary": "inconsistent heading, link, or button styles",
1964
- "why": "User cannot easily distinguish items of different types",
1965
- "wcag": "3.2.4",
1966
- "weight": 1
2130
+ "textContentBad": {
2131
+ "summary": "element text content invalid",
2132
+ "why": "User may be unable to read all the page text",
2133
+ "wcag": "4.1",
2134
+ "weight": 3
1967
2135
  },
1968
- "zIndexNotZero": {
1969
- "summary": "z-index not zero",
1970
- "why": "User cannot predict the effect of clicking",
1971
- "wcag": "1.4",
2136
+ "textDistortion": {
2137
+ "summary": "text distortion",
2138
+ "why": "Text is difficult to read",
2139
+ "wcag": "3.1.5",
1972
2140
  "weight": 1
1973
2141
  },
1974
- "tabIndexPositive": {
1975
- "summary": "tabindex positive",
1976
- "why": "Keyboard-only user cannot predict the navigation sequence",
1977
- "wcag": "2.4.3",
1978
- "weight": 1
2142
+ "titleAsLabel": {
2143
+ "summary": "control has title instead of label",
2144
+ "why": "User cannot get help on how to operate a form item",
2145
+ "wcag": "2.4.6",
2146
+ "weight": 3
1979
2147
  },
1980
- "tabIndexEmpty": {
1981
- "summary": "tabindex empty",
1982
- "why": "Keyboard-only user cannot follow the intended navigation sequence",
2148
+ "titleBad": {
2149
+ "summary": "title attribute invalid",
2150
+ "why": "User gets too little, too much, or repeated help explaining an item",
1983
2151
  "wcag": "1.3.1",
1984
- "weight": 4
2152
+ "weight": 1
1985
2153
  },
1986
- "tabIndexInt": {
1987
- "summary": "tabindex not integer",
1988
- "why": "Keyboard-only user cannot follow the intended navigation sequence",
2154
+ "titleEmpty": {
2155
+ "summary": "title attribute empty",
2156
+ "why": "Hovering does not get the promised explanation of an item",
1989
2157
  "wcag": "1.3.1",
1990
- "weight": 4
2158
+ "weight": 1
1991
2159
  },
1992
- "tabIndexExtra": {
1993
- "summary": "tabindex redundant",
1994
- "why": "Revision risks interfering with navigation by a keyboard-only user",
2160
+ "titleLong": {
2161
+ "summary": "title long",
2162
+ "why": "Hovering makes an overly verbose explanation pop up",
2163
+ "wcag": "3.1.5",
2164
+ "weight": 2
2165
+ },
2166
+ "titleNotText": {
2167
+ "summary": "title contains ASCII art",
2168
+ "why": "Hovering makes a hard-to-understand explanation pop up",
2169
+ "wcag": "3.1.5",
2170
+ "weight": 2
2171
+ },
2172
+ "titleRedundant": {
2173
+ "summary": "title attribute redundant",
2174
+ "why": "Helper repeats the explanation of an item",
1995
2175
  "wcag": "1.3.1",
1996
2176
  "weight": 1
1997
2177
  },
1998
- "presentationGlobal": {
1999
- "summary": "global ARIA attribute nullifies presentation role",
2000
- "why": "User encounters content intended to be hidden",
2178
+ "typeBad": {
2179
+ "summary": "type invalid",
2180
+ "why": "Document styles are at risk of corruption",
2001
2181
  "wcag": "1.3.1",
2002
- "weight": 1
2182
+ "weight": 4
2003
2183
  },
2004
- "presentationTabIndexed": {
2005
- "summary": "tabindex attribute nullifies presentation role",
2006
- "why": "User encounters content intended to be hidden",
2184
+ "typeRedundant": {
2185
+ "summary": "type redundant",
2186
+ "why": "Document includes unnecessary code",
2007
2187
  "wcag": "1.3.1",
2008
2188
  "weight": 1
2009
2189
  },
2010
- "avNoText": {
2011
- "summary": "audio or video caption track missing",
2012
- "why": "User cannot get help reading speech as text",
2013
- "wcag": "1.2.1",
2190
+ "unfocusability": {
2191
+ "summary": "element not focusable",
2192
+ "why": "Keyboard-only user cannot choose an item to operate",
2193
+ "wcag": "2.1.1",
2014
2194
  "weight": 4
2015
2195
  },
2016
- "audioNoText": {
2017
- "summary": "audio track missing",
2018
- "why": "User cannot get help reading speech as text",
2019
- "wcag": "1.2.1",
2196
+ "verticalSpacingFrozen": {
2197
+ "summary": "vertical text spacing frozen",
2198
+ "why": "User cannot adjust the vertical text spacing for readability",
2199
+ "wcag": "1.4.12",
2020
2200
  "weight": 4
2021
2201
  },
2022
- "audioTextRisk": {
2023
- "summary": "audio not named?",
2024
- "why": "User may be unable to get help reading speech as text",
2202
+ "videoAlternative": {
2203
+ "summary": "video alternative missing",
2204
+ "why": "User cannot get help consuming a video recording as text or speech",
2025
2205
  "wcag": "1.2.1",
2026
- "weight": 1
2027
- },
2028
- "videoNoText": {
2029
- "summary": "video not named",
2030
- "why": "User cannot get help reading video content as text",
2031
- "wcag": "1.2.2",
2032
- "weight": 4
2033
- },
2034
- "videoNoTranscript": {
2035
- "summary": "video transcript missing",
2036
- "why": "User cannot get help reading video content as text",
2037
- "wcag": "1.2.2",
2038
2206
  "weight": 4
2039
2207
  },
2040
2208
  "videoCaptionRisk": {
@@ -2055,203 +2223,35 @@ const issuesData = {
2055
2223
  "wcag": "1.2.1",
2056
2224
  "weight": 4
2057
2225
  },
2058
- "videoAlternative": {
2059
- "summary": "video alternative missing",
2060
- "why": "User cannot get help consuming a video recording as text or speech",
2061
- "wcag": "1.2.1",
2062
- "weight": 4
2063
- },
2064
- "keyboardScroll": {
2065
- "summary": "element not scrollable",
2066
- "why": "Keyboard-only user cannot scroll an item",
2067
- "wcag": "2.1.1",
2226
+ "videoNoText": {
2227
+ "summary": "video not named",
2228
+ "why": "User cannot get help reading video content as text",
2229
+ "wcag": "1.2.2",
2068
2230
  "weight": 4
2069
2231
  },
2070
- "positionSticky": {
2071
- "summary": "position sticky",
2072
- "why": "User may be unable to see needed content or may be forced to scroll in both dimensions",
2073
- "wcag": "1.4.10",
2074
- "weight": 1
2075
- },
2076
- "scrollFocus": {
2077
- "summary": "scrollable element and children nonfocusable",
2078
- "why": "User may be unable to see all of an item without scrolling in both dimensions",
2079
- "wcag": "2.1.1",
2080
- "weight": 3
2081
- },
2082
- "scrollRisk": {
2083
- "summary": "container size unit not percentage",
2084
- "why": "User may be unable to see all of an item without scrolling in both dimensions",
2085
- "wcag": "1.4.10",
2086
- "weight": 1
2087
- },
2088
- "skipRepeatedContent": {
2089
- "summary": "skip method missing or invalid",
2090
- "why": "Keyboard-only user cannot easily reach the specific content of the page",
2091
- "wcag": "2.4.1",
2092
- "weight": 3,
2093
- "max": 2
2094
- },
2095
- "repeatedContentRisk": {
2096
- "summary": "skip method missing or invalid?",
2097
- "why": "Keyboard-only user may be unable easily to reach the specific content of the page",
2098
- "wcag": "2.4.1",
2099
- "weight": 1,
2100
- "max": 2
2101
- },
2102
- "submitButton": {
2103
- "summary": "form submission button missing",
2104
- "why": "User cannot easily submit a form",
2105
- "wcag": "3.2.2",
2106
- "weight": 3
2107
- },
2108
- "fragmentaryNoticeRisk": {
2109
- "summary": "assertive region not atomic",
2110
- "why": "User may be unable to get help on what content has changed",
2111
- "wcag": "4.1.3",
2112
- "weight": 2
2113
- },
2114
- "errorReferenceBad": {
2115
- "summary": "error reference invalid",
2116
- "why": "User cannot correct a form error",
2117
- "wcag": "3.3.1",
2232
+ "videoNoTranscript": {
2233
+ "summary": "video transcript missing",
2234
+ "why": "User cannot get help reading video content as text",
2235
+ "wcag": "1.2.2",
2118
2236
  "weight": 4
2119
2237
  },
2120
- "noScriptRisk": {
2121
- "summary": "noscript element not equivalent?",
2122
- "why": "User who has disabled JavaScript may be denied some content",
2123
- "wcag": "4.1",
2124
- "weight": 1
2125
- },
2126
- "flash": {
2127
- "summary": "flash content",
2128
- "why": "Document includes code that may not work and may jeopardize user security",
2129
- "wcag": "4.1",
2238
+ "visibleBulk": {
2239
+ "summary": "large visible-element count",
2240
+ "why": "User cannot easily find items in the page",
2241
+ "wcag": "2.4",
2130
2242
  "weight": 1,
2131
2243
  "max": 1
2132
2244
  },
2133
- "browserSupportRisk": {
2134
- "summary": "inputmode attribute",
2135
- "why": "Document may include code that the browser cannot process",
2136
- "wcag": "4.1",
2137
- "weight": 1
2138
- },
2139
- "attributeObsolete": {
2140
- "summary": "attribute obsolete",
2141
- "why": "Document includes obsolete code that the browser may fail to process",
2142
- "wcag": "4.1",
2143
- "weight": 3
2144
- },
2145
- "nonElement": {
2146
- "summary": "element unknown",
2147
- "why": "Document includes an unknown element that the browser cannot process",
2148
- "wcag": "4.1",
2149
- "weight": 4
2150
- },
2151
- "elementObsolete": {
2152
- "summary": "element obsolete",
2153
- "why": "Document includes obsolete code that the browser may fail to process",
2154
- "wcag": "4.1",
2155
- "weight": 3
2156
- },
2157
- "obsolete": {
2158
- "summary": "code obsolete",
2159
- "why": "Document contains code that is no longer standard",
2160
- "wcag": "4.1",
2161
- "weight": 3
2162
- },
2163
- "atRuleInvalid": {
2164
- "summary": "invalid at-rule",
2165
- "why": "Document cannot be properly displayed in particular contexts",
2166
- "wcag": "4.1",
2167
- "weight": 3
2168
- },
2169
- "cssInvalid": {
2170
- "summary": "CSS invalid",
2171
- "why": "Document cannot be properly displayed",
2172
- "wcag": "4.1",
2173
- "weight": 3
2174
- },
2175
- "elementClosure": {
2176
- "summary": "element closure invalid",
2177
- "why": "Document contains invalid code",
2178
- "wcag": "4.1.1",
2179
- "weight": 3
2180
- },
2181
- "nestingBad": {
2182
- "summary": "nesting invalid",
2183
- "why": "Document contains invalid code",
2184
- "wcag": "4.1.1",
2185
- "weight": 3
2186
- },
2187
- "characterBad": {
2188
- "summary": "invalid character",
2189
- "why": "Invalid character makes the page behave incorrectly",
2190
- "wcag": "4.1",
2191
- "weight": 3
2192
- },
2193
- "entityBad": {
2194
- "summary": "named character reference invalid",
2195
- "why": "User may be unable to read all the page text",
2196
- "wcag": "4.1",
2197
- "weight": 4
2198
- },
2199
- "textContentBad": {
2200
- "summary": "element text content invalid",
2201
- "why": "User may be unable to read all the page text",
2202
- "wcag": "4.1",
2203
- "weight": 3
2204
- },
2205
- "parseError": {
2206
- "summary": "code invalid",
2207
- "why": "Invalid code in the page may prevent a helper from working",
2208
- "wcag": "4.1",
2245
+ "visibleLabelNotInName": {
2246
+ "summary": "visible label not in name",
2247
+ "why": "User cannot get help choosing a form control to operate",
2248
+ "wcag": "2.5.3",
2209
2249
  "weight": 3
2210
2250
  },
2211
- "encodingMisdeclared": {
2212
- "summary": "text encoding wrongly declared",
2213
- "why": "User cannot read all of the text",
2214
- "wcag": "3.1.3",
2215
- "weight": 4,
2216
- "max": 1
2217
- },
2218
- "encodingBad": {
2219
- "summary": "text not Unicode-compliant",
2220
- "why": "User cannot read all of the text",
2221
- "wcag": "3.1.3",
2222
- "weight": 4
2223
- },
2224
- "encodingPrivate": {
2225
- "summary": "text in Private Use Area",
2226
- "why": "User cannot read all of the text",
2227
- "wcag": "3.1.3",
2228
- "weight": 4,
2229
- "max": 1
2230
- },
2231
- "captcha2": {
2232
- "summary": "captcha2",
2233
- "why": "User is prevented from consuming the page",
2234
- "wcag": "1.1.1",
2235
- "weight": 1,
2236
- "max": 1
2237
- },
2238
- "fatalError": {
2239
- "summary": "fatal error",
2240
- "why": "Document prevents testing for accessibility",
2241
- "wcag": "4.1",
2242
- "weight": 4,
2243
- "max": 1
2244
- },
2245
- "notValidatable": {
2246
- "summary": "item makes testing inconclusive",
2247
- "why": "Item prevents a conclusive accessibility test",
2248
- "wcag": "4.1",
2249
- "weight": 1
2250
- },
2251
- "svgNotValidatable": {
2252
- "summary": "SVG version not 1.1",
2253
- "why": "Item prevents testing image for accessibility",
2254
- "wcag": "4.1",
2251
+ "zIndexNotZero": {
2252
+ "summary": "z-index not zero",
2253
+ "why": "User cannot predict the effect of clicking",
2254
+ "wcag": "1.4",
2255
2255
  "weight": 1
2256
2256
  }
2257
2257
  };