testaro 5.12.2 → 5.13.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/README.md +2 -0
- package/commands.js +1 -1
- package/package.json +1 -1
- package/run.js +45 -33
- package/samples/scripts/alfa.json +0 -22
- package/samples/scripts/digiCert.json +0 -63
- package/samples/scripts/ibm.json +0 -23
- package/samples/scripts/tenon.json +0 -29
- package/samples/scripts/tp10.json +0 -158
- package/samples/scripts/tp11.json +0 -164
- package/samples/scripts/tp12.json +0 -163
- package/samples/scripts/tp13.json +0 -163
- package/samples/scripts/tp14.json +0 -168
- package/samples/scripts/tsp09.json +0 -146
package/README.md
CHANGED
|
@@ -75,6 +75,8 @@ Some of the dependencies of Testaro are published as Github packages. Installing
|
|
|
75
75
|
|
|
76
76
|
Once you have done that, you can install Testaro as you would install any `npm` package.
|
|
77
77
|
|
|
78
|
+
However, if the Playwright dependency is ever updated to a newer version, you must also reinstall its browers by executing the statement `npx playwright install`.
|
|
79
|
+
|
|
78
80
|
## Payment
|
|
79
81
|
|
|
80
82
|
All of the tests that Testaro can perform are free of cost, except those in the Tenon and WAVE packages. The owner of each of those packages gives new registrants a free allowance of credits before it becomes necessary to pay for use of the API of the package. The required environment variables for authentication and payment are described below under “Environment variables”.
|
package/commands.js
CHANGED
|
@@ -162,7 +162,7 @@ exports.commands = {
|
|
|
162
162
|
'Perform an elements test',
|
|
163
163
|
{
|
|
164
164
|
detailLevel: [true, 'number', '', '0 to 3, to specify the level of detail'],
|
|
165
|
-
tagName: [false, 'string', 'hasLength', 'tag name of elements'],
|
|
165
|
+
tagName: [false, 'string', 'hasLength', 'tag name (upper-case) of elements'],
|
|
166
166
|
onlyVisible: [false, 'boolean', '', 'whether to exclude invisible elements'],
|
|
167
167
|
attribute: [false, 'string', 'hasLength', 'required attribute selector']
|
|
168
168
|
}
|
package/package.json
CHANGED
package/run.js
CHANGED
|
@@ -24,9 +24,9 @@ const moves = {
|
|
|
24
24
|
focus: true,
|
|
25
25
|
link: 'a, [role=link]',
|
|
26
26
|
radio: 'input[type=radio]',
|
|
27
|
-
search: 'input[type=search]',
|
|
27
|
+
search: 'input[type=search], input[aria-label*=search i], input[placeholder*=search i]',
|
|
28
28
|
select: 'select',
|
|
29
|
-
text: 'input[type=text]'
|
|
29
|
+
text: 'input[type=text], input:not([type])'
|
|
30
30
|
};
|
|
31
31
|
// Names and descriptions of tests.
|
|
32
32
|
const tests = {
|
|
@@ -114,6 +114,7 @@ let actCount = 0;
|
|
|
114
114
|
let browser;
|
|
115
115
|
let browserContext;
|
|
116
116
|
let browserTypeName;
|
|
117
|
+
let currentPage;
|
|
117
118
|
let requestedURL = '';
|
|
118
119
|
|
|
119
120
|
// ########## VALIDATORS
|
|
@@ -273,6 +274,8 @@ const browserClose = async () => {
|
|
|
273
274
|
await browser.close();
|
|
274
275
|
}
|
|
275
276
|
};
|
|
277
|
+
// Returns the first line of an error message.
|
|
278
|
+
const errorStart = error => error.message.replace(/\n.+/s, '');
|
|
276
279
|
// Launches a browser.
|
|
277
280
|
const launch = async typeName => {
|
|
278
281
|
const browserType = require('playwright')[typeName];
|
|
@@ -292,15 +295,15 @@ const launch = async typeName => {
|
|
|
292
295
|
browser = await browserType.launch(browserOptions)
|
|
293
296
|
.catch(error => {
|
|
294
297
|
healthy = false;
|
|
295
|
-
console.log(`ERROR launching browser
|
|
298
|
+
console.log(`ERROR launching browser (${errorStart(error)})`);
|
|
296
299
|
});
|
|
297
300
|
// If the launch succeeded:
|
|
298
301
|
if (healthy) {
|
|
299
302
|
browserContext = await browser.newContext();
|
|
300
303
|
// When a page (i.e. browser tab) is added to the browser context (i.e. browser window):
|
|
301
304
|
browserContext.on('page', async page => {
|
|
302
|
-
//
|
|
303
|
-
|
|
305
|
+
// Make the page current.
|
|
306
|
+
currentPage = page;
|
|
304
307
|
// Make abbreviations of its console messages get reported in the Playwright console.
|
|
305
308
|
page.on('console', msg => {
|
|
306
309
|
const msgText = msg.text();
|
|
@@ -335,11 +338,11 @@ const launch = async typeName => {
|
|
|
335
338
|
});
|
|
336
339
|
});
|
|
337
340
|
// Open the first page of the context.
|
|
338
|
-
|
|
341
|
+
currentPage = await browserContext.newPage();
|
|
339
342
|
// Wait until it is stable.
|
|
340
|
-
await
|
|
343
|
+
await currentPage.waitForLoadState('domcontentloaded', {timeout: 15000});
|
|
341
344
|
// Update the name of the current browser type and store it in the page.
|
|
342
|
-
|
|
345
|
+
currentPage.browserTypeName = browserTypeName = typeName;
|
|
343
346
|
}
|
|
344
347
|
}
|
|
345
348
|
};
|
|
@@ -450,7 +453,7 @@ const goto = async (page, url, timeout, waitUntil, isStrict) => {
|
|
|
450
453
|
waitUntil
|
|
451
454
|
})
|
|
452
455
|
.catch(error => {
|
|
453
|
-
console.log(`ERROR: Visit to ${url} timed out before ${waitUntil} (${error
|
|
456
|
+
console.log(`ERROR: Visit to ${url} timed out before ${waitUntil} (${errorStart(error)})`);
|
|
454
457
|
visitTimeoutCount++;
|
|
455
458
|
return 'error';
|
|
456
459
|
});
|
|
@@ -1023,33 +1026,36 @@ const doActs = async (report, actIndex, page) => {
|
|
|
1023
1026
|
// If a match was found:
|
|
1024
1027
|
if (act.result.found) {
|
|
1025
1028
|
// FUNCTION DEFINITION START
|
|
1026
|
-
// Perform a click or Enter keypress and wait for
|
|
1027
|
-
const doAndWait = async
|
|
1029
|
+
// Perform a click or Enter keypress and wait for the network to be idle.
|
|
1030
|
+
const doAndWait = async isClick => {
|
|
1031
|
+
const move = isClick ? 'click' : 'Enter keypress';
|
|
1028
1032
|
try {
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
]);
|
|
1033
|
-
// Wait for the new page to load.
|
|
1034
|
-
await newPage.waitForLoadState('domcontentloaded', {timeout: 15000});
|
|
1035
|
-
// Make the new page the current page.
|
|
1036
|
-
page = newPage;
|
|
1033
|
+
await isClick
|
|
1034
|
+
? selection.click({timeout: 4000})
|
|
1035
|
+
: selection.press('Enter', {timeout: 4000});
|
|
1037
1036
|
act.result.success = true;
|
|
1038
|
-
act.result.move =
|
|
1039
|
-
act.result.newURL = page.url();
|
|
1037
|
+
act.result.move = move;
|
|
1040
1038
|
}
|
|
1041
|
-
// If the action, event, or load failed:
|
|
1042
1039
|
catch(error) {
|
|
1043
|
-
// Quit and report the failure.
|
|
1044
|
-
const action = actionIsClick ? 'clicking' : 'pressing Enter';
|
|
1045
|
-
console.log(
|
|
1046
|
-
`ERROR ${action} (${error.message.replace(/\n.+/s, '')})`
|
|
1047
|
-
);
|
|
1048
1040
|
act.result.success = false;
|
|
1049
1041
|
act.result.error = 'moveFailure';
|
|
1050
|
-
act.result.message =
|
|
1042
|
+
act.result.message = `ERROR: ${move} failed`;
|
|
1043
|
+
console.log(`ERROR: ${move} failed (${errorStart(error)})`);
|
|
1051
1044
|
actIndex = -2;
|
|
1052
1045
|
}
|
|
1046
|
+
if (act.result.success) {
|
|
1047
|
+
try {
|
|
1048
|
+
await page.context().waitForEvent('networkidle', {timeout: 10000});
|
|
1049
|
+
act.result.idleTimely = true;
|
|
1050
|
+
}
|
|
1051
|
+
catch(error) {
|
|
1052
|
+
console.log(`ERROR: Network busy after ${move} (${errorStart(error)})`);
|
|
1053
|
+
act.result.idleTimely = false;
|
|
1054
|
+
}
|
|
1055
|
+
// If the move created a new page, make it current.
|
|
1056
|
+
page = currentPage;
|
|
1057
|
+
act.result.newURL = page.url();
|
|
1058
|
+
}
|
|
1053
1059
|
};
|
|
1054
1060
|
// FUNCTION DEFINITION END
|
|
1055
1061
|
// If the move is a button click, perform it.
|
|
@@ -1105,7 +1111,7 @@ const doActs = async (report, actIndex, page) => {
|
|
|
1105
1111
|
act.result.target = target || 'DEFAULT';
|
|
1106
1112
|
// If the destination is a new page:
|
|
1107
1113
|
if (target && target !== '_self') {
|
|
1108
|
-
// Click the link and wait for the
|
|
1114
|
+
// Click the link and wait for the network to be idle.
|
|
1109
1115
|
doAndWait(true);
|
|
1110
1116
|
}
|
|
1111
1117
|
// Otherwise, i.e. if the destination is in the current page:
|
|
@@ -1122,9 +1128,7 @@ const doActs = async (report, actIndex, page) => {
|
|
|
1122
1128
|
// If the click or load failed:
|
|
1123
1129
|
catch(error) {
|
|
1124
1130
|
// Quit and report the failure.
|
|
1125
|
-
console.log(
|
|
1126
|
-
`ERROR clicking link (${error.message.replace(/\n.+/s, '')})`
|
|
1127
|
-
);
|
|
1131
|
+
console.log(`ERROR clicking link (${errorStart(error)})`);
|
|
1128
1132
|
act.result.success = false;
|
|
1129
1133
|
act.result.error = 'unclickable';
|
|
1130
1134
|
act.result.message = 'ERROR: click or load timed out';
|
|
@@ -1162,6 +1166,14 @@ const doActs = async (report, actIndex, page) => {
|
|
|
1162
1166
|
}
|
|
1163
1167
|
// Otherwise, if it is entering text on a text- or search-input element:
|
|
1164
1168
|
else if (['text', 'search'].includes(act.type)) {
|
|
1169
|
+
act.result.attributes = {};
|
|
1170
|
+
const {attributes} = act.result;
|
|
1171
|
+
const type = await selection.getAttribute('type');
|
|
1172
|
+
const label = await selection.getAttribute('aria-label');
|
|
1173
|
+
const labelRefs = await selection.getAttribute('aria-labelledby');
|
|
1174
|
+
attributes.type = type || '';
|
|
1175
|
+
attributes.label = label || '';
|
|
1176
|
+
attributes.labelRefs = labelRefs || '';
|
|
1165
1177
|
// If the text contains a placeholder for an environment variable:
|
|
1166
1178
|
let {what} = act;
|
|
1167
1179
|
if (/__[A-Z]+__/.test(what)) {
|
|
@@ -1177,7 +1189,7 @@ const doActs = async (report, actIndex, page) => {
|
|
|
1177
1189
|
act.result.move = 'entered';
|
|
1178
1190
|
// If the input is a search input:
|
|
1179
1191
|
if (act.type === 'search') {
|
|
1180
|
-
// Press the Enter key and wait for a
|
|
1192
|
+
// Press the Enter key and wait for a network to be idle.
|
|
1181
1193
|
doAndWait(false);
|
|
1182
1194
|
}
|
|
1183
1195
|
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "alfa",
|
|
3
|
-
"what": "Alfa test package",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "chromium",
|
|
9
|
-
"what": "used for most tests"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://*",
|
|
14
|
-
"what": "any page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "test",
|
|
18
|
-
"which": "alfa",
|
|
19
|
-
"what": "Siteimprove alfa"
|
|
20
|
-
}
|
|
21
|
-
]
|
|
22
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "digicert",
|
|
3
|
-
"what": "moves on DigiCert website",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "chromium",
|
|
9
|
-
"what": "Chrome"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://order.digicert.com/",
|
|
14
|
-
"what": "DigiCert"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "focus",
|
|
18
|
-
"what": "button",
|
|
19
|
-
"which": "Choose payment plan"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"type": "press",
|
|
23
|
-
"which": "ArrowDown",
|
|
24
|
-
"again": 2,
|
|
25
|
-
"what": "Choose 2-year plan"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"type": "press",
|
|
29
|
-
"which": "Enter",
|
|
30
|
-
"what": "Commit to choose 2-year plan"
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"type": "button",
|
|
34
|
-
"which": "I don't have",
|
|
35
|
-
"what": "I don’t have my CSR"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"type": "select",
|
|
39
|
-
"which": "Server app details",
|
|
40
|
-
"what": "NGINX"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"type": "text",
|
|
44
|
-
"which": "main website",
|
|
45
|
-
"what": "jpdev.pro"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"type": "button",
|
|
49
|
-
"which": "Continue",
|
|
50
|
-
"what": "Continue"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "wait",
|
|
54
|
-
"what": "url",
|
|
55
|
-
"which": "step2"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "test",
|
|
59
|
-
"which": "bulk",
|
|
60
|
-
"what": "count of visible elements"
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
}
|
package/samples/scripts/ibm.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "ibm",
|
|
3
|
-
"what": "IBM Equal Access test package",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "chromium",
|
|
9
|
-
"what": "used for most tests"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://*",
|
|
14
|
-
"what": "any page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "test",
|
|
18
|
-
"which": "ibm",
|
|
19
|
-
"withItems": true,
|
|
20
|
-
"what": "IBM Equal Access"
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tenon",
|
|
3
|
-
"what": "Test Wikipedia with tenon",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "chromium",
|
|
9
|
-
"what": "Chromium browser"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://en.wikipedia.org/wiki/Main_Page",
|
|
14
|
-
"what": "Wikipedia English home page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "tenonRequest",
|
|
18
|
-
"withNewContent": true,
|
|
19
|
-
"id": "a",
|
|
20
|
-
"what": "Tenon API version 2 test request"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"type": "test",
|
|
24
|
-
"which": "tenon",
|
|
25
|
-
"id": "a",
|
|
26
|
-
"what": "Tenon API version 2 result retrieval"
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tp10",
|
|
3
|
-
"what": "AATT, Alfa, Axe, IBM, Tenon, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "webkit",
|
|
9
|
-
"what": "used for tests on which chromium fails on some URLs"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://*",
|
|
14
|
-
"what": "any page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "tenonRequest",
|
|
18
|
-
"id": "a",
|
|
19
|
-
"withNewContent": true,
|
|
20
|
-
"what": "Tenon API version 2 test request"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"type": "test",
|
|
24
|
-
"which": "motion",
|
|
25
|
-
"what": "spontaneous change of content",
|
|
26
|
-
"delay": 2400,
|
|
27
|
-
"interval": 2600,
|
|
28
|
-
"count": 5
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"type": "test",
|
|
32
|
-
"which": "axe",
|
|
33
|
-
"withItems": true,
|
|
34
|
-
"rules": [],
|
|
35
|
-
"what": "Axe core, all rules"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"type": "launch",
|
|
39
|
-
"which": "chromium",
|
|
40
|
-
"what": "used for most tests"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"type": "url",
|
|
44
|
-
"which": "https://*",
|
|
45
|
-
"what": "any page"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"type": "test",
|
|
49
|
-
"which": "bulk",
|
|
50
|
-
"what": "count of visible elements"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "test",
|
|
54
|
-
"which": "embAc",
|
|
55
|
-
"what": "active elements incorrectly embedded in each other",
|
|
56
|
-
"withItems": true
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"type": "test",
|
|
60
|
-
"which": "focAll",
|
|
61
|
-
"what": "Tab-focusability"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"type": "test",
|
|
65
|
-
"which": "focInd",
|
|
66
|
-
"what": "focus indicators",
|
|
67
|
-
"withItems": true,
|
|
68
|
-
"revealAll": true
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"type": "test",
|
|
72
|
-
"which": "focOp",
|
|
73
|
-
"what": "focusability and operability of elements",
|
|
74
|
-
"withItems": true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"type": "test",
|
|
78
|
-
"which": "hover",
|
|
79
|
-
"what": "hover-triggered content changes",
|
|
80
|
-
"withItems": true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"type": "test",
|
|
84
|
-
"which": "labClash",
|
|
85
|
-
"what": "unlabeled and mislabeled form controls",
|
|
86
|
-
"withItems": true
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"type": "test",
|
|
90
|
-
"which": "linkUl",
|
|
91
|
-
"what": "underlining of inline links",
|
|
92
|
-
"withItems": true
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"type": "test",
|
|
96
|
-
"which": "menuNav",
|
|
97
|
-
"what": "keyboard navigation within true-focus menus",
|
|
98
|
-
"withItems": true
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"type": "test",
|
|
102
|
-
"which": "radioSet",
|
|
103
|
-
"what": "grouping of radio buttons in fieldsets",
|
|
104
|
-
"withItems": true
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"type": "test",
|
|
108
|
-
"which": "role",
|
|
109
|
-
"what": "validity and necessity of role assignments"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"type": "test",
|
|
113
|
-
"which": "styleDiff",
|
|
114
|
-
"what": "style consistency of headings, buttons, and links",
|
|
115
|
-
"withItems": true
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"type": "test",
|
|
119
|
-
"which": "tabNav",
|
|
120
|
-
"what": "keyboard navigation within tab lists",
|
|
121
|
-
"withItems": true
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"type": "test",
|
|
125
|
-
"which": "zIndex",
|
|
126
|
-
"what": "elements with non-auto z indexes",
|
|
127
|
-
"withItems": true
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"type": "test",
|
|
131
|
-
"which": "ibm",
|
|
132
|
-
"withItems": true,
|
|
133
|
-
"what": "IBM Accessibility Checker"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"type": "test",
|
|
137
|
-
"which": "aatt",
|
|
138
|
-
"what": "AATT with HTML CodeSniffer"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"type": "test",
|
|
142
|
-
"which": "alfa",
|
|
143
|
-
"what": "Siteimprove alfa"
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
"type": "test",
|
|
147
|
-
"which": "wave",
|
|
148
|
-
"reportType": 4,
|
|
149
|
-
"what": "WAVE, report-type 4"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"type": "test",
|
|
153
|
-
"which": "tenon",
|
|
154
|
-
"id": "a",
|
|
155
|
-
"what": "Tenon API version 2 result retrieval"
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
}
|
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tp11",
|
|
3
|
-
"what": "AATT, Alfa, Axe, IBM, Tenon, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "webkit",
|
|
9
|
-
"what": "Webkit browser"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://*",
|
|
14
|
-
"what": "any page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "tenonRequest",
|
|
18
|
-
"id": "a",
|
|
19
|
-
"withNewContent": true,
|
|
20
|
-
"what": "Tenon API version 2 test request"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"type": "test",
|
|
24
|
-
"which": "motion",
|
|
25
|
-
"what": "spontaneous change of content; requires webkit",
|
|
26
|
-
"delay": 2500,
|
|
27
|
-
"interval": 2500,
|
|
28
|
-
"count": 5
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"type": "launch",
|
|
32
|
-
"which": "chromium",
|
|
33
|
-
"what": "Chromium browser"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"type": "url",
|
|
37
|
-
"which": "https://*",
|
|
38
|
-
"what": "any page"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"type": "test",
|
|
42
|
-
"which": "bulk",
|
|
43
|
-
"what": "count of visible elements"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"type": "test",
|
|
47
|
-
"which": "embAc",
|
|
48
|
-
"withItems": true,
|
|
49
|
-
"what": "active elements incorrectly embedded in each other"
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"type": "test",
|
|
53
|
-
"which": "focAll",
|
|
54
|
-
"what": "Tab-focusability"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"type": "test",
|
|
58
|
-
"which": "focInd",
|
|
59
|
-
"revealAll": false,
|
|
60
|
-
"allowedDelay": 250,
|
|
61
|
-
"withItems": true,
|
|
62
|
-
"what": "focus indicators"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "test",
|
|
66
|
-
"which": "focOp",
|
|
67
|
-
"withItems": true,
|
|
68
|
-
"what": "focusability and operability of elements"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"type": "test",
|
|
72
|
-
"which": "hover",
|
|
73
|
-
"headSize": 20,
|
|
74
|
-
"headSampleSize": 20,
|
|
75
|
-
"tailSampleSize": 15,
|
|
76
|
-
"withItems": true,
|
|
77
|
-
"what": "hover impacts"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"type": "test",
|
|
81
|
-
"which": "labClash",
|
|
82
|
-
"withItems": true,
|
|
83
|
-
"what": "unlabeled and mislabeled form controls"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"type": "test",
|
|
87
|
-
"which": "linkUl",
|
|
88
|
-
"withItems": true,
|
|
89
|
-
"what": "underlining of inline links"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"type": "test",
|
|
93
|
-
"which": "menuNav",
|
|
94
|
-
"withItems": true,
|
|
95
|
-
"what": "keyboard navigation within true-focus menus"
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"type": "test",
|
|
99
|
-
"which": "radioSet",
|
|
100
|
-
"withItems": true,
|
|
101
|
-
"what": "grouping of radio buttons in fieldsets"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"type": "test",
|
|
105
|
-
"which": "role",
|
|
106
|
-
"what": "validity and necessity of role assignments"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"type": "test",
|
|
110
|
-
"which": "styleDiff",
|
|
111
|
-
"withItems": true,
|
|
112
|
-
"what": "style consistency of headings, buttons, and links"
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"type": "test",
|
|
116
|
-
"which": "tabNav",
|
|
117
|
-
"withItems": true,
|
|
118
|
-
"what": "keyboard navigation within tab lists"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"type": "test",
|
|
122
|
-
"which": "zIndex",
|
|
123
|
-
"withItems": true,
|
|
124
|
-
"what": "elements with non-auto z indexes"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"type": "test",
|
|
128
|
-
"which": "aatt",
|
|
129
|
-
"waitLong": true,
|
|
130
|
-
"tryLimit": 2,
|
|
131
|
-
"what": "AATT with HTML CodeSniffer"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"type": "test",
|
|
135
|
-
"which": "alfa",
|
|
136
|
-
"what": "Siteimprove alfa"
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
"type": "test",
|
|
140
|
-
"which": "axe",
|
|
141
|
-
"detailLevel": 2,
|
|
142
|
-
"rules": [],
|
|
143
|
-
"what": "Axe core, all rules"
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
"type": "test",
|
|
147
|
-
"which": "ibm",
|
|
148
|
-
"withItems": true,
|
|
149
|
-
"what": "IBM Accessibility Checker, with page content and again with URL"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"type": "test",
|
|
153
|
-
"which": "tenon",
|
|
154
|
-
"id": "a",
|
|
155
|
-
"what": "Tenon API version 2 result retrieval"
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"type": "test",
|
|
159
|
-
"which": "wave",
|
|
160
|
-
"reportType": 4,
|
|
161
|
-
"what": "WAVE, report-type 4"
|
|
162
|
-
}
|
|
163
|
-
]
|
|
164
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tp12",
|
|
3
|
-
"what": "Alfa, Axe, HTML CodeSniffer, IBM, Tenon, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"timeLimit": 300,
|
|
6
|
-
"commands": [
|
|
7
|
-
{
|
|
8
|
-
"type": "launch",
|
|
9
|
-
"which": "webkit",
|
|
10
|
-
"what": "Webkit browser"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"type": "url",
|
|
14
|
-
"which": "https://*",
|
|
15
|
-
"what": "any page"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"type": "tenonRequest",
|
|
19
|
-
"id": "a",
|
|
20
|
-
"withNewContent": true,
|
|
21
|
-
"what": "Tenon API version 2 test request"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"type": "test",
|
|
25
|
-
"which": "motion",
|
|
26
|
-
"what": "spontaneous change of content; requires webkit",
|
|
27
|
-
"delay": 2500,
|
|
28
|
-
"interval": 2500,
|
|
29
|
-
"count": 5
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"type": "launch",
|
|
33
|
-
"which": "chromium",
|
|
34
|
-
"what": "Chromium browser"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "url",
|
|
38
|
-
"which": "https://*",
|
|
39
|
-
"what": "any page"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "test",
|
|
43
|
-
"which": "bulk",
|
|
44
|
-
"what": "count of visible elements"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"type": "test",
|
|
48
|
-
"which": "embAc",
|
|
49
|
-
"withItems": true,
|
|
50
|
-
"what": "active elements incorrectly embedded in each other"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "test",
|
|
54
|
-
"which": "focAll",
|
|
55
|
-
"what": "Tab-focusability"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "test",
|
|
59
|
-
"which": "focInd",
|
|
60
|
-
"revealAll": false,
|
|
61
|
-
"allowedDelay": 250,
|
|
62
|
-
"withItems": true,
|
|
63
|
-
"what": "focus indicators"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "test",
|
|
67
|
-
"which": "focOp",
|
|
68
|
-
"withItems": true,
|
|
69
|
-
"what": "focusability and operability of elements"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"type": "test",
|
|
73
|
-
"which": "hover",
|
|
74
|
-
"headSize": 20,
|
|
75
|
-
"headSampleSize": 20,
|
|
76
|
-
"tailSampleSize": 15,
|
|
77
|
-
"withItems": true,
|
|
78
|
-
"what": "hover impacts"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"type": "test",
|
|
82
|
-
"which": "labClash",
|
|
83
|
-
"withItems": true,
|
|
84
|
-
"what": "unlabeled and mislabeled form controls"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"type": "test",
|
|
88
|
-
"which": "linkUl",
|
|
89
|
-
"withItems": true,
|
|
90
|
-
"what": "underlining of inline links"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"type": "test",
|
|
94
|
-
"which": "menuNav",
|
|
95
|
-
"withItems": true,
|
|
96
|
-
"what": "keyboard navigation within true-focus menus"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"type": "test",
|
|
100
|
-
"which": "radioSet",
|
|
101
|
-
"withItems": true,
|
|
102
|
-
"what": "grouping of radio buttons in fieldsets"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"type": "test",
|
|
106
|
-
"which": "role",
|
|
107
|
-
"what": "validity and necessity of role assignments"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"type": "test",
|
|
111
|
-
"which": "styleDiff",
|
|
112
|
-
"withItems": true,
|
|
113
|
-
"what": "style consistency of headings, buttons, and links"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"type": "test",
|
|
117
|
-
"which": "tabNav",
|
|
118
|
-
"withItems": true,
|
|
119
|
-
"what": "keyboard navigation within tab lists"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"type": "test",
|
|
123
|
-
"which": "zIndex",
|
|
124
|
-
"withItems": true,
|
|
125
|
-
"what": "elements with non-auto z indexes"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"type": "test",
|
|
129
|
-
"which": "alfa",
|
|
130
|
-
"what": "Siteimprove alfa"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"type": "test",
|
|
134
|
-
"which": "axe",
|
|
135
|
-
"detailLevel": 2,
|
|
136
|
-
"rules": [],
|
|
137
|
-
"what": "Axe core, all rules"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"type": "test",
|
|
141
|
-
"which": "htmlcs",
|
|
142
|
-
"what": "HTML CodeSniffer"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"type": "test",
|
|
146
|
-
"which": "ibm",
|
|
147
|
-
"withItems": true,
|
|
148
|
-
"what": "IBM Accessibility Checker, with page content and again with URL"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"type": "test",
|
|
152
|
-
"which": "wave",
|
|
153
|
-
"reportType": 4,
|
|
154
|
-
"what": "WAVE, report-type 4"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"type": "test",
|
|
158
|
-
"which": "tenon",
|
|
159
|
-
"id": "a",
|
|
160
|
-
"what": "Tenon API version 2 result retrieval"
|
|
161
|
-
}
|
|
162
|
-
]
|
|
163
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tp12",
|
|
3
|
-
"what": "Alfa, Axe, HTML CodeSniffer, IBM, Tenon, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"timeLimit": 250,
|
|
6
|
-
"commands": [
|
|
7
|
-
{
|
|
8
|
-
"type": "launch",
|
|
9
|
-
"which": "webkit",
|
|
10
|
-
"what": "Webkit browser"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"type": "url",
|
|
14
|
-
"which": "https://*",
|
|
15
|
-
"what": "any page"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"type": "tenonRequest",
|
|
19
|
-
"id": "a",
|
|
20
|
-
"withNewContent": true,
|
|
21
|
-
"what": "Tenon API version 2 test request"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"type": "test",
|
|
25
|
-
"which": "motion",
|
|
26
|
-
"what": "spontaneous change of content; requires webkit",
|
|
27
|
-
"delay": 2500,
|
|
28
|
-
"interval": 2500,
|
|
29
|
-
"count": 5
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"type": "launch",
|
|
33
|
-
"which": "chromium",
|
|
34
|
-
"what": "Chromium browser"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "url",
|
|
38
|
-
"which": "https://*",
|
|
39
|
-
"what": "any page"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "test",
|
|
43
|
-
"which": "bulk",
|
|
44
|
-
"what": "count of visible elements"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"type": "test",
|
|
48
|
-
"which": "embAc",
|
|
49
|
-
"withItems": true,
|
|
50
|
-
"what": "active elements incorrectly embedded in each other"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "test",
|
|
54
|
-
"which": "focAll",
|
|
55
|
-
"what": "Tab-focusability"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "test",
|
|
59
|
-
"which": "focInd",
|
|
60
|
-
"revealAll": false,
|
|
61
|
-
"allowedDelay": 250,
|
|
62
|
-
"withItems": true,
|
|
63
|
-
"what": "focus indicators"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "test",
|
|
67
|
-
"which": "focOp",
|
|
68
|
-
"withItems": true,
|
|
69
|
-
"what": "focusability and operability of elements"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"type": "test",
|
|
73
|
-
"which": "hover",
|
|
74
|
-
"headSize": 40,
|
|
75
|
-
"headSampleSize": 20,
|
|
76
|
-
"tailSampleSize": 15,
|
|
77
|
-
"withItems": true,
|
|
78
|
-
"what": "hover impacts"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"type": "test",
|
|
82
|
-
"which": "labClash",
|
|
83
|
-
"withItems": true,
|
|
84
|
-
"what": "unlabeled and mislabeled form controls"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"type": "test",
|
|
88
|
-
"which": "linkUl",
|
|
89
|
-
"withItems": true,
|
|
90
|
-
"what": "underlining of inline links"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"type": "test",
|
|
94
|
-
"which": "menuNav",
|
|
95
|
-
"withItems": true,
|
|
96
|
-
"what": "keyboard navigation within true-focus menus"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"type": "test",
|
|
100
|
-
"which": "radioSet",
|
|
101
|
-
"withItems": true,
|
|
102
|
-
"what": "grouping of radio buttons in fieldsets"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"type": "test",
|
|
106
|
-
"which": "role",
|
|
107
|
-
"what": "validity and necessity of role assignments"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"type": "test",
|
|
111
|
-
"which": "styleDiff",
|
|
112
|
-
"withItems": true,
|
|
113
|
-
"what": "style consistency of headings, buttons, and links"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"type": "test",
|
|
117
|
-
"which": "tabNav",
|
|
118
|
-
"withItems": true,
|
|
119
|
-
"what": "keyboard navigation within tab lists"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"type": "test",
|
|
123
|
-
"which": "zIndex",
|
|
124
|
-
"withItems": true,
|
|
125
|
-
"what": "elements with non-auto z indexes"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"type": "test",
|
|
129
|
-
"which": "alfa",
|
|
130
|
-
"what": "Siteimprove alfa"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"type": "test",
|
|
134
|
-
"which": "axe",
|
|
135
|
-
"detailLevel": 2,
|
|
136
|
-
"rules": [],
|
|
137
|
-
"what": "Axe core, all rules"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"type": "test",
|
|
141
|
-
"which": "htmlcs",
|
|
142
|
-
"what": "HTML CodeSniffer"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"type": "test",
|
|
146
|
-
"which": "ibm",
|
|
147
|
-
"withItems": true,
|
|
148
|
-
"what": "IBM Accessibility Checker, with page content and again with URL"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"type": "test",
|
|
152
|
-
"which": "wave",
|
|
153
|
-
"reportType": 4,
|
|
154
|
-
"what": "WAVE, report-type 4"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"type": "test",
|
|
158
|
-
"which": "tenon",
|
|
159
|
-
"id": "a",
|
|
160
|
-
"what": "Tenon API version 2 result retrieval"
|
|
161
|
-
}
|
|
162
|
-
]
|
|
163
|
-
}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tp14",
|
|
3
|
-
"what": "Alfa, Axe, Continuum, HTML CodeSniffer, IBM, Tenon, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"timeLimit": 400,
|
|
6
|
-
"commands": [
|
|
7
|
-
{
|
|
8
|
-
"type": "launch",
|
|
9
|
-
"which": "webkit",
|
|
10
|
-
"what": "Webkit browser"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"type": "url",
|
|
14
|
-
"which": "https://*",
|
|
15
|
-
"what": "any page"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"type": "tenonRequest",
|
|
19
|
-
"id": "a",
|
|
20
|
-
"withNewContent": true,
|
|
21
|
-
"what": "Tenon API version 2 test request"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"type": "test",
|
|
25
|
-
"which": "motion",
|
|
26
|
-
"what": "spontaneous change of content; requires webkit",
|
|
27
|
-
"delay": 2500,
|
|
28
|
-
"interval": 2500,
|
|
29
|
-
"count": 5
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"type": "launch",
|
|
33
|
-
"which": "chromium",
|
|
34
|
-
"what": "Chromium browser"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "url",
|
|
38
|
-
"which": "https://*",
|
|
39
|
-
"what": "any page"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "test",
|
|
43
|
-
"which": "bulk",
|
|
44
|
-
"what": "count of visible elements"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"type": "test",
|
|
48
|
-
"which": "embAc",
|
|
49
|
-
"withItems": true,
|
|
50
|
-
"what": "active elements incorrectly embedded in each other"
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "test",
|
|
54
|
-
"which": "focAll",
|
|
55
|
-
"what": "Tab-focusability"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "test",
|
|
59
|
-
"which": "focInd",
|
|
60
|
-
"revealAll": false,
|
|
61
|
-
"allowedDelay": 250,
|
|
62
|
-
"withItems": true,
|
|
63
|
-
"what": "focus indicators"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "test",
|
|
67
|
-
"which": "focOp",
|
|
68
|
-
"withItems": true,
|
|
69
|
-
"what": "focusability and operability of elements"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"type": "test",
|
|
73
|
-
"which": "hover",
|
|
74
|
-
"headSize": 40,
|
|
75
|
-
"headSampleSize": 20,
|
|
76
|
-
"tailSampleSize": 15,
|
|
77
|
-
"withItems": true,
|
|
78
|
-
"what": "hover impacts"
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
"type": "test",
|
|
82
|
-
"which": "labClash",
|
|
83
|
-
"withItems": true,
|
|
84
|
-
"what": "unlabeled and mislabeled form controls"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"type": "test",
|
|
88
|
-
"which": "linkUl",
|
|
89
|
-
"withItems": true,
|
|
90
|
-
"what": "underlining of inline links"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"type": "test",
|
|
94
|
-
"which": "menuNav",
|
|
95
|
-
"withItems": true,
|
|
96
|
-
"what": "keyboard navigation within true-focus menus"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"type": "test",
|
|
100
|
-
"which": "radioSet",
|
|
101
|
-
"withItems": true,
|
|
102
|
-
"what": "grouping of radio buttons in fieldsets"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"type": "test",
|
|
106
|
-
"which": "role",
|
|
107
|
-
"what": "validity and necessity of role assignments"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"type": "test",
|
|
111
|
-
"which": "styleDiff",
|
|
112
|
-
"withItems": true,
|
|
113
|
-
"what": "style consistency of headings, buttons, and links"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"type": "test",
|
|
117
|
-
"which": "tabNav",
|
|
118
|
-
"withItems": true,
|
|
119
|
-
"what": "keyboard navigation within tab lists"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"type": "test",
|
|
123
|
-
"which": "zIndex",
|
|
124
|
-
"withItems": true,
|
|
125
|
-
"what": "elements with non-auto z indexes"
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"type": "test",
|
|
129
|
-
"which": "alfa",
|
|
130
|
-
"what": "Siteimprove alfa"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"type": "test",
|
|
134
|
-
"which": "axe",
|
|
135
|
-
"detailLevel": 2,
|
|
136
|
-
"rules": [],
|
|
137
|
-
"what": "Axe core, all rules"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"type": "test",
|
|
141
|
-
"which": "continuum",
|
|
142
|
-
"what": "Continuum"
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
"type": "test",
|
|
146
|
-
"which": "htmlcs",
|
|
147
|
-
"what": "HTML CodeSniffer"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"type": "test",
|
|
151
|
-
"which": "ibm",
|
|
152
|
-
"withItems": true,
|
|
153
|
-
"what": "IBM Accessibility Checker, with page content and again with URL"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"type": "test",
|
|
157
|
-
"which": "wave",
|
|
158
|
-
"reportType": 4,
|
|
159
|
-
"what": "WAVE, report-type 4"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"type": "test",
|
|
163
|
-
"which": "tenon",
|
|
164
|
-
"id": "a",
|
|
165
|
-
"what": "Tenon API version 2 result retrieval"
|
|
166
|
-
}
|
|
167
|
-
]
|
|
168
|
-
}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "asp09",
|
|
3
|
-
"what": "AATT, Alfa, Axe, IBM, WAVE, and 16 custom tests",
|
|
4
|
-
"strict": true,
|
|
5
|
-
"commands": [
|
|
6
|
-
{
|
|
7
|
-
"type": "launch",
|
|
8
|
-
"which": "webkit",
|
|
9
|
-
"what": "used for tests on which chromium fails on some URLs"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "url",
|
|
13
|
-
"which": "https://*",
|
|
14
|
-
"what": "any page"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"type": "test",
|
|
18
|
-
"which": "motion",
|
|
19
|
-
"what": "spontaneous change of content",
|
|
20
|
-
"delay": 2400,
|
|
21
|
-
"interval": 2600,
|
|
22
|
-
"count": 5
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"type": "test",
|
|
26
|
-
"which": "axe",
|
|
27
|
-
"withItems": true,
|
|
28
|
-
"rules": [],
|
|
29
|
-
"what": "Axe core, all rules"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"type": "launch",
|
|
33
|
-
"which": "chromium",
|
|
34
|
-
"what": "used for most tests"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "url",
|
|
38
|
-
"which": "https://*",
|
|
39
|
-
"what": "any page"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"type": "test",
|
|
43
|
-
"which": "bulk",
|
|
44
|
-
"what": "count of visible elements"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"type": "test",
|
|
48
|
-
"which": "embAc",
|
|
49
|
-
"what": "active elements incorrectly embedded in each other",
|
|
50
|
-
"withItems": true
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"type": "test",
|
|
54
|
-
"which": "focAll",
|
|
55
|
-
"what": "Tab-focusability"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "test",
|
|
59
|
-
"which": "focInd",
|
|
60
|
-
"what": "focus indicators",
|
|
61
|
-
"withItems": true,
|
|
62
|
-
"revealAll": true
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"type": "test",
|
|
66
|
-
"which": "focOp",
|
|
67
|
-
"what": "focusability and operability of elements",
|
|
68
|
-
"withItems": true
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"type": "test",
|
|
72
|
-
"which": "hover",
|
|
73
|
-
"what": "hover-triggered content changes",
|
|
74
|
-
"withItems": true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"type": "test",
|
|
78
|
-
"which": "labClash",
|
|
79
|
-
"what": "unlabeled and mislabeled form controls",
|
|
80
|
-
"withItems": true
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"type": "test",
|
|
84
|
-
"which": "linkUl",
|
|
85
|
-
"what": "underlining of inline links",
|
|
86
|
-
"withItems": true
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"type": "test",
|
|
90
|
-
"which": "menuNav",
|
|
91
|
-
"what": "keyboard navigation within true-focus menus",
|
|
92
|
-
"withItems": true
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"type": "test",
|
|
96
|
-
"which": "radioSet",
|
|
97
|
-
"what": "grouping of radio buttons in fieldsets",
|
|
98
|
-
"withItems": true
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"type": "test",
|
|
102
|
-
"which": "role",
|
|
103
|
-
"what": "validity and necessity of role assignments"
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"type": "test",
|
|
107
|
-
"which": "styleDiff",
|
|
108
|
-
"what": "style consistency of headings, buttons, and links",
|
|
109
|
-
"withItems": true
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"type": "test",
|
|
113
|
-
"which": "tabNav",
|
|
114
|
-
"what": "keyboard navigation within tab lists",
|
|
115
|
-
"withItems": true
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"type": "test",
|
|
119
|
-
"which": "zIndex",
|
|
120
|
-
"what": "elements with non-auto z indexes",
|
|
121
|
-
"withItems": true
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"type": "test",
|
|
125
|
-
"which": "ibm",
|
|
126
|
-
"withItems": true,
|
|
127
|
-
"what": "IBM Accessibility Checker"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"type": "test",
|
|
131
|
-
"which": "aatt",
|
|
132
|
-
"what": "AATT with HTML CodeSniffer"
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"type": "test",
|
|
136
|
-
"which": "alfa",
|
|
137
|
-
"what": "Siteimprove alfa"
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"type": "test",
|
|
141
|
-
"which": "wave",
|
|
142
|
-
"reportType": 4,
|
|
143
|
-
"what": "WAVE, report-type 4"
|
|
144
|
-
}
|
|
145
|
-
]
|
|
146
|
-
}
|