testaro 5.16.0 → 5.16.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testaro",
3
- "version": "5.16.0",
3
+ "version": "5.16.2",
4
4
  "description": "Automation of accessibility testing",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/run.js CHANGED
@@ -31,6 +31,7 @@ const moves = {
31
31
  // Names and descriptions of tests.
32
32
  const tests = {
33
33
  alfa: 'alfa',
34
+ allHidden: 'page that is entirely or mostly hidden',
34
35
  axe: 'Axe',
35
36
  bulk: 'count of visible elements',
36
37
  continuum: 'Level Access Continuum, community edition',
@@ -38,11 +38,21 @@
38
38
  "which": "https://*",
39
39
  "what": "any page"
40
40
  },
41
+ {
42
+ "type": "test",
43
+ "which": "allHidden",
44
+ "what": "document entirely or mainly hidden"
45
+ },
41
46
  {
42
47
  "type": "test",
43
48
  "which": "bulk",
44
49
  "what": "count of visible elements"
45
50
  },
51
+ {
52
+ "type": "test",
53
+ "which": "docType",
54
+ "what": "missing or invalid doctype declaration"
55
+ },
46
56
  {
47
57
  "type": "test",
48
58
  "which": "embAc",
@@ -5,17 +5,17 @@
5
5
  exports.reporter = async page => {
6
6
  const data = await page.evaluate(() => {
7
7
  const {body} = document;
8
- const main = body ? body.querySelector('main') : null;
8
+ const main = body && body.querySelector('main');
9
9
  const styles = {
10
10
  doc: window.getComputedStyle(document.documentElement),
11
- body: body ? window.getComputedStyle(body) : null,
12
- main: main ? window.getComputedStyle(main) : null
11
+ body: body && window.getComputedStyle(body),
12
+ main: main && window.getComputedStyle(main)
13
13
  };
14
14
  const data = {
15
15
  hidden: {
16
16
  document: document.documentElement.hidden,
17
- body: body && body.hidden,
18
- main: main && main.hidden
17
+ body: body ? body.hidden : false,
18
+ main: main ? main.hidden : false
19
19
  },
20
20
  reallyHidden: {
21
21
  document: false,
@@ -23,19 +23,19 @@ exports.reporter = async page => {
23
23
  main: false
24
24
  },
25
25
  display: {
26
- document: styles.doc && styles.doc.display,
26
+ document: styles.doc.display,
27
27
  body: styles.body && styles.body.display,
28
28
  main: styles.main && styles.main.display
29
29
  },
30
30
  visHidden: {
31
- document: styles.doc && styles.doc.visibility === 'hidden',
32
- body: styles.body && styles.body.visibility === 'hidden',
33
- main: styles.main && styles.main.visibility === 'hidden'
31
+ document: styles.doc.visibility === 'hidden',
32
+ body: styles.body ? styles.body.visibility === 'hidden' : false,
33
+ main: styles.main ? styles.main.visibility === 'hidden' : false
34
34
  },
35
35
  ariaHidden: {
36
36
  document: document.documentElement.ariaHidden === 'true',
37
- body: body && body.ariaHidden === 'true',
38
- main: main && main.ariaHidden === 'true'
37
+ body: body ? body.ariaHidden === 'true' : false,
38
+ main: main ? main.ariaHidden === 'true' : false
39
39
  }
40
40
  };
41
41
  ['document', 'body', 'main'].forEach(element => {
@@ -43,6 +43,7 @@ exports.reporter = async page => {
43
43
  data.reallyHidden[element] = true;
44
44
  }
45
45
  });
46
+ return data;
46
47
  });
47
48
  return {result: data};
48
49
  };
@@ -36,7 +36,11 @@ const validateTests = async () => {
36
36
  }
37
37
  else {
38
38
  console.log('Failure: The test has at least one failure');
39
- console.log(JSON.stringify(acts, null, 2));
39
+ console.log(
40
+ JSON.stringify(
41
+ acts.filter(act => act.type === 'test' && act.result.failureCount), null, 2
42
+ )
43
+ );
40
44
  }
41
45
  }
42
46
  else {
@@ -0,0 +1,305 @@
1
+ {
2
+ "what": "validation of allHidden test",
3
+ "strict": true,
4
+ "commands": [
5
+ {
6
+ "type": "launch",
7
+ "which": "chromium",
8
+ "what": "usual browser"
9
+ },
10
+ {
11
+ "type": "url",
12
+ "which": "__targets__/allHidden/good.html",
13
+ "what": "page with nothing hidden"
14
+ },
15
+ {
16
+ "type": "test",
17
+ "which": "allHidden",
18
+ "what": "entirely or mainly hidden page",
19
+ "expect": [
20
+ ["hidden.document", "=", false],
21
+ ["hidden.body", "=", false],
22
+ ["hidden.main", "=", false],
23
+ ["reallyHidden.document", "=", false],
24
+ ["reallyHidden.body", "=", false],
25
+ ["reallyHidden.main", "=", false],
26
+ ["display.document", "=", "block"],
27
+ ["display.body", "=", "block"],
28
+ ["display.main", "=", "block"],
29
+ ["visHidden.document", "=", false],
30
+ ["visHidden.body", "=", false],
31
+ ["visHidden.main", "=", false],
32
+ ["ariaHidden.document", "=", false],
33
+ ["ariaHidden.body", "=", false],
34
+ ["ariaHidden.main", "=", false]
35
+ ]
36
+ },
37
+ {
38
+ "type": "url",
39
+ "which": "__targets__/allHidden/noBody.html",
40
+ "what": "page with no body"
41
+ },
42
+ {
43
+ "type": "test",
44
+ "which": "allHidden",
45
+ "what": "entirely or mainly hidden page",
46
+ "expect": [
47
+ ["hidden.document", "=", false],
48
+ ["hidden.body", "=", false],
49
+ ["hidden.main", "=", false],
50
+ ["reallyHidden.document", "=", false],
51
+ ["reallyHidden.body", "=", false],
52
+ ["reallyHidden.main", "=", false],
53
+ ["display.document", "=", "block"],
54
+ ["visHidden.document", "=", false],
55
+ ["visHidden.body", "=", false],
56
+ ["visHidden.main", "=", false],
57
+ ["ariaHidden.document", "=", false],
58
+ ["ariaHidden.body", "=", false],
59
+ ["ariaHidden.main", "=", false]
60
+ ]
61
+ },
62
+ {
63
+ "type": "url",
64
+ "which": "__targets__/allHidden/noMain.html",
65
+ "what": "page with no main landmark"
66
+ },
67
+ {
68
+ "type": "test",
69
+ "which": "allHidden",
70
+ "what": "entirely or mainly hidden page",
71
+ "expect": [
72
+ ["hidden.document", "=", false],
73
+ ["hidden.body", "=", false],
74
+ ["hidden.main", "=", false],
75
+ ["reallyHidden.document", "=", false],
76
+ ["reallyHidden.body", "=", false],
77
+ ["reallyHidden.main", "=", false],
78
+ ["display.document", "=", "block"],
79
+ ["display.body", "=", "block"],
80
+ ["visHidden.document", "=", false],
81
+ ["visHidden.body", "=", false],
82
+ ["visHidden.main", "=", false],
83
+ ["ariaHidden.document", "=", false],
84
+ ["ariaHidden.body", "=", false],
85
+ ["ariaHidden.main", "=", false]
86
+ ]
87
+ },
88
+ {
89
+ "type": "url",
90
+ "which": "__targets__/allHidden/hiddenMain.html",
91
+ "what": "page with a hidden main landmark"
92
+ },
93
+ {
94
+ "type": "test",
95
+ "which": "allHidden",
96
+ "what": "entirely or mainly hidden page",
97
+ "expect": [
98
+ ["hidden.document", "=", false],
99
+ ["hidden.body", "=", false],
100
+ ["hidden.main", "=", true],
101
+ ["reallyHidden.document", "=", false],
102
+ ["reallyHidden.body", "=", false],
103
+ ["reallyHidden.main", "=", true],
104
+ ["display.document", "=", "block"],
105
+ ["display.body", "=", "block"],
106
+ ["display.main", "=", "none"],
107
+ ["visHidden.document", "=", false],
108
+ ["visHidden.body", "=", false],
109
+ ["visHidden.main", "=", false],
110
+ ["ariaHidden.document", "=", false],
111
+ ["ariaHidden.body", "=", false],
112
+ ["ariaHidden.main", "=", false]
113
+ ]
114
+ },
115
+ {
116
+ "type": "url",
117
+ "which": "__targets__/allHidden/visHiddenMain.html",
118
+ "what": "page with a visually hidden main landmark"
119
+ },
120
+ {
121
+ "type": "test",
122
+ "which": "allHidden",
123
+ "what": "entirely or mainly hidden page",
124
+ "expect": [
125
+ ["hidden.document", "=", false],
126
+ ["hidden.body", "=", false],
127
+ ["hidden.main", "=", false],
128
+ ["reallyHidden.document", "=", false],
129
+ ["reallyHidden.body", "=", false],
130
+ ["reallyHidden.main", "=", false],
131
+ ["display.document", "=", "block"],
132
+ ["display.body", "=", "block"],
133
+ ["display.main", "=", "block"],
134
+ ["visHidden.document", "=", false],
135
+ ["visHidden.body", "=", false],
136
+ ["visHidden.main", "=", true],
137
+ ["ariaHidden.document", "=", false],
138
+ ["ariaHidden.body", "=", false],
139
+ ["ariaHidden.main", "=", false]
140
+ ]
141
+ },
142
+ {
143
+ "type": "url",
144
+ "which": "__targets__/allHidden/ariaHiddenMain.html",
145
+ "what": "page with an ARIA-hidden main landmark"
146
+ },
147
+ {
148
+ "type": "test",
149
+ "which": "allHidden",
150
+ "what": "entirely or mainly hidden page",
151
+ "expect": [
152
+ ["hidden.document", "=", false],
153
+ ["hidden.body", "=", false],
154
+ ["hidden.main", "=", false],
155
+ ["reallyHidden.document", "=", false],
156
+ ["reallyHidden.body", "=", false],
157
+ ["reallyHidden.main", "=", false],
158
+ ["display.document", "=", "block"],
159
+ ["display.body", "=", "block"],
160
+ ["display.main", "=", "block"],
161
+ ["visHidden.document", "=", false],
162
+ ["visHidden.body", "=", false],
163
+ ["visHidden.main", "=", false],
164
+ ["ariaHidden.document", "=", false],
165
+ ["ariaHidden.body", "=", false],
166
+ ["ariaHidden.main", "=", true]
167
+ ]
168
+ },
169
+ {
170
+ "type": "url",
171
+ "which": "__targets__/allHidden/mixedHidden0.html",
172
+ "what": "page with mixed hidden states"
173
+ },
174
+ {
175
+ "type": "test",
176
+ "which": "allHidden",
177
+ "what": "entirely or mainly hidden page",
178
+ "expect": [
179
+ ["hidden.document", "=", false],
180
+ ["hidden.body", "=", false],
181
+ ["hidden.main", "=", true],
182
+ ["reallyHidden.document", "=", false],
183
+ ["reallyHidden.body", "=", false],
184
+ ["reallyHidden.main", "=", true],
185
+ ["display.document", "=", "block"],
186
+ ["display.body", "=", "block"],
187
+ ["display.main", "=", "none"],
188
+ ["visHidden.document", "=", false],
189
+ ["visHidden.body", "=", true],
190
+ ["visHidden.main", "=", true],
191
+ ["ariaHidden.document", "=", true],
192
+ ["ariaHidden.body", "=", false],
193
+ ["ariaHidden.main", "=", false]
194
+ ]
195
+ },
196
+ {
197
+ "type": "url",
198
+ "which": "__targets__/allHidden/mixedHidden1.html",
199
+ "what": "page with mixed hidden states"
200
+ },
201
+ {
202
+ "type": "test",
203
+ "which": "allHidden",
204
+ "what": "entirely or mainly hidden page",
205
+ "expect": [
206
+ ["hidden.document", "=", true],
207
+ ["hidden.body", "=", false],
208
+ ["hidden.main", "=", false],
209
+ ["reallyHidden.document", "=", true],
210
+ ["reallyHidden.body", "=", false],
211
+ ["reallyHidden.main", "=", false],
212
+ ["display.document", "=", "none"],
213
+ ["display.body", "=", "block"],
214
+ ["display.main", "=", "block"],
215
+ ["visHidden.document", "=", false],
216
+ ["visHidden.body", "=", true],
217
+ ["visHidden.main", "=", true],
218
+ ["ariaHidden.document", "=", false],
219
+ ["ariaHidden.body", "=", false],
220
+ ["ariaHidden.main", "=", true]
221
+ ]
222
+ },
223
+ {
224
+ "type": "url",
225
+ "which": "__targets__/allHidden/semiHidden.html",
226
+ "what": "page with mixed hidden states"
227
+ },
228
+ {
229
+ "type": "test",
230
+ "which": "allHidden",
231
+ "what": "entirely or mainly hidden page",
232
+ "expect": [
233
+ ["hidden.document", "=", false],
234
+ ["hidden.body", "=", false],
235
+ ["hidden.main", "=", true],
236
+ ["reallyHidden.document", "=", false],
237
+ ["reallyHidden.body", "=", false],
238
+ ["reallyHidden.main", "=", false],
239
+ ["display.document", "=", "block"],
240
+ ["display.body", "=", "block"],
241
+ ["display.main", "=", "block"],
242
+ ["visHidden.document", "=", false],
243
+ ["visHidden.body", "=", false],
244
+ ["visHidden.main", "=", false],
245
+ ["ariaHidden.document", "=", false],
246
+ ["ariaHidden.body", "=", false],
247
+ ["ariaHidden.main", "=", false]
248
+ ]
249
+ },
250
+ {
251
+ "type": "url",
252
+ "which": "__targets__/allHidden/noneDoc.html",
253
+ "what": "page with mixed hidden states"
254
+ },
255
+ {
256
+ "type": "test",
257
+ "which": "allHidden",
258
+ "what": "entirely or mainly hidden page",
259
+ "expect": [
260
+ ["hidden.document", "=", false],
261
+ ["hidden.body", "=", false],
262
+ ["hidden.main", "=", false],
263
+ ["reallyHidden.document", "=", false],
264
+ ["reallyHidden.body", "=", false],
265
+ ["reallyHidden.main", "=", false],
266
+ ["display.document", "=", "none"],
267
+ ["display.body", "=", "block"],
268
+ ["display.main", "=", "block"],
269
+ ["visHidden.document", "=", false],
270
+ ["visHidden.body", "=", false],
271
+ ["visHidden.main", "=", false],
272
+ ["ariaHidden.document", "=", false],
273
+ ["ariaHidden.body", "=", false],
274
+ ["ariaHidden.main", "=", false]
275
+ ]
276
+ },
277
+ {
278
+ "type": "url",
279
+ "which": "__targets__/allHidden/noneMain.html",
280
+ "what": "page with mixed hidden states"
281
+ },
282
+ {
283
+ "type": "test",
284
+ "which": "allHidden",
285
+ "what": "entirely or mainly hidden page",
286
+ "expect": [
287
+ ["hidden.document", "=", false],
288
+ ["hidden.body", "=", false],
289
+ ["hidden.main", "=", false],
290
+ ["reallyHidden.document", "=", false],
291
+ ["reallyHidden.body", "=", false],
292
+ ["reallyHidden.main", "=", false],
293
+ ["display.document", "=", "block"],
294
+ ["display.body", "=", "block"],
295
+ ["display.main", "=", "none"],
296
+ ["visHidden.document", "=", false],
297
+ ["visHidden.body", "=", false],
298
+ ["visHidden.main", "=", false],
299
+ ["ariaHidden.document", "=", false],
300
+ ["ariaHidden.body", "=", false],
301
+ ["ariaHidden.main", "=", false]
302
+ ]
303
+ }
304
+ ]
305
+ }
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with an ARIA-hidden main landmark</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main aria-hidden="true">
11
+ <h1>Page with an ARIA-hidden main landmark</h1>
12
+ <p>This page has an ARIA-hidden main landmark.</p>
13
+ </main>
14
+ </body>
15
+ </html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with nothing hidden</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main>
11
+ <h1>Page with nothing hidden</h1>
12
+ <p>This page has nothing hidden.</p>
13
+ </main>
14
+ </body>
15
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with a hidden main landmark</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main hidden>
11
+ <h1>Page with a hidden main landmark</h1>
12
+ <p>This page has a hidden main landmark.</p>
13
+ <p>An element with a <code>hidden</code> attribute automatically acquires <code>none</code> as the value of its <code>display</code> style property.</p>
14
+ </main>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US" aria-hidden="true">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with mixture 0 of hiddenness</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body style="visibility: hidden">
10
+ <main hidden>
11
+ <h1>Page with mixture 0 of hiddenness</h1>
12
+ <p>This page has an ARIA-hidden document, a visually hidden body, and a hidden main landmark.</p>
13
+ <p>An element with a <code>hidden</code> attribute automatically acquires <code>none</code> as the value of its <code>display</code> style property.</p>
14
+ </main>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US" hidden>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with mixture 1 of hiddenness</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body style="visibility: hidden">
10
+ <main aria-hidden="true">
11
+ <h1>Page with mixture 1 of hiddenness</h1>
12
+ <p>This page has a hidden document, a visually hidden body, and an ARIA-hidden main landmark.</p>
13
+ <p>An element with a <code>hidden</code> attribute automatically acquires <code>none</code> as the value of its <code>display</code> style property.</p>
14
+ </main>
15
+ </body>
16
+ </html>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with no body</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <h1>Page with no body</h1>
10
+ <p>The content is direct children of the <code>html</code> element.</p>
11
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with no main landmark</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <h1>Page with no main landmark</h1>
11
+ <p>This page has no main landmark.</p>
12
+ </body>
13
+ </html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US" style="display: none">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with none as the display property of the html element</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main>
11
+ <h1>Page with none as the display property of the html element</h1>
12
+ <p>This page has a document with none as its display style property.</p>
13
+ </main>
14
+ </body>
15
+ </html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with none as the display style property of the main element</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main style="display: none">
11
+ <h1>Page with none as the display style property of the main element</h1>
12
+ <p>This page has a moin landmark with none as its display style property.</p>
13
+ </main>
14
+ </body>
15
+ </html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with partial hiddenness</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main hidden style="display: block">
11
+ <h1>Page with partial hiddenness</h1>
12
+ <p>This page has a hidden primary heading, but its <code>display</code> style is <code>block</code>.</p>
13
+ </main>
14
+ </body>
15
+ </html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Page with a visually hidden main landmark</title>
6
+ <meta name="description" content="tester">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ </head>
9
+ <body>
10
+ <main style="visibility: hidden">
11
+ <h1>Page with a visually hidden main landmark</h1>
12
+ <p>This page has a visually hidden main landmark.</p>
13
+ </main>
14
+ </body>
15
+ </html>