testaro 5.13.0 → 5.13.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.
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/high.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  high.js
3
3
  Invokes Testaro with the high-level method.
4
- Usage example: node high tp12 weborgs
4
+ Usage example: node high tp15 weborgs
5
5
  */
6
6
 
7
7
  const {runJob} = require('./create');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testaro",
3
- "version": "5.13.0",
3
+ "version": "5.13.2",
4
4
  "description": "Automation of accessibility testing",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/run.js CHANGED
@@ -304,24 +304,30 @@ const launch = async typeName => {
304
304
  browserContext.on('page', async page => {
305
305
  // Make the page current.
306
306
  currentPage = page;
307
- // Make abbreviations of its console messages get reported in the Playwright console.
307
+ // Make its console messages get reported in the Playwright console.
308
308
  page.on('console', msg => {
309
309
  const msgText = msg.text();
310
- const parts = [msgText.slice(0, 75)];
311
- if (msgText.length > 75) {
312
- parts.push(msgText.slice(75, 150));
313
- if (msgText.length > 150) {
314
- const tail = msgText.slice(150).slice(-150);
315
- if (msgText.length > 300) {
316
- parts.push('...');
317
- }
318
- parts.push(tail.slice(0, 75));
319
- if (tail.length > 75) {
320
- parts.push(tail.slice(75));
310
+ let indentedMsg = '';
311
+ if (debug) {
312
+ indentedMsg = ` | ${msg.text()}`;
313
+ }
314
+ else {
315
+ const parts = [msgText.slice(0, 75)];
316
+ if (msgText.length > 75) {
317
+ parts.push(msgText.slice(75, 150));
318
+ if (msgText.length > 150) {
319
+ const tail = msgText.slice(150).slice(-150);
320
+ if (msgText.length > 300) {
321
+ parts.push('...');
322
+ }
323
+ parts.push(tail.slice(0, 75));
324
+ if (tail.length > 75) {
325
+ parts.push(tail.slice(75));
326
+ }
321
327
  }
322
328
  }
329
+ indentedMsg = parts.map(part => ` | ${part}`).join('\n');
323
330
  }
324
- const indentedMsg = parts.map(part => ` | ${part}`).join('\n');
325
331
  console.log(`\n${indentedMsg}`);
326
332
  const msgTextLC = msgText.toLowerCase();
327
333
  const msgLength = msgText.length;
@@ -682,7 +688,7 @@ const doActs = async (report, actIndex, page) => {
682
688
  const result = act.result = {};
683
689
  // If the text is to be the URL:
684
690
  if (what === 'url') {
685
- // Wait for it and quit on failure.
691
+ // Wait for the URL to be the exact text and quit on failure.
686
692
  try {
687
693
  await page.waitForURL(which, {timeout: 15000});
688
694
  result.found = true;
@@ -695,7 +701,7 @@ const doActs = async (report, actIndex, page) => {
695
701
  }
696
702
  // Otherwise, if the text is to be a substring of the page title:
697
703
  else if (what === 'title') {
698
- // Wait for it and quit on failure.
704
+ // Wait for the page title to include the text, case-insensitively, and quit on failure.
699
705
  try {
700
706
  await page.waitForFunction(
701
707
  text => document
@@ -717,7 +723,7 @@ const doActs = async (report, actIndex, page) => {
717
723
  }
718
724
  // Otherwise, if the text is to be a substring of the text of the page body:
719
725
  else if (what === 'body') {
720
- // Wait for it and quit on failure.
726
+ // Wait for the body to include the text, case-insensitively, and quit on failure.
721
727
  try {
722
728
  await page.waitForFunction(
723
729
  text => document
@@ -949,13 +955,12 @@ const doActs = async (report, actIndex, page) => {
949
955
  // Otherwise, if the act is a move:
950
956
  else if (moves[act.type]) {
951
957
  const selector = typeof moves[act.type] === 'string' ? moves[act.type] : act.what;
952
- // Try to identify the element to perform the move on.
958
+ // Try up to 5 times to:
953
959
  act.result = {found: false};
954
960
  let selection = {};
955
961
  let tries = 0;
956
962
  const slimText = act.which ? debloat(act.which) : '';
957
963
  while (tries++ < 5 && ! act.result.found) {
958
- // If the page still exists:
959
964
  if (page) {
960
965
  // Identify the elements of the specified type.
961
966
  const selections = await page.$$(selector);
@@ -967,16 +972,17 @@ const doActs = async (report, actIndex, page) => {
967
972
  let matchCount = 0;
968
973
  const selectionTexts = [];
969
974
  for (selection of selections) {
970
- // Add its text or an empty string to the list of texts of such elements.
975
+ // Add its lower-case text or an empty string to the list of element texts.
971
976
  const selectionText = slimText ? await textOf(page, selection) : '';
972
977
  selectionTexts.push(selectionText);
973
- // If its text includes any specified text:
978
+ // If its text includes any specified text, case-insensitively:
974
979
  if (selectionText.includes(slimText)) {
975
980
  // If the element has the specified index among such elements:
976
981
  if (matchCount++ === (act.index || 0)) {
977
982
  // Report it as the matching element and stop checking.
978
983
  act.result.found = true;
979
- act.result.text = slimText;
984
+ act.result.textSpec = slimText;
985
+ act.result.textContent = selectionText;
980
986
  break;
981
987
  }
982
988
  }
@@ -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
- }
@@ -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
- }