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