testilo 13.6.0 → 13.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/procs/digest/tdp27/index.js +1 -2
- package/procs/score/tic27.js +77 -16
package/package.json
CHANGED
|
@@ -21,8 +21,7 @@ const innerJoiner = '\n ';
|
|
|
21
21
|
const htmlEscape = textOrNumber => textOrNumber
|
|
22
22
|
.toString()
|
|
23
23
|
.replace(/&/g, '&')
|
|
24
|
-
.replace(/</g, '<')
|
|
25
|
-
.replace(/"/g, '"');
|
|
24
|
+
.replace(/</g, '<');
|
|
26
25
|
// Gets a row of the score-summary table.
|
|
27
26
|
const getScoreRow = (componentName, score) => `<tr><th>${componentName}</th><td>${score}</td></tr>`;
|
|
28
27
|
// Adds parameters to a query for a digest.
|
package/procs/score/tic27.js
CHANGED
|
@@ -379,6 +379,11 @@ exports.issueClasses = {
|
|
|
379
379
|
variable: false,
|
|
380
380
|
quality: 1,
|
|
381
381
|
what: 'figure element has no associated label'
|
|
382
|
+
},
|
|
383
|
+
figure_label_exists: {
|
|
384
|
+
variable: false,
|
|
385
|
+
quality: 1,
|
|
386
|
+
what: 'figure element has no associated label'
|
|
382
387
|
}
|
|
383
388
|
}
|
|
384
389
|
}
|
|
@@ -431,10 +436,20 @@ exports.issueClasses = {
|
|
|
431
436
|
quality: 1,
|
|
432
437
|
what: 'Element with an img role has no non-empty label'
|
|
433
438
|
},
|
|
439
|
+
aria_img_labelled: {
|
|
440
|
+
variable: false,
|
|
441
|
+
quality: 1,
|
|
442
|
+
what: 'Element with an img role has no label or an empty label'
|
|
443
|
+
},
|
|
434
444
|
WCAG20_Img_HasAlt: {
|
|
435
445
|
variable: false,
|
|
436
446
|
quality: 1,
|
|
437
447
|
what: 'Image has no alt attribute conveying its meaning, or alt="" if decorative'
|
|
448
|
+
},
|
|
449
|
+
img_alt_valid: {
|
|
450
|
+
variable: false,
|
|
451
|
+
quality: 1,
|
|
452
|
+
what: 'Image has neither an alt attribute nor an ARIA label or title'
|
|
438
453
|
}
|
|
439
454
|
},
|
|
440
455
|
nuVal: {
|
|
@@ -1266,6 +1281,11 @@ exports.issueClasses = {
|
|
|
1266
1281
|
variable: false,
|
|
1267
1282
|
quality: 1,
|
|
1268
1283
|
what: 'Checkbox or radio button label precedes the input control'
|
|
1284
|
+
},
|
|
1285
|
+
input_label_after: {
|
|
1286
|
+
variable: false,
|
|
1287
|
+
quality: 1,
|
|
1288
|
+
what: 'Label text is located before its associated checkbox or radio button element'
|
|
1269
1289
|
}
|
|
1270
1290
|
},
|
|
1271
1291
|
qualWeb: {
|
|
@@ -2243,12 +2263,18 @@ exports.issueClasses = {
|
|
|
2243
2263
|
quality: 1,
|
|
2244
2264
|
what: 'Overflow is hidden or clipped if the text is enlarged'
|
|
2245
2265
|
}
|
|
2246
|
-
}
|
|
2266
|
+
}
|
|
2267
|
+
}
|
|
2268
|
+
},
|
|
2269
|
+
overflowHiddenRisk: {
|
|
2270
|
+
wcag: '1.4.4',
|
|
2271
|
+
weight: 1,
|
|
2272
|
+
tools: {
|
|
2247
2273
|
qualWeb: {
|
|
2248
2274
|
'QW-ACT-R40': {
|
|
2249
2275
|
variable: false,
|
|
2250
2276
|
quality: 1,
|
|
2251
|
-
what: 'Zoomed text node
|
|
2277
|
+
what: 'Zoomed text node may be clipped by a CSS overflow declaration'
|
|
2252
2278
|
}
|
|
2253
2279
|
}
|
|
2254
2280
|
}
|
|
@@ -2310,6 +2336,11 @@ exports.issueClasses = {
|
|
|
2310
2336
|
variable: false,
|
|
2311
2337
|
quality: 1,
|
|
2312
2338
|
what: 'link element with an as attribute has no rel attribute with preload, modulepreload, or prefetch as its value'
|
|
2339
|
+
},
|
|
2340
|
+
'A link element with an as attribute must have a rel attribute that contains the value preload or the value modulepreload.': {
|
|
2341
|
+
variable: false,
|
|
2342
|
+
quality: 1,
|
|
2343
|
+
what: 'link element with an as attribute has no rel attribute with preload or modulepreload as its value'
|
|
2313
2344
|
}
|
|
2314
2345
|
}
|
|
2315
2346
|
}
|
|
@@ -2562,6 +2593,11 @@ exports.issueClasses = {
|
|
|
2562
2593
|
quality: 1,
|
|
2563
2594
|
what: 'Element has a contentinfo role when no element has a main role'
|
|
2564
2595
|
},
|
|
2596
|
+
aria_contentinfo_misuse: {
|
|
2597
|
+
variable: false,
|
|
2598
|
+
quality: 1,
|
|
2599
|
+
what: 'Element with a contentinfo role is present without an element with a main role'
|
|
2600
|
+
},
|
|
2565
2601
|
Rpt_Aria_ValidRole: {
|
|
2566
2602
|
variable: false,
|
|
2567
2603
|
quality: 1,
|
|
@@ -4294,6 +4330,19 @@ exports.issueClasses = {
|
|
|
4294
4330
|
}
|
|
4295
4331
|
}
|
|
4296
4332
|
},
|
|
4333
|
+
noOptionFocusable: {
|
|
4334
|
+
wcag: '2.1.1',
|
|
4335
|
+
weight: 1,
|
|
4336
|
+
tools: {
|
|
4337
|
+
ibm: {
|
|
4338
|
+
aria_child_tabbable: {
|
|
4339
|
+
variable: false,
|
|
4340
|
+
quality: 1,
|
|
4341
|
+
what: 'No descendent element with an option role is tabbable'
|
|
4342
|
+
}
|
|
4343
|
+
}
|
|
4344
|
+
}
|
|
4345
|
+
},
|
|
4297
4346
|
accessKeyDuplicate: {
|
|
4298
4347
|
wcag: '1.3.1',
|
|
4299
4348
|
weight: 3,
|
|
@@ -4754,6 +4803,11 @@ exports.issueClasses = {
|
|
|
4754
4803
|
variable: false,
|
|
4755
4804
|
quality: 1,
|
|
4756
4805
|
what: 'Form control has no associated label'
|
|
4806
|
+
},
|
|
4807
|
+
input_label_exists: {
|
|
4808
|
+
variable: false,
|
|
4809
|
+
quality: 1,
|
|
4810
|
+
what: 'Element with the role of a form control has no associated label'
|
|
4757
4811
|
}
|
|
4758
4812
|
},
|
|
4759
4813
|
qualWeb: {
|
|
@@ -5351,6 +5405,11 @@ exports.issueClasses = {
|
|
|
5351
5405
|
variable: false,
|
|
5352
5406
|
quality: 1,
|
|
5353
5407
|
what: 'Element with a form role has no unique purpose label among the form-role elements'
|
|
5408
|
+
},
|
|
5409
|
+
aria_form_label_unique: {
|
|
5410
|
+
variable: false,
|
|
5411
|
+
quality: 1,
|
|
5412
|
+
what: 'Multiple elements with a form role do not have unique labels'
|
|
5354
5413
|
}
|
|
5355
5414
|
}
|
|
5356
5415
|
}
|
|
@@ -5435,6 +5494,11 @@ exports.issueClasses = {
|
|
|
5435
5494
|
variable: false,
|
|
5436
5495
|
quality: 1,
|
|
5437
5496
|
what: 'Element with a region role has no unique label among the region-role elements'
|
|
5497
|
+
},
|
|
5498
|
+
aria_region_label_unique: {
|
|
5499
|
+
variable: false,
|
|
5500
|
+
quality: 1,
|
|
5501
|
+
what: 'Multiple elements with a region role do not have unique labels'
|
|
5438
5502
|
}
|
|
5439
5503
|
}
|
|
5440
5504
|
}
|
|
@@ -5744,20 +5808,7 @@ exports.issueClasses = {
|
|
|
5744
5808
|
hover: {
|
|
5745
5809
|
variable: false,
|
|
5746
5810
|
quality: 1,
|
|
5747
|
-
what: 'Hovering is mis-indicated or changes content'
|
|
5748
|
-
}
|
|
5749
|
-
}
|
|
5750
|
-
}
|
|
5751
|
-
},
|
|
5752
|
-
hoverSurprise: {
|
|
5753
|
-
wcag: '1.4.13',
|
|
5754
|
-
weight: 3,
|
|
5755
|
-
tools: {
|
|
5756
|
-
testaro: {
|
|
5757
|
-
hover: {
|
|
5758
|
-
variable: false,
|
|
5759
|
-
quality: 1,
|
|
5760
|
-
what: 'Hovering over element has unexpected effects'
|
|
5811
|
+
what: 'Hovering is impossible or mis-indicated or changes content'
|
|
5761
5812
|
}
|
|
5762
5813
|
}
|
|
5763
5814
|
}
|
|
@@ -6886,6 +6937,16 @@ exports.issueClasses = {
|
|
|
6886
6937
|
}
|
|
6887
6938
|
},
|
|
6888
6939
|
nuVal: {
|
|
6940
|
+
'No space between attributes.': {
|
|
6941
|
+
variable: false,
|
|
6942
|
+
quality: 1,
|
|
6943
|
+
what: 'No space between attributes'
|
|
6944
|
+
},
|
|
6945
|
+
'Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)': {
|
|
6946
|
+
variable: false,
|
|
6947
|
+
quality: 1,
|
|
6948
|
+
what: 'Left angle bracket is followed by a question mark'
|
|
6949
|
+
},
|
|
6889
6950
|
'Almost standards mode doctype. Expected <!DOCTYPE html>.': {
|
|
6890
6951
|
variable: false,
|
|
6891
6952
|
quality: 1,
|