testilo 48.0.0 → 49.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/modify-htmlcs.js +66 -0
- package/package.json +1 -1
- package/procs/excerpts/excerpts.js +7 -0
- package/procs/score/tic.js +112 -112
package/modify-htmlcs.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*
|
|
2
|
+
modify-htmlcs.js
|
|
3
|
+
|
|
4
|
+
This script modifies a tic-old.js file to add prefixes to the htmlcs rule IDs.
|
|
5
|
+
|
|
6
|
+
The script is run from the command line as:
|
|
7
|
+
node modify-htmlcs.js
|
|
8
|
+
|
|
9
|
+
This script is no longer needed, but may serve as a template for future code modifications.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const fs = require('fs');
|
|
13
|
+
|
|
14
|
+
const filePath = '/Users/pool/Documents/Topics/repos/a11yTesting/testilo/procs/score/tic-old.js';
|
|
15
|
+
|
|
16
|
+
let content = fs.readFileSync(filePath, 'utf8');
|
|
17
|
+
|
|
18
|
+
const lines = content.split('\n');
|
|
19
|
+
let currentWeight = null;
|
|
20
|
+
let inHtmlcs = false;
|
|
21
|
+
let htmlcsIndent = 0;
|
|
22
|
+
|
|
23
|
+
for (let i = 0; i < lines.length; i++) {
|
|
24
|
+
const line = lines[i];
|
|
25
|
+
|
|
26
|
+
const weightMatch = line.match(/^\s+weight:\s*(\d+),?\s*$/);
|
|
27
|
+
if (weightMatch) {
|
|
28
|
+
currentWeight = parseInt(weightMatch[1]);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (line.match(/^\s+htmlcs:\s*\{/)) {
|
|
32
|
+
inHtmlcs = true;
|
|
33
|
+
htmlcsIndent = line.search(/\S/);
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (inHtmlcs) {
|
|
38
|
+
const currentIndent = line.search(/\S/);
|
|
39
|
+
|
|
40
|
+
if (currentIndent !== -1 && currentIndent <= htmlcsIndent) {
|
|
41
|
+
inHtmlcs = false;
|
|
42
|
+
currentWeight = null;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const propertyMatch = line.match(/^(\s+)'([^']+)':\s*\{/);
|
|
47
|
+
if (propertyMatch && currentWeight !== null) {
|
|
48
|
+
const indent = propertyMatch[1];
|
|
49
|
+
let propName = propertyMatch[2];
|
|
50
|
+
|
|
51
|
+
// Remove existing prefix if present
|
|
52
|
+
if (propName.startsWith('W-') || propName.startsWith('E-')) {
|
|
53
|
+
propName = propName.substring(2);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Apply correct prefix based on weight
|
|
57
|
+
const prefix = currentWeight === 1 ? 'W-' : 'E-';
|
|
58
|
+
lines[i] = `${indent}'${prefix}${propName}': {`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
content = lines.join('\n');
|
|
64
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
65
|
+
|
|
66
|
+
console.log('Modifications complete!');
|
package/package.json
CHANGED
|
@@ -75,6 +75,13 @@ exports.collateExcerpts = report => {
|
|
|
75
75
|
// For each path ID in it:
|
|
76
76
|
Object.keys(texts).forEach(pathID => {
|
|
77
77
|
const toolNames = Object.keys(texts[pathID]);
|
|
78
|
+
// XXX This will be needed only temporarily!
|
|
79
|
+
// Ensure that all of its texts are arrays.
|
|
80
|
+
Object.keys(texts[pathID]).forEach(toolName => {
|
|
81
|
+
if (typeof texts[pathID][toolName] === 'string') {
|
|
82
|
+
texts[pathID][toolName] = [texts[pathID][toolName]];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
78
85
|
// If the element has only 1 text:
|
|
79
86
|
if (toolNames.length === 1) {
|
|
80
87
|
// Change its key to unanimous.
|
package/procs/score/tic.js
CHANGED
|
@@ -527,7 +527,7 @@ exports.issues = {
|
|
|
527
527
|
}
|
|
528
528
|
},
|
|
529
529
|
htmlcs: {
|
|
530
|
-
'AAA.4_1_1.F77': {
|
|
530
|
+
'E-AAA.4_1_1.F77': {
|
|
531
531
|
variable: false,
|
|
532
532
|
quality: 1,
|
|
533
533
|
what: 'Duplicate id attribute value'
|
|
@@ -685,12 +685,12 @@ exports.issues = {
|
|
|
685
685
|
}
|
|
686
686
|
},
|
|
687
687
|
htmlcs: {
|
|
688
|
-
'AAA.4_1_2.H91.Input.Name': {
|
|
688
|
+
'E-AAA.4_1_2.H91.Input.Name': {
|
|
689
689
|
variable: false,
|
|
690
690
|
quality: 1,
|
|
691
691
|
what: 'Text input has no accessible name'
|
|
692
692
|
},
|
|
693
|
-
'
|
|
693
|
+
'E-^AAA\.4_1_2\.H91\.Input[-a-zA-Z]+\.Name$': {
|
|
694
694
|
variable: true,
|
|
695
695
|
quality: 1,
|
|
696
696
|
what: 'input element has no accessible name'
|
|
@@ -756,12 +756,12 @@ exports.issues = {
|
|
|
756
756
|
}
|
|
757
757
|
},
|
|
758
758
|
htmlcs: {
|
|
759
|
-
'H36': {
|
|
759
|
+
'E-H36': {
|
|
760
760
|
variable: false,
|
|
761
761
|
quality: 1,
|
|
762
762
|
what: 'Image submit button has no alt attribute'
|
|
763
763
|
},
|
|
764
|
-
'AAA.1_1_1.H36': {
|
|
764
|
+
'E-AAA.1_1_1.H36': {
|
|
765
765
|
variable: false,
|
|
766
766
|
quality: 1,
|
|
767
767
|
what: 'Image submit button has no alt attribute'
|
|
@@ -809,7 +809,7 @@ exports.issues = {
|
|
|
809
809
|
}
|
|
810
810
|
},
|
|
811
811
|
htmlcs: {
|
|
812
|
-
'AAA.4_1_2.H91.InputImage.Name': {
|
|
812
|
+
'E-AAA.4_1_2.H91.InputImage.Name': {
|
|
813
813
|
variable: false,
|
|
814
814
|
quality: 1,
|
|
815
815
|
what: 'Element is an image input but has no accessible name'
|
|
@@ -872,7 +872,7 @@ exports.issues = {
|
|
|
872
872
|
}
|
|
873
873
|
},
|
|
874
874
|
htmlcs: {
|
|
875
|
-
'AAA.1_1_1.H37': {
|
|
875
|
+
'E-AAA.1_1_1.H37': {
|
|
876
876
|
variable: false,
|
|
877
877
|
quality: 1,
|
|
878
878
|
what: 'img element has no alt attribute'
|
|
@@ -959,7 +959,7 @@ exports.issues = {
|
|
|
959
959
|
weight: 4,
|
|
960
960
|
tools: {
|
|
961
961
|
htmlcs: {
|
|
962
|
-
'AAA.4_1_2.H91.Svg.Name': {
|
|
962
|
+
'E-AAA.4_1_2.H91.Svg.Name': {
|
|
963
963
|
variable: false,
|
|
964
964
|
quality: 1,
|
|
965
965
|
what: 'Element is svg but has no accessible name'
|
|
@@ -1350,7 +1350,7 @@ exports.issues = {
|
|
|
1350
1350
|
weight: 1,
|
|
1351
1351
|
tools: {
|
|
1352
1352
|
htmlcs: {
|
|
1353
|
-
'AAA.1_1_1.H67.2': {
|
|
1353
|
+
'W-AAA.1_1_1.H67.2': {
|
|
1354
1354
|
variable: false,
|
|
1355
1355
|
quality: 1,
|
|
1356
1356
|
what: 'Image marked as decorative is informative?'
|
|
@@ -1443,7 +1443,7 @@ exports.issues = {
|
|
|
1443
1443
|
}
|
|
1444
1444
|
},
|
|
1445
1445
|
htmlcs: {
|
|
1446
|
-
'AAA.3_1_1.H57.2': {
|
|
1446
|
+
'E-AAA.3_1_1.H57.2': {
|
|
1447
1447
|
variable: false,
|
|
1448
1448
|
quality: 1,
|
|
1449
1449
|
what: 'html element has no lang or xml:lang attribute'
|
|
@@ -1530,7 +1530,7 @@ exports.issues = {
|
|
|
1530
1530
|
}
|
|
1531
1531
|
},
|
|
1532
1532
|
htmlcs: {
|
|
1533
|
-
'AAA.3_1_1.H57.3.Lang': {
|
|
1533
|
+
'E-AAA.3_1_1.H57.3.Lang': {
|
|
1534
1534
|
variable: false,
|
|
1535
1535
|
quality: 1,
|
|
1536
1536
|
what: 'Language specified in the lang attribute of the document does not appear to be well-formed'
|
|
@@ -1571,7 +1571,7 @@ exports.issues = {
|
|
|
1571
1571
|
weight: 4,
|
|
1572
1572
|
tools: {
|
|
1573
1573
|
htmlcs: {
|
|
1574
|
-
'AAA.3_1_2.H58.1.Lang': {
|
|
1574
|
+
'E-AAA.3_1_2.H58.1.Lang': {
|
|
1575
1575
|
variable: false,
|
|
1576
1576
|
quality: 1,
|
|
1577
1577
|
what: 'Language specified in the lang attribute of the element does not appear to be well-formed'
|
|
@@ -1628,7 +1628,7 @@ exports.issues = {
|
|
|
1628
1628
|
}
|
|
1629
1629
|
},
|
|
1630
1630
|
htmlcs: {
|
|
1631
|
-
'WCAG2AAA.Principle3.Guideline3_1.3_1_2.H58': {
|
|
1631
|
+
'E-WCAG2AAA.Principle3.Guideline3_1.3_1_2.H58': {
|
|
1632
1632
|
variable: false,
|
|
1633
1633
|
quality: 1,
|
|
1634
1634
|
what: 'Change in language is not marked'
|
|
@@ -1691,12 +1691,12 @@ exports.issues = {
|
|
|
1691
1691
|
}
|
|
1692
1692
|
},
|
|
1693
1693
|
htmlcs: {
|
|
1694
|
-
'ARIA6+H53': {
|
|
1694
|
+
'E-ARIA6+H53': {
|
|
1695
1695
|
variable: false,
|
|
1696
1696
|
quality: 1,
|
|
1697
1697
|
what: 'object element contains no text alternative'
|
|
1698
1698
|
},
|
|
1699
|
-
'AAA.1_1_1.H53,ARIA6': {
|
|
1699
|
+
'E-AAA.1_1_1.H53,ARIA6': {
|
|
1700
1700
|
variable: false,
|
|
1701
1701
|
quality: 1,
|
|
1702
1702
|
what: 'object element contains no text alternative after all other alternatives are exhausted'
|
|
@@ -1818,7 +1818,7 @@ exports.issues = {
|
|
|
1818
1818
|
}
|
|
1819
1819
|
},
|
|
1820
1820
|
htmlcs: {
|
|
1821
|
-
'AAA.1_1_1.H24': {
|
|
1821
|
+
'E-AAA.1_1_1.H24': {
|
|
1822
1822
|
variable: false,
|
|
1823
1823
|
quality: 1,
|
|
1824
1824
|
what: 'Element is an area in an image map but has no alt attribute'
|
|
@@ -1862,7 +1862,7 @@ exports.issues = {
|
|
|
1862
1862
|
weight: 1,
|
|
1863
1863
|
tools: {
|
|
1864
1864
|
htmlcs: {
|
|
1865
|
-
'AAA.2_1_2.F10': {
|
|
1865
|
+
'W-AAA.2_1_2.F10': {
|
|
1866
1866
|
variable: false,
|
|
1867
1867
|
quality: 1,
|
|
1868
1868
|
what: 'Applet or plugin fails to enable moving the focus away with the keyboard?'
|
|
@@ -1877,27 +1877,27 @@ exports.issues = {
|
|
|
1877
1877
|
weight: 1,
|
|
1878
1878
|
tools: {
|
|
1879
1879
|
htmlcs: {
|
|
1880
|
-
'AAA.2_1_1.G90': {
|
|
1880
|
+
'W-AAA.2_1_1.G90': {
|
|
1881
1881
|
variable: false,
|
|
1882
1882
|
quality: 1,
|
|
1883
1883
|
what: 'Event handler functionality is not available by keyboard?'
|
|
1884
1884
|
},
|
|
1885
|
-
'AAA.2_1_1.SCR20.MouseOut': {
|
|
1885
|
+
'W-AAA.2_1_1.SCR20.MouseOut': {
|
|
1886
1886
|
variable: false,
|
|
1887
1887
|
quality: 1,
|
|
1888
1888
|
what: 'Mousing-out functionality is not available by keyboard?'
|
|
1889
1889
|
},
|
|
1890
|
-
'AAA.2_1_1.SCR20.MouseOver': {
|
|
1890
|
+
'W-AAA.2_1_1.SCR20.MouseOver': {
|
|
1891
1891
|
variable: false,
|
|
1892
1892
|
quality: 1,
|
|
1893
1893
|
what: 'Mousing-over functionality is not available by keyboard?'
|
|
1894
1894
|
},
|
|
1895
|
-
'AAA.2_1_1.SCR20.MouseDown': {
|
|
1895
|
+
'W-AAA.2_1_1.SCR20.MouseDown': {
|
|
1896
1896
|
variable: false,
|
|
1897
1897
|
quality: 1,
|
|
1898
1898
|
what: 'Mousing-down functionality is not available by keyboard?'
|
|
1899
1899
|
},
|
|
1900
|
-
'AAA.2_1_1.SCR20.MouseUp': {
|
|
1900
|
+
'W-AAA.2_1_1.SCR20.MouseUp': {
|
|
1901
1901
|
variable: false,
|
|
1902
1902
|
quality: 1,
|
|
1903
1903
|
what: 'Mousing-up functionality is not available by keyboard?'
|
|
@@ -1947,7 +1947,7 @@ exports.issues = {
|
|
|
1947
1947
|
}
|
|
1948
1948
|
},
|
|
1949
1949
|
htmlcs: {
|
|
1950
|
-
'AAA.2_4_1.G1,G123,G124.NoSuchID': {
|
|
1950
|
+
'E-AAA.2_4_1.G1,G123,G124.NoSuchID': {
|
|
1951
1951
|
variable: false,
|
|
1952
1952
|
quality: 1,
|
|
1953
1953
|
what: 'Internal link references a nonexistent destination'
|
|
@@ -1983,7 +1983,7 @@ exports.issues = {
|
|
|
1983
1983
|
}
|
|
1984
1984
|
},
|
|
1985
1985
|
htmlcs: {
|
|
1986
|
-
'AAA.1_3_1.H44.NotFormControl': {
|
|
1986
|
+
'E-AAA.1_3_1.H44.NotFormControl': {
|
|
1987
1987
|
variable: false,
|
|
1988
1988
|
quality: 1,
|
|
1989
1989
|
what: 'Referent of the for attribute of the label is not a form control, so is wrong?'
|
|
@@ -2247,17 +2247,17 @@ exports.issues = {
|
|
|
2247
2247
|
}
|
|
2248
2248
|
},
|
|
2249
2249
|
htmlcs: {
|
|
2250
|
-
'AAA.1_3_1.H44.NonExistentFragment': {
|
|
2250
|
+
'E-AAA.1_3_1.H44.NonExistentFragment': {
|
|
2251
2251
|
variable: false,
|
|
2252
2252
|
quality: 1,
|
|
2253
2253
|
what: 'Label for attribute references a nonexistent element'
|
|
2254
2254
|
},
|
|
2255
|
-
'AAA.1_3_1.ARIA16,ARIA9': {
|
|
2255
|
+
'E-AAA.1_3_1.ARIA16,ARIA9': {
|
|
2256
2256
|
variable: false,
|
|
2257
2257
|
quality: 1,
|
|
2258
2258
|
what: 'aria-labelledby attribute references a nonexistent element'
|
|
2259
2259
|
},
|
|
2260
|
-
'AAA.4_1_2.ARIA16,ARIA9': {
|
|
2260
|
+
'E-AAA.4_1_2.ARIA16,ARIA9': {
|
|
2261
2261
|
variable: false,
|
|
2262
2262
|
quality: 1,
|
|
2263
2263
|
what: 'aria-labelledby attribute references a nonexistent element'
|
|
@@ -2396,22 +2396,22 @@ exports.issues = {
|
|
|
2396
2396
|
}
|
|
2397
2397
|
},
|
|
2398
2398
|
htmlcs: {
|
|
2399
|
-
'AAA.4_1_2.H91.A.Empty': {
|
|
2399
|
+
'E-AAA.4_1_2.H91.A.Empty': {
|
|
2400
2400
|
variable: false,
|
|
2401
2401
|
quality: 1,
|
|
2402
2402
|
what: 'a element has an id attribute but no href attribute or text'
|
|
2403
2403
|
},
|
|
2404
|
-
'AAA.4_1_2.H91.A.EmptyNoId': {
|
|
2404
|
+
'E-AAA.4_1_2.H91.A.EmptyNoId': {
|
|
2405
2405
|
variable: false,
|
|
2406
2406
|
quality: 1,
|
|
2407
2407
|
what: 'Link has no name or id attribute or value'
|
|
2408
2408
|
},
|
|
2409
|
-
'AAA.4_1_2.H91.A.EmptyWithName': {
|
|
2409
|
+
'E-AAA.4_1_2.H91.A.EmptyWithName': {
|
|
2410
2410
|
variable: false,
|
|
2411
2411
|
quality: 1,
|
|
2412
2412
|
what: 'Link has a name attribute but no href attribute or text'
|
|
2413
2413
|
},
|
|
2414
|
-
'AAA.4_1_2.H91.A.NoContent': {
|
|
2414
|
+
'E-AAA.4_1_2.H91.A.NoContent': {
|
|
2415
2415
|
variable: false,
|
|
2416
2416
|
quality: 1,
|
|
2417
2417
|
what: 'Link has an href attribute but not named'
|
|
@@ -2483,7 +2483,7 @@ exports.issues = {
|
|
|
2483
2483
|
}
|
|
2484
2484
|
},
|
|
2485
2485
|
htmlcs: {
|
|
2486
|
-
'AAA.1_1_1.H30.2': {
|
|
2486
|
+
'E-AAA.1_1_1.H30.2': {
|
|
2487
2487
|
variable: false,
|
|
2488
2488
|
quality: 1,
|
|
2489
2489
|
what: 'img element is the only link content but has no text alternative'
|
|
@@ -2539,7 +2539,7 @@ exports.issues = {
|
|
|
2539
2539
|
weight: 2,
|
|
2540
2540
|
tools: {
|
|
2541
2541
|
htmlcs: {
|
|
2542
|
-
'AAA.4_1_2.H91.A.Placeholder': {
|
|
2542
|
+
'E-AAA.4_1_2.H91.A.Placeholder': {
|
|
2543
2543
|
variable: false,
|
|
2544
2544
|
quality: 1,
|
|
2545
2545
|
what: 'Link has text but no href, id, or name attribute'
|
|
@@ -2561,7 +2561,7 @@ exports.issues = {
|
|
|
2561
2561
|
weight: 3,
|
|
2562
2562
|
tools: {
|
|
2563
2563
|
htmlcs: {
|
|
2564
|
-
'AAA.2_4_8.H59.2b': {
|
|
2564
|
+
'E-AAA.2_4_8.H59.2b': {
|
|
2565
2565
|
variable: false,
|
|
2566
2566
|
quality: 1,
|
|
2567
2567
|
what: 'link element is missing a non-empty href for the linked resource'
|
|
@@ -2656,7 +2656,7 @@ exports.issues = {
|
|
|
2656
2656
|
}
|
|
2657
2657
|
},
|
|
2658
2658
|
htmlcs: {
|
|
2659
|
-
'AAA.4_1_2.H91.A.NoHref': {
|
|
2659
|
+
'E-AAA.4_1_2.H91.A.NoHref': {
|
|
2660
2660
|
variable: false,
|
|
2661
2661
|
quality: 1,
|
|
2662
2662
|
what: 'Link is misused as a link destination'
|
|
@@ -2744,7 +2744,7 @@ exports.issues = {
|
|
|
2744
2744
|
weight: 4,
|
|
2745
2745
|
tools: {
|
|
2746
2746
|
htmlcs: {
|
|
2747
|
-
'AAA.4_1_2.H91.Textarea.Name': {
|
|
2747
|
+
'E-AAA.4_1_2.H91.Textarea.Name': {
|
|
2748
2748
|
variable: false,
|
|
2749
2749
|
quality: 1,
|
|
2750
2750
|
what: 'textarea element has no accessible name'
|
|
@@ -2766,7 +2766,7 @@ exports.issues = {
|
|
|
2766
2766
|
weight: 2,
|
|
2767
2767
|
tools: {
|
|
2768
2768
|
htmlcs: {
|
|
2769
|
-
'AAA.1_1_1.H2.EG3': {
|
|
2769
|
+
'E-AAA.1_1_1.H2.EG3': {
|
|
2770
2770
|
variable: false,
|
|
2771
2771
|
quality: 1,
|
|
2772
2772
|
what: 'alt value of the link img element duplicates the text of a link beside it'
|
|
@@ -2867,7 +2867,7 @@ exports.issues = {
|
|
|
2867
2867
|
weight: 1,
|
|
2868
2868
|
tools: {
|
|
2869
2869
|
htmlcs: {
|
|
2870
|
-
'AAA.1_1_1.H2.EG4': {
|
|
2870
|
+
'W-AAA.1_1_1.H2.EG4': {
|
|
2871
2871
|
variable: false,
|
|
2872
2872
|
quality: 1,
|
|
2873
2873
|
what: 'Adjacent links, one with text and the other with a textless image, merit combination?'
|
|
@@ -2935,12 +2935,12 @@ exports.issues = {
|
|
|
2935
2935
|
}
|
|
2936
2936
|
},
|
|
2937
2937
|
htmlcs: {
|
|
2938
|
-
'WCAG2AAA.Principle3.Guideline3_2.3_2_5.H83.3': {
|
|
2938
|
+
'W-WCAG2AAA.Principle3.Guideline3_2.3_2_5.H83.3': {
|
|
2939
2939
|
variable: false,
|
|
2940
2940
|
quality: 1,
|
|
2941
2941
|
what: 'Link opens in a new window without notice?'
|
|
2942
2942
|
},
|
|
2943
|
-
'AAA.3_2_5.H83.3': {
|
|
2943
|
+
'W-AAA.3_2_5.H83.3': {
|
|
2944
2944
|
variable: false,
|
|
2945
2945
|
quality: 1,
|
|
2946
2946
|
what: 'Link text fails to indicate that the link will open in a new window?'
|
|
@@ -3105,32 +3105,32 @@ exports.issues = {
|
|
|
3105
3105
|
}
|
|
3106
3106
|
},
|
|
3107
3107
|
htmlcs: {
|
|
3108
|
-
'AAA.4_1_2.H91.A.Name': {
|
|
3108
|
+
'E-AAA.4_1_2.H91.A.Name': {
|
|
3109
3109
|
variable: false,
|
|
3110
3110
|
quality: 1,
|
|
3111
3111
|
what: 'Link with button role has no accessible name'
|
|
3112
3112
|
},
|
|
3113
|
-
'AAA.4_1_2.H91.Div.Name': {
|
|
3113
|
+
'E-AAA.4_1_2.H91.Div.Name': {
|
|
3114
3114
|
variable: false,
|
|
3115
3115
|
quality: 1,
|
|
3116
3116
|
what: 'div element with button role has no accessible name'
|
|
3117
3117
|
},
|
|
3118
|
-
'AAA.4_1_2.H91.Button.Name': {
|
|
3118
|
+
'E-AAA.4_1_2.H91.Button.Name': {
|
|
3119
3119
|
variable: false,
|
|
3120
3120
|
quality: 1,
|
|
3121
3121
|
what: 'button element has no accessible name'
|
|
3122
3122
|
},
|
|
3123
|
-
'AAA.4_1_2.H91.Img.Name': {
|
|
3123
|
+
'E-AAA.4_1_2.H91.Img.Name': {
|
|
3124
3124
|
variable: false,
|
|
3125
3125
|
quality: 1,
|
|
3126
3126
|
what: 'img element with button role has no accessible name'
|
|
3127
3127
|
},
|
|
3128
|
-
'AAA.4_1_2.H91.InputButton.Name': {
|
|
3128
|
+
'E-AAA.4_1_2.H91.InputButton.Name': {
|
|
3129
3129
|
variable: false,
|
|
3130
3130
|
quality: 1,
|
|
3131
3131
|
what: 'Button input element has no accessible name'
|
|
3132
3132
|
},
|
|
3133
|
-
'AAA.4_1_2.H91.Span.Name': {
|
|
3133
|
+
'E-AAA.4_1_2.H91.Span.Name': {
|
|
3134
3134
|
variable: false,
|
|
3135
3135
|
quality: 1,
|
|
3136
3136
|
what: 'Element with button role has no accessible name'
|
|
@@ -3347,7 +3347,7 @@ exports.issues = {
|
|
|
3347
3347
|
weight: 4,
|
|
3348
3348
|
tools: {
|
|
3349
3349
|
htmlcs: {
|
|
3350
|
-
'AAA.1_3_1.F92,ARIA4': {
|
|
3350
|
+
'E-AAA.1_3_1.F92,ARIA4': {
|
|
3351
3351
|
variable: false,
|
|
3352
3352
|
quality: 1,
|
|
3353
3353
|
what: 'Element has presentation role but semantic child'
|
|
@@ -3813,7 +3813,7 @@ exports.issues = {
|
|
|
3813
3813
|
weight: 4,
|
|
3814
3814
|
tools: {
|
|
3815
3815
|
htmlcs: {
|
|
3816
|
-
'AAA.2_4_8.H59.1': {
|
|
3816
|
+
'E-AAA.2_4_8.H59.1': {
|
|
3817
3817
|
variable: false,
|
|
3818
3818
|
quality: 1,
|
|
3819
3819
|
what: 'Element is not in the document head'
|
|
@@ -3849,12 +3849,12 @@ exports.issues = {
|
|
|
3849
3849
|
weight: 4,
|
|
3850
3850
|
tools: {
|
|
3851
3851
|
htmlcs: {
|
|
3852
|
-
'AAA.2_4_8.H59.2a': {
|
|
3852
|
+
'E-AAA.2_4_8.H59.2a': {
|
|
3853
3853
|
variable: false,
|
|
3854
3854
|
quality: 1,
|
|
3855
3855
|
what: 'Element has no nonempty rel attribute for the type'
|
|
3856
3856
|
},
|
|
3857
|
-
'A link element with an as attribute must have a rel attribute that contains the value preload or the value modulepreload or the value prefetch.': {
|
|
3857
|
+
'E-A link element with an as attribute must have a rel attribute that contains the value preload or the value modulepreload or the value prefetch.': {
|
|
3858
3858
|
variable: false,
|
|
3859
3859
|
quality: 1,
|
|
3860
3860
|
what: 'Element with an as attribute has no rel attribute with preload, modulepreload, or prefetch as its value'
|
|
@@ -4188,7 +4188,7 @@ exports.issues = {
|
|
|
4188
4188
|
}
|
|
4189
4189
|
},
|
|
4190
4190
|
htmlcs: {
|
|
4191
|
-
'AAA.2_4_1.H64.1': {
|
|
4191
|
+
'E-AAA.2_4_1.H64.1': {
|
|
4192
4192
|
variable: false,
|
|
4193
4193
|
quality: 1,
|
|
4194
4194
|
what: 'iframe element has no non-empty title attribute'
|
|
@@ -5276,7 +5276,7 @@ exports.issues = {
|
|
|
5276
5276
|
}
|
|
5277
5277
|
},
|
|
5278
5278
|
htmlcs: {
|
|
5279
|
-
'AAA.1_3_5.H98': {
|
|
5279
|
+
'E-AAA.1_3_5.H98': {
|
|
5280
5280
|
variable: false,
|
|
5281
5281
|
quality: 1,
|
|
5282
5282
|
what: 'autocomplete attribute and the input type are mismatched'
|
|
@@ -5351,7 +5351,7 @@ exports.issues = {
|
|
|
5351
5351
|
weight: 1,
|
|
5352
5352
|
tools: {
|
|
5353
5353
|
htmlcs: {
|
|
5354
|
-
'AAA.1_3_5.H98': {
|
|
5354
|
+
'W-AAA.1_3_5.H98': {
|
|
5355
5355
|
variable: false,
|
|
5356
5356
|
quality: 1,
|
|
5357
5357
|
what: 'Element contains a potentially faulty value in its autocomplete attribute'
|
|
@@ -5434,17 +5434,17 @@ exports.issues = {
|
|
|
5434
5434
|
}
|
|
5435
5435
|
},
|
|
5436
5436
|
htmlcs: {
|
|
5437
|
-
'AAA.1_4_3.G145.Fail': {
|
|
5437
|
+
'E-AAA.1_4_3.G145.Fail': {
|
|
5438
5438
|
variable: false,
|
|
5439
5439
|
quality: 1,
|
|
5440
5440
|
what: 'Contrast between the text and its background is less than 3:1'
|
|
5441
5441
|
},
|
|
5442
|
-
'AAA.1_4_3.G18.Fail': {
|
|
5442
|
+
'E-AAA.1_4_3.G18.Fail': {
|
|
5443
5443
|
variable: false,
|
|
5444
5444
|
quality: 1,
|
|
5445
5445
|
what: 'Contrast between the text and its background is less than 4.5:1'
|
|
5446
5446
|
},
|
|
5447
|
-
'AAA.1_4_6.G18.Fail': {
|
|
5447
|
+
'E-AAA.1_4_6.G18.Fail': {
|
|
5448
5448
|
variable: false,
|
|
5449
5449
|
quality: 1,
|
|
5450
5450
|
what: 'Contrast between the text and its background is less than 4.5:1'
|
|
@@ -5511,12 +5511,12 @@ exports.issues = {
|
|
|
5511
5511
|
}
|
|
5512
5512
|
},
|
|
5513
5513
|
htmlcs: {
|
|
5514
|
-
'WCAG2AAA.Principle1.Guideline1_4.1_4_3.G18': {
|
|
5514
|
+
'W-WCAG2AAA.Principle1.Guideline1_4.1_4_3.G18': {
|
|
5515
5515
|
variable: false,
|
|
5516
5516
|
quality: 1,
|
|
5517
5517
|
what: 'Insufficient contrast'
|
|
5518
5518
|
},
|
|
5519
|
-
'AAA.1_4_6.G17.Fail': {
|
|
5519
|
+
'W-AAA.1_4_6.G17.Fail': {
|
|
5520
5520
|
variable: false,
|
|
5521
5521
|
quality: 1,
|
|
5522
5522
|
what: 'Text has insufficient contrast'
|
|
@@ -5569,62 +5569,62 @@ exports.issues = {
|
|
|
5569
5569
|
}
|
|
5570
5570
|
},
|
|
5571
5571
|
htmlcs: {
|
|
5572
|
-
'AAA.1_4_3_F24.F24.BGColour': {
|
|
5572
|
+
'W-AAA.1_4_3_F24.F24.BGColour': {
|
|
5573
5573
|
variable: false,
|
|
5574
5574
|
quality: 1,
|
|
5575
5575
|
what: 'Inline background color lacks a complementary foreground color?'
|
|
5576
5576
|
},
|
|
5577
|
-
'AAA.1_4_6.G18.BgImage': {
|
|
5577
|
+
'W-AAA.1_4_6.G18.BgImage': {
|
|
5578
5578
|
variable: false,
|
|
5579
5579
|
quality: 1,
|
|
5580
5580
|
what: 'Contrast between the text and the background image is less than 4.5:1?'
|
|
5581
5581
|
},
|
|
5582
|
-
'AAA.1_4_3_F24.F24.FGColour': {
|
|
5582
|
+
'W-AAA.1_4_3_F24.F24.FGColour': {
|
|
5583
5583
|
variable: false,
|
|
5584
5584
|
quality: 1,
|
|
5585
5585
|
what: 'Inline foreground color lacks a complementary background color?'
|
|
5586
5586
|
},
|
|
5587
|
-
'AAA.1_4_3.G18.Abs': {
|
|
5587
|
+
'W-AAA.1_4_3.G18.Abs': {
|
|
5588
5588
|
variable: false,
|
|
5589
5589
|
quality: 1,
|
|
5590
5590
|
what: 'Contrast between the absolutely positioned text and its background is inadequate?'
|
|
5591
5591
|
},
|
|
5592
|
-
'AAA.1_4_6.G18.Abs': {
|
|
5592
|
+
'W-AAA.1_4_6.G18.Abs': {
|
|
5593
5593
|
variable: false,
|
|
5594
5594
|
quality: 1,
|
|
5595
5595
|
what: 'Contrast between the absolutely positioned text and its background is less than 4.5:1?'
|
|
5596
5596
|
},
|
|
5597
|
-
'AAA.1_4_3.G18.Alpha': {
|
|
5597
|
+
'W-AAA.1_4_3.G18.Alpha': {
|
|
5598
5598
|
variable: false,
|
|
5599
5599
|
quality: 1,
|
|
5600
5600
|
what: 'Contrast between the text and its background is less than 4.5:1, given the transparency?'
|
|
5601
5601
|
},
|
|
5602
|
-
'AAA.1_4_3.G145.Abs': {
|
|
5602
|
+
'W-AAA.1_4_3.G145.Abs': {
|
|
5603
5603
|
variable: false,
|
|
5604
5604
|
quality: 1,
|
|
5605
5605
|
what: 'Contrast between the absolutely positioned large text and its background is less than 3:1?'
|
|
5606
5606
|
},
|
|
5607
|
-
'AAA.1_4_3.G145.Alpha': {
|
|
5607
|
+
'W-AAA.1_4_3.G145.Alpha': {
|
|
5608
5608
|
variable: false,
|
|
5609
5609
|
quality: 1,
|
|
5610
5610
|
what: 'Contrast between the text and its background is less than 3:1, given the transparency?'
|
|
5611
5611
|
},
|
|
5612
|
-
'AAA.1_4_3.G145.BgImage': {
|
|
5612
|
+
'W-AAA.1_4_3.G145.BgImage': {
|
|
5613
5613
|
variable: false,
|
|
5614
5614
|
quality: 1,
|
|
5615
5615
|
what: 'Contrast between the text and its background image is less than 3:1?'
|
|
5616
5616
|
},
|
|
5617
|
-
'AAA.1_4_3.G18.BgImage': {
|
|
5617
|
+
'W-AAA.1_4_3.G18.BgImage': {
|
|
5618
5618
|
variable: false,
|
|
5619
5619
|
quality: 1,
|
|
5620
5620
|
what: 'Contrast between the text and its background image is less than 4.5:1?',
|
|
5621
5621
|
},
|
|
5622
|
-
'AAA.1_4_6.G17.Abs': {
|
|
5622
|
+
'W-AAA.1_4_6.G17.Abs': {
|
|
5623
5623
|
variable: false,
|
|
5624
5624
|
quality: 1,
|
|
5625
5625
|
what: 'Contrast between the absolutely positioned text and its background is less than 7:1?'
|
|
5626
5626
|
},
|
|
5627
|
-
'AAA.1_4_6.G17.BgImage': {
|
|
5627
|
+
'W-AAA.1_4_6.G17.BgImage': {
|
|
5628
5628
|
variable: false,
|
|
5629
5629
|
quality: 1,
|
|
5630
5630
|
what: 'Contrast between the text and its background image is less than 7:1?'
|
|
@@ -5795,7 +5795,7 @@ exports.issues = {
|
|
|
5795
5795
|
}
|
|
5796
5796
|
},
|
|
5797
5797
|
htmlcs: {
|
|
5798
|
-
'AAA.1_3_1.H42.2': {
|
|
5798
|
+
'E-AAA.1_3_1.H42.2': {
|
|
5799
5799
|
variable: false,
|
|
5800
5800
|
quality: 1,
|
|
5801
5801
|
what: 'Heading is empty'
|
|
@@ -5964,7 +5964,7 @@ exports.issues = {
|
|
|
5964
5964
|
}
|
|
5965
5965
|
},
|
|
5966
5966
|
htmlcs: {
|
|
5967
|
-
'AAA.1_1_1.H67.1': {
|
|
5967
|
+
'W-AAA.1_1_1.H67.1': {
|
|
5968
5968
|
variable: false,
|
|
5969
5969
|
quality: 1,
|
|
5970
5970
|
what: 'Element has an empty alt attribute but has a nonempty title attribute'
|
|
@@ -6037,12 +6037,12 @@ exports.issues = {
|
|
|
6037
6037
|
}
|
|
6038
6038
|
},
|
|
6039
6039
|
htmlcs: {
|
|
6040
|
-
'AAA.1_3_1.H65': {
|
|
6040
|
+
'W-AAA.1_3_1.H65': {
|
|
6041
6041
|
variable: false,
|
|
6042
6042
|
quality: 0.5,
|
|
6043
6043
|
what: 'title attribute of the form control is empty or only whitespace'
|
|
6044
6044
|
},
|
|
6045
|
-
'AAA.4_1_2.H65': {
|
|
6045
|
+
'W-AAA.4_1_2.H65': {
|
|
6046
6046
|
variable: false,
|
|
6047
6047
|
quality: 0.5,
|
|
6048
6048
|
what: 'title attribute of the form control is empty or only whitespace'
|
|
@@ -6209,12 +6209,12 @@ exports.issues = {
|
|
|
6209
6209
|
}
|
|
6210
6210
|
},
|
|
6211
6211
|
htmlcs: {
|
|
6212
|
-
'AAA.2_4_2.H25.1.NoTitleEl': {
|
|
6212
|
+
'E-AAA.2_4_2.H25.1.NoTitleEl': {
|
|
6213
6213
|
variable: false,
|
|
6214
6214
|
quality: 1,
|
|
6215
6215
|
what: 'Document head element contains no title element'
|
|
6216
6216
|
},
|
|
6217
|
-
'AAA.2_4_2.H25.1.EmptyTitle': {
|
|
6217
|
+
'E-AAA.2_4_2.H25.1.EmptyTitle': {
|
|
6218
6218
|
variable: false,
|
|
6219
6219
|
quality: 1,
|
|
6220
6220
|
what: 'Document head element contains an empty title element'
|
|
@@ -6332,7 +6332,7 @@ exports.issues = {
|
|
|
6332
6332
|
}
|
|
6333
6333
|
},
|
|
6334
6334
|
htmlcs: {
|
|
6335
|
-
'AAA.1_3_1_AAA.G141': {
|
|
6335
|
+
'E-AAA.1_3_1_AAA.G141': {
|
|
6336
6336
|
variable: false,
|
|
6337
6337
|
quality: 1,
|
|
6338
6338
|
what: 'Heading level is incorrect'
|
|
@@ -6642,42 +6642,42 @@ exports.issues = {
|
|
|
6642
6642
|
weight: 2,
|
|
6643
6643
|
tools: {
|
|
6644
6644
|
htmlcs: {
|
|
6645
|
-
'AAA.1_3_1.H49.AlignAttr': {
|
|
6645
|
+
'E-AAA.1_3_1.H49.AlignAttr': {
|
|
6646
6646
|
variable: false,
|
|
6647
6647
|
quality: 1,
|
|
6648
6648
|
what: 'Special text is aligned nonsemantically'
|
|
6649
6649
|
},
|
|
6650
|
-
'AAA.1_3_1.H49.B': {
|
|
6650
|
+
'E-AAA.1_3_1.H49.B': {
|
|
6651
6651
|
variable: false,
|
|
6652
6652
|
quality: 1,
|
|
6653
6653
|
what: 'Special text is bolded nonsemantically'
|
|
6654
6654
|
},
|
|
6655
|
-
'AAA.1_3_1.H49.I': {
|
|
6655
|
+
'E-AAA.1_3_1.H49.I': {
|
|
6656
6656
|
variable: false,
|
|
6657
6657
|
quality: 1,
|
|
6658
6658
|
what: 'Special text is italicized nonsemantically'
|
|
6659
6659
|
},
|
|
6660
|
-
'AAA.1_3_1.H49.Big': {
|
|
6660
|
+
'E-AAA.1_3_1.H49.Big': {
|
|
6661
6661
|
variable: false,
|
|
6662
6662
|
quality: 1,
|
|
6663
6663
|
what: 'Special text is enlarged nonsemantically'
|
|
6664
6664
|
},
|
|
6665
|
-
'AAA.1_3_1.H49.Small': {
|
|
6665
|
+
'E-AAA.1_3_1.H49.Small': {
|
|
6666
6666
|
variable: false,
|
|
6667
6667
|
quality: 1,
|
|
6668
6668
|
what: 'Special text is made small nonsemantically'
|
|
6669
6669
|
},
|
|
6670
|
-
'AAA.1_3_1.H49.U': {
|
|
6670
|
+
'E-AAA.1_3_1.H49.U': {
|
|
6671
6671
|
variable: false,
|
|
6672
6672
|
quality: 1,
|
|
6673
6673
|
what: 'Special text is underlined nonsemantically'
|
|
6674
6674
|
},
|
|
6675
|
-
'AAA.1_3_1.H49.Center': {
|
|
6675
|
+
'E-AAA.1_3_1.H49.Center': {
|
|
6676
6676
|
variable: false,
|
|
6677
6677
|
quality: 1,
|
|
6678
6678
|
what: 'Special text is centered nonsemantically'
|
|
6679
6679
|
},
|
|
6680
|
-
'AAA.1_3_1.H49.Font': {
|
|
6680
|
+
'E-AAA.1_3_1.H49.Font': {
|
|
6681
6681
|
variable: false,
|
|
6682
6682
|
quality: 1,
|
|
6683
6683
|
what: 'Special text is designated nonsemantically with a (deprecated) font element'
|
|
@@ -6772,7 +6772,7 @@ exports.issues = {
|
|
|
6772
6772
|
}
|
|
6773
6773
|
},
|
|
6774
6774
|
htmlcs: {
|
|
6775
|
-
'AAA.1_3_1.H42': {
|
|
6775
|
+
'W-AAA.1_3_1.H42': {
|
|
6776
6776
|
variable: false,
|
|
6777
6777
|
quality: 1,
|
|
6778
6778
|
what: 'Heading coding is not used but the element is intended as a heading?'
|
|
@@ -6963,7 +6963,7 @@ exports.issues = {
|
|
|
6963
6963
|
}
|
|
6964
6964
|
},
|
|
6965
6965
|
htmlcs: {
|
|
6966
|
-
'AAA.1_3_1.H48.1': {
|
|
6966
|
+
'W-AAA.1_3_1.H48.1': {
|
|
6967
6967
|
variable: false,
|
|
6968
6968
|
quality: 1,
|
|
6969
6969
|
what: 'Content simulates an unordered list without a ul?'
|
|
@@ -6992,7 +6992,7 @@ exports.issues = {
|
|
|
6992
6992
|
weight: 1,
|
|
6993
6993
|
tools: {
|
|
6994
6994
|
htmlcs: {
|
|
6995
|
-
'AAA.1_3_1.H48.2': {
|
|
6995
|
+
'W-AAA.1_3_1.H48.2': {
|
|
6996
6996
|
variable: false,
|
|
6997
6997
|
quality: 1,
|
|
6998
6998
|
what: 'Ordered list fails to be coded as such?'
|
|
@@ -7007,7 +7007,7 @@ exports.issues = {
|
|
|
7007
7007
|
weight: 2,
|
|
7008
7008
|
tools: {
|
|
7009
7009
|
htmlcs: {
|
|
7010
|
-
'AAA.1_3_1.H48': {
|
|
7010
|
+
'E-AAA.1_3_1.H48': {
|
|
7011
7011
|
variable: false,
|
|
7012
7012
|
quality: 1,
|
|
7013
7013
|
what: 'Navigation links are not coded as a list'
|
|
@@ -7059,12 +7059,12 @@ exports.issues = {
|
|
|
7059
7059
|
}
|
|
7060
7060
|
},
|
|
7061
7061
|
htmlcs: {
|
|
7062
|
-
'AAA.4_1_2.H91.Select.Name': {
|
|
7062
|
+
'E-AAA.4_1_2.H91.Select.Name': {
|
|
7063
7063
|
variable: false,
|
|
7064
7064
|
quality: 1,
|
|
7065
7065
|
what: 'Select element has no accessible name'
|
|
7066
7066
|
},
|
|
7067
|
-
'AAA.4_1_2.H91.Select.Value': {
|
|
7067
|
+
'E-AAA.4_1_2.H91.Select.Value': {
|
|
7068
7068
|
variable: false,
|
|
7069
7069
|
quality: 1,
|
|
7070
7070
|
what: 'Select element value has no accessible name'
|
|
@@ -7120,7 +7120,7 @@ exports.issues = {
|
|
|
7120
7120
|
weight: 1,
|
|
7121
7121
|
tools: {
|
|
7122
7122
|
htmlcs: {
|
|
7123
|
-
'AAA.1_3_1.H85.2': {
|
|
7123
|
+
'W-AAA.1_3_1.H85.2': {
|
|
7124
7124
|
variable: false,
|
|
7125
7125
|
quality: 1,
|
|
7126
7126
|
what: 'Selection list contains groups of related options not grouped with optgroup?'
|
|
@@ -7222,7 +7222,7 @@ exports.issues = {
|
|
|
7222
7222
|
}
|
|
7223
7223
|
},
|
|
7224
7224
|
htmlcs: {
|
|
7225
|
-
'AAA.1_3_1.H71.SameName': {
|
|
7225
|
+
'W-AAA.1_3_1.H71.SameName': {
|
|
7226
7226
|
variable: false,
|
|
7227
7227
|
quality: 1,
|
|
7228
7228
|
what: 'Radio buttons or check boxes require a fieldset element?'
|
|
@@ -7266,7 +7266,7 @@ exports.issues = {
|
|
|
7266
7266
|
}
|
|
7267
7267
|
},
|
|
7268
7268
|
htmlcs: {
|
|
7269
|
-
'AAA.1_3_1.H71.NoLegend': {
|
|
7269
|
+
'E-AAA.1_3_1.H71.NoLegend': {
|
|
7270
7270
|
variable: false,
|
|
7271
7271
|
quality: 1,
|
|
7272
7272
|
what: 'Element has no legend element'
|
|
@@ -7316,7 +7316,7 @@ exports.issues = {
|
|
|
7316
7316
|
}
|
|
7317
7317
|
},
|
|
7318
7318
|
htmlcs: {
|
|
7319
|
-
'AAA.4_1_2.H91.Fieldset.Name': {
|
|
7319
|
+
'E-AAA.4_1_2.H91.Fieldset.Name': {
|
|
7320
7320
|
variable: false,
|
|
7321
7321
|
quality: 1,
|
|
7322
7322
|
what: 'fieldset element has no accessible name'
|
|
@@ -7467,7 +7467,7 @@ exports.issues = {
|
|
|
7467
7467
|
}
|
|
7468
7468
|
},
|
|
7469
7469
|
htmlcs: {
|
|
7470
|
-
'AAA.1_3_1.H39.3.NoCaption': {
|
|
7470
|
+
'W-AAA.1_3_1.H39.3.NoCaption': {
|
|
7471
7471
|
variable: false,
|
|
7472
7472
|
quality: 1,
|
|
7473
7473
|
what: 'Element contains no caption element'
|
|
@@ -7581,12 +7581,12 @@ exports.issues = {
|
|
|
7581
7581
|
weight: 4,
|
|
7582
7582
|
tools: {
|
|
7583
7583
|
htmlcs: {
|
|
7584
|
-
'AAA.1_3_1.H43.HeadersRequired': {
|
|
7584
|
+
'E-AAA.1_3_1.H43.HeadersRequired': {
|
|
7585
7585
|
variable: false,
|
|
7586
7586
|
quality: 1,
|
|
7587
7587
|
what: 'Complex table is missing headers attributes of cells'
|
|
7588
7588
|
},
|
|
7589
|
-
'AAA.1_3_1.H43,H63': {
|
|
7589
|
+
'E-AAA.1_3_1.H43,H63': {
|
|
7590
7590
|
variable: false,
|
|
7591
7591
|
quality: 1,
|
|
7592
7592
|
what: 'Relationship among td and th elements of the table is not defined'
|
|
@@ -7623,7 +7623,7 @@ exports.issues = {
|
|
|
7623
7623
|
weight: 2,
|
|
7624
7624
|
tools: {
|
|
7625
7625
|
htmlcs: {
|
|
7626
|
-
'AAA.1_3_1.H43.ScopeAmbiguous': {
|
|
7626
|
+
'E-AAA.1_3_1.H43.ScopeAmbiguous': {
|
|
7627
7627
|
variable: false,
|
|
7628
7628
|
quality: 1,
|
|
7629
7629
|
what: 'Complex table requires headers attributes of cells instead of header scopes'
|
|
@@ -7735,7 +7735,7 @@ exports.issues = {
|
|
|
7735
7735
|
weight: 1,
|
|
7736
7736
|
tools: {
|
|
7737
7737
|
htmlcs: {
|
|
7738
|
-
'AAA.1_3_1.H63.1': {
|
|
7738
|
+
'W-AAA.1_3_1.H63.1': {
|
|
7739
7739
|
variable: false,
|
|
7740
7740
|
quality: 1,
|
|
7741
7741
|
what: 'Not all th elements in the table have a scope attribute, so an inferred scope may be incorrect'
|
|
@@ -7919,7 +7919,7 @@ exports.issues = {
|
|
|
7919
7919
|
}
|
|
7920
7920
|
},
|
|
7921
7921
|
htmlcs: {
|
|
7922
|
-
'AAA.1_3_1.F68': {
|
|
7922
|
+
'E-AAA.1_3_1.F68': {
|
|
7923
7923
|
variable: false,
|
|
7924
7924
|
quality: 1,
|
|
7925
7925
|
what: 'Form control has no label'
|
|
@@ -8045,7 +8045,7 @@ exports.issues = {
|
|
|
8045
8045
|
}
|
|
8046
8046
|
},
|
|
8047
8047
|
htmlcs: {
|
|
8048
|
-
'AAA.2_5_3.F96': {
|
|
8048
|
+
'E-AAA.2_5_3.F96': {
|
|
8049
8049
|
variable: false,
|
|
8050
8050
|
quality: 1,
|
|
8051
8051
|
what: 'Visible label is not in the accessible name'
|
|
@@ -9326,12 +9326,12 @@ exports.issues = {
|
|
|
9326
9326
|
weight: 1,
|
|
9327
9327
|
tools: {
|
|
9328
9328
|
htmlcs: {
|
|
9329
|
-
'AAA.1_3_1.F68.Hidden': {
|
|
9329
|
+
'W-AAA.1_3_1.F68.Hidden': {
|
|
9330
9330
|
variable: false,
|
|
9331
9331
|
quality: 1,
|
|
9332
9332
|
what: 'Hidden form field is needlessly labeled'
|
|
9333
9333
|
},
|
|
9334
|
-
'AAA.1_3_1.F68.HiddenAttr': {
|
|
9334
|
+
'W-AAA.1_3_1.F68.HiddenAttr': {
|
|
9335
9335
|
variable: false,
|
|
9336
9336
|
quality: 1,
|
|
9337
9337
|
what: 'Form field with a hidden attribute is needlessly labeled'
|
|
@@ -9544,12 +9544,12 @@ exports.issues = {
|
|
|
9544
9544
|
}
|
|
9545
9545
|
},
|
|
9546
9546
|
htmlcs: {
|
|
9547
|
-
'AAA.1_3_1.ARIA6': {
|
|
9547
|
+
'E-AAA.1_3_1.ARIA6': {
|
|
9548
9548
|
variable: false,
|
|
9549
9549
|
quality: 1,
|
|
9550
9550
|
what: 'Value of the aria-label attribute of the form control is empty or only whitespace'
|
|
9551
9551
|
},
|
|
9552
|
-
'AAA.4_1_2.ARIA6': {
|
|
9552
|
+
'E-AAA.4_1_2.ARIA6': {
|
|
9553
9553
|
variable: false,
|
|
9554
9554
|
quality: 1,
|
|
9555
9555
|
what: 'Value of the aria-label attribute of the form control is empty or only whitespace'
|
|
@@ -10336,7 +10336,7 @@ exports.issues = {
|
|
|
10336
10336
|
}
|
|
10337
10337
|
},
|
|
10338
10338
|
htmlcs: {
|
|
10339
|
-
'AAA.1_4_10.C32,C31,C33,C38,SCR34,G206': {
|
|
10339
|
+
'W-AAA.1_4_10.C32,C31,C33,C38,SCR34,G206': {
|
|
10340
10340
|
variable: false,
|
|
10341
10341
|
quality: 1,
|
|
10342
10342
|
what: 'Fixed-position element forces bidirectional scrolling?'
|
|
@@ -10467,7 +10467,7 @@ exports.issues = {
|
|
|
10467
10467
|
}
|
|
10468
10468
|
},
|
|
10469
10469
|
htmlcs: {
|
|
10470
|
-
'AAA.3_2_2.H32.2': {
|
|
10470
|
+
'E-AAA.3_2_2.H32.2': {
|
|
10471
10471
|
variable: false,
|
|
10472
10472
|
quality: 1,
|
|
10473
10473
|
what: 'Form has no submit button'
|
|
@@ -10593,12 +10593,12 @@ exports.issues = {
|
|
|
10593
10593
|
}
|
|
10594
10594
|
},
|
|
10595
10595
|
htmlcs: {
|
|
10596
|
-
'AAA.1_3_1.H49.AlignAttr': {
|
|
10596
|
+
'E-AAA.1_3_1.H49.AlignAttr': {
|
|
10597
10597
|
variable: false,
|
|
10598
10598
|
quality: 1,
|
|
10599
10599
|
what: 'align attribute is obsolete'
|
|
10600
10600
|
},
|
|
10601
|
-
'AAA.1_3_1.H63.2': {
|
|
10601
|
+
'E-AAA.1_3_1.H63.2': {
|
|
10602
10602
|
variable: false,
|
|
10603
10603
|
quality: 1,
|
|
10604
10604
|
what: 'scope attribute on a td element, instead of a th element, is obsolete'
|
|
@@ -10717,12 +10717,12 @@ exports.issues = {
|
|
|
10717
10717
|
}
|
|
10718
10718
|
},
|
|
10719
10719
|
htmlcs: {
|
|
10720
|
-
'AAA.1_3_1.H49.Center': {
|
|
10720
|
+
'E-AAA.1_3_1.H49.Center': {
|
|
10721
10721
|
variable: false,
|
|
10722
10722
|
quality: 1,
|
|
10723
10723
|
what: 'center element is obsolete'
|
|
10724
10724
|
},
|
|
10725
|
-
'AAA.1_3_1.H49.Font': {
|
|
10725
|
+
'E-AAA.1_3_1.H49.Font': {
|
|
10726
10726
|
variable: false,
|
|
10727
10727
|
quality: 1,
|
|
10728
10728
|
what: 'font element is obsolete'
|