@axe-core/playwright 4.3.3-alpha.242 → 4.3.3

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
@@ -83,7 +83,7 @@ new AxeBuilder({ page })
83
83
  });
84
84
  ```
85
85
 
86
- ### AxeBuilder#include(selector: String | String[])
86
+ ### AxeBuilder#include(selector: String)
87
87
 
88
88
  Adds a CSS selector to the list of elements to include in analysis
89
89
 
@@ -91,18 +91,7 @@ Adds a CSS selector to the list of elements to include in analysis
91
91
  new AxeBuilder({ page }).include('.results-panel');
92
92
  ```
93
93
 
94
- Method chaining is also available, add multiple CSS selectors to the list of elements to include in analysis
95
-
96
- ```js
97
- new AxeBuilder({ page })
98
- .include('.selector-one')
99
- .include('.selector-two')
100
- .include('.selector-three');
101
- ```
102
-
103
- Note: arrays with more than one index when passing multiple CSS selectors are not currently supported example: ` .include(['#foo', '#bar', '#baz'])`
104
-
105
- ### AxeBuilder#exclude(selector: String | String[])
94
+ ### AxeBuilder#exclude(selector: String)
106
95
 
107
96
  Add a CSS selector to the list of elements to exclude from analysis
108
97
 
@@ -110,17 +99,6 @@ Add a CSS selector to the list of elements to exclude from analysis
110
99
  new AxeBuilder({ page }).exclude('.another-element');
111
100
  ```
112
101
 
113
- Method chaining is also available, add multiple CSS selectors to the list of elements to exclude from analysis
114
-
115
- ```js
116
- new AxeBuilder({ page })
117
- .exclude('.selector-one')
118
- .exclude('.selector-two')
119
- .exclude('.selector-three');
120
- ```
121
-
122
- Note: arrays with more than one index when passing multiple CSS selectors are not currently supported example: ` .exclude(['#foo', '#bar', '#baz'])`
123
-
124
102
  ### AxeBuilder#options(options: [axe.RunOptions](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#options-parameter))
125
103
 
126
104
  Specifies options to be used by `axe.run`. Will override any other configured options. including calls to `AxeBuilder#withRules()` and `AxeBuilder#withTags()`. See [axe-core API documentation](https://github.com/dequelabs/axe-core/blob/master/doc/API.md) for information on its structure.
@@ -35,14 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
39
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
40
+ to[j] = from[i];
41
+ return to;
46
42
  };
47
43
  Object.defineProperty(exports, "__esModule", { value: true });
48
44
  exports.caught = void 0;
@@ -51,7 +47,7 @@ var AxePartialRunner = /** @class */ (function () {
51
47
  if (initiator === void 0) { initiator = false; }
52
48
  this.initiator = initiator;
53
49
  this.childRunners = [];
54
- this.partialPromise = (0, exports.caught)(partialPromise);
50
+ this.partialPromise = exports.caught(partialPromise);
55
51
  }
56
52
  AxePartialRunner.prototype.addChildResults = function (childResultRunner) {
57
53
  this.childRunners.push(childResultRunner);
@@ -67,12 +63,12 @@ var AxePartialRunner = /** @class */ (function () {
67
63
  case 1:
68
64
  parentPartial = _a.sent();
69
65
  childPromises = this.childRunners.map(function (childRunner) {
70
- return childRunner ? (0, exports.caught)(childRunner.getPartials()) : [null];
66
+ return childRunner ? exports.caught(childRunner.getPartials()) : [null];
71
67
  });
72
68
  return [4 /*yield*/, Promise.all(childPromises)];
73
69
  case 2:
74
70
  childPartials = (_a.sent()).flat(1);
75
- return [2 /*return*/, __spreadArray([parentPartial], childPartials, true)];
71
+ return [2 /*return*/, __spreadArray([parentPartial], childPartials)];
76
72
  case 3:
77
73
  e_1 = _a.sent();
78
74
  if (this.initiator) {
@@ -1 +1 @@
1
- {"version":3,"file":"AxePartialRunner.js","sourceRoot":"","sources":["../src/AxePartialRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;IAIE,0BACE,cAA0C,EAClC,SAA0B;QAA1B,0BAAA,EAAA,iBAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAJ5B,iBAAY,GAAmC,EAAE,CAAC;QAMxD,IAAI,CAAC,cAAc,GAAG,IAAA,cAAM,EAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEM,0CAAe,GAAtB,UAAuB,iBAA0C;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAEY,sCAAW,GAAxB;;;;;;;wBAE0B,qBAAM,IAAI,CAAC,cAAc,EAAA;;wBAAzC,aAAa,GAAG,SAAyB;wBACzC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,WAAW;4BACrD,OAAO,WAAW,CAAC,CAAC,CAAC,IAAA,cAAM,EAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;wBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAA;;wBAAjD,aAAa,GAAG,CAAC,SAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChE,qCAAQ,aAAa,GAAK,aAAa,SAAE;;;wBAEzC,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,MAAM,GAAC,CAAC;yBACT;wBACD,sBAAO,CAAC,IAAI,CAAC,EAAC;;;;;KAEjB;IACH,uBAAC;AAAD,CAAC,AA9BD,IA8BC;;AAED,2EAA2E;AAC3E,oHAAoH;AACvG,QAAA,MAAM,GAAG,CAAC,UAAC,CAAa;IACnC,OAAO,UAAI,CAAa,IAAiB,OAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAf,CAAe,CAAC;IACzD,yDAAyD;AAC3D,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AxePartialRunner.js","sourceRoot":"","sources":["../src/AxePartialRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;IAIE,0BACE,cAA0C,EAClC,SAA0B;QAA1B,0BAAA,EAAA,iBAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAJ5B,iBAAY,GAAmC,EAAE,CAAC;QAMxD,IAAI,CAAC,cAAc,GAAG,cAAM,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEM,0CAAe,GAAtB,UAAuB,iBAA0C;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAEY,sCAAW,GAAxB;;;;;;;wBAE0B,qBAAM,IAAI,CAAC,cAAc,EAAA;;wBAAzC,aAAa,GAAG,SAAyB;wBACzC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,WAAW;4BACrD,OAAO,WAAW,CAAC,CAAC,CAAC,cAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;wBACoB,qBAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAA;;wBAAjD,aAAa,GAAG,CAAC,SAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChE,qCAAQ,aAAa,GAAK,aAAa,GAAE;;;wBAEzC,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,MAAM,GAAC,CAAC;yBACT;wBACD,sBAAO,CAAC,IAAI,CAAC,EAAC;;;;;KAEjB;IACH,uBAAC;AAAD,CAAC,AA9BD,IA8BC;;AAED,2EAA2E;AAC3E,oHAAoH;AACvG,QAAA,MAAM,GAAG,CAAC,UAAC,CAAa;IACnC,OAAO,UAAI,CAAa,IAAiB,OAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAf,CAAe,CAAC;IACzD,yDAAyD;AAC3D,CAAC,CAAC,CAAC,cAAO,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -14,14 +14,14 @@ export default class AxeBuilder {
14
14
  * @param String selector
15
15
  * @returns this
16
16
  */
17
- include(selector: string | string[]): this;
17
+ include(selector: string): this;
18
18
  /**
19
19
  * Selector to exclude in analysis.
20
20
  * This may be called any number of times.
21
21
  * @param String selector
22
22
  * @returns this
23
23
  */
24
- exclude(selector: string | string[]): this;
24
+ exclude(selector: string): this;
25
25
  /**
26
26
  * Set options to be passed into axe-core
27
27
  * @param RunOptions options
@@ -88,4 +88,5 @@ export default class AxeBuilder {
88
88
  */
89
89
  private runPartialRecursive;
90
90
  private finishRun;
91
+ private axeConfigure;
91
92
  }
package/dist/index.js CHANGED
@@ -60,7 +60,6 @@ var AxeBuilder = /** @class */ (function () {
60
60
  * @returns this
61
61
  */
62
62
  AxeBuilder.prototype.include = function (selector) {
63
- selector = Array.isArray(selector) ? selector : [selector];
64
63
  this.includes.push(selector);
65
64
  return this;
66
65
  };
@@ -71,7 +70,6 @@ var AxeBuilder = /** @class */ (function () {
71
70
  * @returns this
72
71
  */
73
72
  AxeBuilder.prototype.exclude = function (selector) {
74
- selector = Array.isArray(selector) ? selector : [selector];
75
73
  this.excludes.push(selector);
76
74
  return this;
77
75
  };
@@ -154,7 +152,7 @@ var AxeBuilder = /** @class */ (function () {
154
152
  return __generator(this, function (_b) {
155
153
  switch (_b.label) {
156
154
  case 0:
157
- context = (0, utils_1.normalizeContext)(this.includes, this.excludes);
155
+ context = utils_1.normalizeContext(this.includes, this.excludes);
158
156
  _a = this, page = _a.page, options = _a.option;
159
157
  page.evaluate(this.script());
160
158
  return [4 /*yield*/, page.evaluate('typeof window.axe.runPartial === "function"')];
@@ -191,23 +189,28 @@ var AxeBuilder = /** @class */ (function () {
191
189
  */
192
190
  AxeBuilder.prototype.inject = function (frames) {
193
191
  return __awaiter(this, void 0, void 0, function () {
194
- var _i, frames_1, iframe;
195
- return __generator(this, function (_a) {
196
- switch (_a.label) {
192
+ var _i, frames_1, iframe, _a, _b;
193
+ return __generator(this, function (_c) {
194
+ switch (_c.label) {
197
195
  case 0:
198
196
  _i = 0, frames_1 = frames;
199
- _a.label = 1;
197
+ _c.label = 1;
200
198
  case 1:
201
- if (!(_i < frames_1.length)) return [3 /*break*/, 4];
199
+ if (!(_i < frames_1.length)) return [3 /*break*/, 6];
202
200
  iframe = frames_1[_i];
203
201
  return [4 /*yield*/, iframe.evaluate(this.script())];
204
202
  case 2:
205
- _a.sent();
206
- _a.label = 3;
207
- case 3:
203
+ _c.sent();
204
+ _b = (_a = iframe).evaluate;
205
+ return [4 /*yield*/, this.axeConfigure()];
206
+ case 3: return [4 /*yield*/, _b.apply(_a, [_c.sent()])];
207
+ case 4:
208
+ _c.sent();
209
+ _c.label = 5;
210
+ case 5:
208
211
  _i++;
209
212
  return [3 /*break*/, 1];
210
- case 4: return [2 /*return*/];
213
+ case 6: return [2 /*return*/];
211
214
  }
212
215
  });
213
216
  });
@@ -217,7 +220,7 @@ var AxeBuilder = /** @class */ (function () {
217
220
  * @returns String
218
221
  */
219
222
  AxeBuilder.prototype.script = function () {
220
- return "\n " + this.source + "\n axe.configure({\n " + (this.legacyMode ? '' : 'allowedOrigins: ["<unsafe_all_origins>"],') + "\n branding: { application: 'playwright' }\n })\n ";
223
+ return this.source;
221
224
  };
222
225
  AxeBuilder.prototype.runLegacy = function (context) {
223
226
  return __awaiter(this, void 0, void 0, function () {
@@ -315,17 +318,21 @@ var AxeBuilder = /** @class */ (function () {
315
318
  };
316
319
  AxeBuilder.prototype.finishRun = function (partialResults) {
317
320
  return __awaiter(this, void 0, void 0, function () {
318
- var _a, page, options, context, blankPage;
319
- return __generator(this, function (_b) {
320
- switch (_b.label) {
321
+ var _a, page, options, context, blankPage, _b, _c;
322
+ return __generator(this, function (_d) {
323
+ switch (_d.label) {
321
324
  case 0:
322
325
  _a = this, page = _a.page, options = _a.option;
323
326
  context = page.context();
324
327
  return [4 /*yield*/, context.newPage()];
325
328
  case 1:
326
- blankPage = _b.sent();
329
+ blankPage = _d.sent();
327
330
  assert(blankPage, 'Please make sure that you have popup blockers disabled.');
328
331
  blankPage.evaluate(this.script());
332
+ _c = (_b = blankPage).evaluate;
333
+ return [4 /*yield*/, this.axeConfigure()];
334
+ case 2:
335
+ _c.apply(_b, [_d.sent()]);
329
336
  return [4 /*yield*/, blankPage
330
337
  .evaluate(browser_1.axeFinishRun, {
331
338
  partialResults: partialResults,
@@ -334,7 +341,22 @@ var AxeBuilder = /** @class */ (function () {
334
341
  .finally(function () {
335
342
  blankPage.close();
336
343
  })];
337
- case 2: return [2 /*return*/, _b.sent()];
344
+ case 3: return [2 /*return*/, _d.sent()];
345
+ }
346
+ });
347
+ });
348
+ };
349
+ AxeBuilder.prototype.axeConfigure = function () {
350
+ return __awaiter(this, void 0, void 0, function () {
351
+ var hasRunPartial;
352
+ return __generator(this, function (_a) {
353
+ switch (_a.label) {
354
+ case 0: return [4 /*yield*/, this.page.evaluate('typeof window.axe?.runPartial === "function"')];
355
+ case 1:
356
+ hasRunPartial = _a.sent();
357
+ return [2 /*return*/, "\n ;axe.configure({\n " + (!this.legacyMode && !hasRunPartial
358
+ ? 'allowedOrigins: ["<unsafe_all_origins>"],'
359
+ : 'allowedOrigins: ["<same_origin>"],') + "\n branding: { application: 'playwright' }\n })\n "];
338
360
  }
339
361
  });
340
362
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAyB;AACzB,+BAAiC;AAQjC,iCAAwD;AAExD,qCAKmB;AACnB,uDAAkD;AAElD;IAQE,oBAAY,EAAwC;YAAtC,IAAI,UAAA,EAAE,SAAS,eAAA;QAFrB,eAAU,GAAG,KAAK,CAAC;QAGzB,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI,MAAM,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IAEI,4BAAO,GAAd,UAAe,QAAgB;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IAEI,4BAAO,GAAd,UAAe,QAAgB;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IAEI,4BAAO,GAAd,UAAe,OAAmB;QAChC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IAEI,8BAAS,GAAhB,UAAiB,KAAwB;QACvC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG;YACpB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IAEI,6BAAQ,GAAf,UAAgB,IAAuB;QACrC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG;YACpB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI;SACb,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IAEI,iCAAY,GAAnB,UAAoB,KAAwB;QAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,0BAA0B;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAEvB,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAM,IAAI,cAAA;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SAC9C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACI,kCAAa,GAApB,UAAqB,UAAiB;QAAjB,2BAAA,EAAA,iBAAiB;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IAEU,4BAAO,GAApB;;;;;;wBACQ,OAAO,GAAG,wBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACzD,KAA4B,IAAI,EAA9B,IAAI,UAAA,EAAU,OAAO,YAAA,CAAU;wBAEvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBACH,qBAAM,IAAI,CAAC,QAAQ,CAC3C,6CAA6C,CAC9C,EAAA;;wBAFK,iBAAiB,GAAG,SAEzB;6BAIG,CAAA,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAA,EAArC,wBAAqC;wBAC7B,qBAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAA;;wBAAvC,OAAO,GAAG,SAA6B,CAAC;wBACxC,sBAAO,OAAO,EAAC;4BAEM,qBAAM,IAAI,CAAC,mBAAmB,CACnD,IAAI,CAAC,SAAS,EAAE,EAChB,OAAO,CACR,EAAA;;wBAHK,cAAc,GAAG,SAGtB;wBACgB,qBAAM,cAAc,CAAC,WAAW,EAAE,EAAA;;wBAA7C,QAAQ,GAAG,SAAkC;;;;wBAG1C,qBAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAA;4BAArC,sBAAO,SAA8B,EAAC;;;wBAEtC,MAAM,IAAI,KAAK,CACV,OAAK,CAAC,OAAO,qHAAkH,CACnI,CAAC;;;;;KAEL;IAED;;;;OAIG;IAEW,2BAAM,GAApB,UAAqB,MAAe;;;;;;8BACP,EAAN,iBAAM;;;6BAAN,CAAA,oBAAM,CAAA;wBAAhB,MAAM;wBACf,qBAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAA;;wBAApC,SAAoC,CAAC;wBAC/B,KAAA,CAAA,KAAA,MAAM,CAAA,CAAC,QAAQ,CAAA;wBAAC,qBAAM,IAAI,CAAC,YAAY,EAAE,EAAA;4BAA/C,qBAAM,cAAgB,SAAyB,EAAC,EAAA;;wBAAhD,SAAgD,CAAC;;;wBAF9B,IAAM,CAAA;;;;;;KAI5B;IAED;;;OAGG;IAEK,2BAAM,GAAd;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEa,8BAAS,GAAvB,UAAwB,OAAsB;;;;;;wBAItC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBAClC,qBAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBACP,qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAW,EAAE;gCACvD,OAAO,SAAA;gCACP,OAAO,EAAE,IAAI,CAAC,MAAM;6BACrB,CAAC,EAAA;;wBAHI,UAAU,GAAG,SAGjB;wBAEF,IAAI,UAAU,CAAC,KAAK,EAAE;4BACpB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;yBACnC;wBAED,sBAAO,UAAU,CAAC,OAAO,EAAC;;;;KAC3B;IAED;;;;;;;;;;;;OAYG;IAEW,wCAAmB,GAAjC,UACE,KAAY,EACZ,OAAsB;;;;;4BAEA,qBAAM,KAAK,CAAC,QAAQ,CAAC,6BAAmB,EAAE;4BAC9D,OAAO,SAAA;yBACR,CAAC,EAAA;;wBAFI,aAAa,GAAG,SAEpB;wBACI,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAa,EAAE;4BACnD,OAAO,SAAA;4BACP,OAAO,EAAE,IAAI,CAAC,MAAM;yBACrB,CAAC,CAAC;wBACG,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC5C,gBAAgB,GAAG,IAAI,0BAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;8BAEd,EAAb,+BAAa;;;6BAAb,CAAA,2BAAa,CAAA;wBAAhD,wBAA+B,EAA7B,aAAa,mBAAA,EAAE,YAAY,kBAAA;wBAClC,YAAY,GAA4B,IAAI,CAAC;;;;wBAE1B,qBAAM,KAAK,CAAC,cAAc,CAAC,yBAAe,EAAE;gCAC/D,aAAa,eAAA;6BACd,CAAC,EAAA;;wBAFI,YAAY,GAAG,SAEnB;wBAEI,aAAa,GACjB,YAAY,CAAC,SAAS,EAA4B,CAAC;wBAClC,qBAAM,aAAa,CAAC,YAAY,EAAE,EAAA;;wBAA/C,UAAU,GAAG,SAAkC;6BACjD,UAAU,EAAV,wBAAU;wBACZ,qBAAM,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;wBACjB,qBAAM,IAAI,CAAC,mBAAmB,CAC3C,UAAU,EACV,YAAY,CACb,EAAA;;wBAHD,YAAY,GAAG,SAGd,CAAC;;;;;;;wBAKN,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;;;wBApBH,IAAa,CAAA;;6BAuB3D,sBAAO,gBAAgB,EAAC;;;;KACzB;IAEa,8BAAS,GAAvB,UAAwB,cAA8B;;;;;;wBAC9C,KAA4B,IAAI,EAA9B,IAAI,UAAA,EAAU,OAAO,YAAA,CAAU;wBACjC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,qBAAM,OAAO,CAAC,OAAO,EAAE,EAAA;;wBAAnC,SAAS,GAAG,SAAuB;wBAEzC,MAAM,CACJ,SAAS,EACT,yDAAyD,CAC1D,CAAC;wBAEF,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBAClC,KAAA,CAAA,KAAA,SAAS,CAAA,CAAC,QAAQ,CAAA;wBAAC,qBAAM,IAAI,CAAC,YAAY,EAAE,EAAA;;wBAA5C,cAAmB,SAAyB,EAAC,CAAC;wBAEvC,qBAAM,SAAS;iCACnB,QAAQ,CAAC,sBAAY,EAAE;gCACtB,cAAc,gBAAA;gCACd,OAAO,SAAA;6BACR,CAAC;iCACD,OAAO,CAAC;gCACP,SAAS,CAAC,KAAK,EAAE,CAAC;4BACpB,CAAC,CAAC,EAAA;4BAPJ,sBAAO,SAOH,EAAC;;;;KACN;IAEa,iCAAY,GAA1B;;;;;4BACwB,qBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAC5C,8CAA8C,CAC/C,EAAA;;wBAFK,aAAa,GAAG,SAErB;wBAED,sBAAO,oCAGH,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa;gCAChC,CAAC,CAAC,2CAA2C;gCAC7C,CAAC,CAAC,oCAAoC,mEAI3C,EAAC;;;;KACH;IACH,iBAAC;AAAD,CAAC,AAhSD,IAgSC"}
package/dist/utils.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import type { SerialContextObject } from 'axe-core';
1
+ import type { ContextObject } from 'axe-core';
2
2
  import type { AnalyzePageParams, AnalyzePageResponse } from './types';
3
3
  /**
4
4
  * Get running context
5
5
  * @param Array include
6
6
  * @param Array exclude
7
- * @returns SerialContextObject
7
+ * @returns ContextObject
8
8
  */
9
- export declare const normalizeContext: (includes: string[][], excludes: string[][]) => SerialContextObject;
9
+ export declare const normalizeContext: (includes: string[], excludes: string[]) => ContextObject;
10
10
  /**
11
11
  * Analyze the page.
12
12
  * @param AnalyzePageParams analyzeContext
package/dist/utils.js CHANGED
@@ -5,7 +5,7 @@ exports.analyzePage = exports.normalizeContext = void 0;
5
5
  * Get running context
6
6
  * @param Array include
7
7
  * @param Array exclude
8
- * @returns SerialContextObject
8
+ * @returns ContextObject
9
9
  */
10
10
  var normalizeContext = function (includes, excludes) {
11
11
  var _a;
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAG,UAC9B,QAAoB,EACpB,QAAoB;;IAEpB,IAAM,IAAI,GAAwB;QAChC,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAClD,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,IAAI,WAAI,QAAQ,EAAE;KAChC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B;AAEF;;;;GAIG;AAEI,IAAM,WAAW,GAAG,UAAC,EAGR;QAFlB,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,8DAA8D;IAC9D,IAAM,OAAO,GAAI,MAAc,CAAC,GAAG,CAAC;IAEpC,eAAe;IACf,OAAO,OAAO;SACX,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;SACvC,IAAI,CAAC,UAAC,OAAmB;QACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,GAAU;QAChB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAG,UAC9B,QAAkB,EAClB,QAAkB;;IAElB,IAAM,IAAI,GAAkB;QAC1B,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QAClD,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,IAAI,WAAI,QAAQ,EAAE;KAChC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B;AAEF;;;;GAIG;AAEI,IAAM,WAAW,GAAG,UAAC,EAGR;QAFlB,OAAO,aAAA,EACP,OAAO,aAAA;IAEP,8DAA8D;IAC9D,IAAM,OAAO,GAAI,MAAc,CAAC,GAAG,CAAC;IAEpC,eAAe;IACf,OAAO,OAAO;SACX,GAAG,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;SACvC,IAAI,CAAC,UAAC,OAAmB;QACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,SAAA,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,GAAU;QAChB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,WAAW,eAgBtB"}
@@ -0,0 +1,43 @@
1
+ # Error Handling
2
+
3
+ ## Table of Content
4
+
5
+ 1. [Having Popup blockers enabled](#having-popup-blockers-enabled)
6
+ 2. [AxeBuilder.setLegacyMode(legacy: boolean)](#axebuildersetlegacymodelegacy-boolean)
7
+
8
+ Version 4.3.0 and above of the axe-core integrations use a new technique when calling `AxeBuilder.analyze()` which opens a new window at the end of a run. Many of the issues outlined in this document address common problems with this technique and their potential solutions.
9
+
10
+ ### Having Popup blockers enabled
11
+
12
+ Popup blockers prevent us from opening the new window when calling `AxeBuilder.analyze()`. The default configuration for most automation testing libraries should allow popups. Please make sure that you do not explicitly enable popup blockers which may cause an issue while running the tests.
13
+
14
+ ### AxeBuilder.setLegacyMode(legacy: boolean)
15
+
16
+ If for some reason you are unable to run the new `AxeBuilder.analyze` technique without errors, axe provides a new chainable method that allows you to run the legacy version of `AxeBuilder.analyze`. When using this method axe excludes accessibility issues that may occur in cross-domain frames and iframes.
17
+
18
+ **Please Note:** `AxeBuilder.setLegacyMode` is deprecated and will be removed in v5.0. Please report any errors you may have while running `AxeBuilder.analyze` so that they can be fixed before the legacy version is removed.
19
+
20
+ #### Example:
21
+
22
+ ```js
23
+ const AxeBuilder = require('@axe-core/playwright').default;
24
+ const playwright = require('playwright');
25
+
26
+ (async () => {
27
+ const browser = await playwright.chromium.launch();
28
+ const context = await browser.newContext();
29
+ const page = await context.newPage();
30
+ await page.goto('https://dequeuniversity.com/demo/mars/');
31
+
32
+ try {
33
+ const results = await new AxeBuilder({ page })
34
+ // enables legacy mode
35
+ .setLegacyMode()
36
+ .analyze();
37
+ console.log(results);
38
+ } catch (e) {
39
+ // do something with the error
40
+ }
41
+ await browser.close();
42
+ })();
43
+ ```
package/example.js ADDED
@@ -0,0 +1,12 @@
1
+ const AxeBuilder = require('@axe-core/playwright').default;
2
+ const playwright = require('playwright');
3
+
4
+ (async () => {
5
+ const browser = await playwright.chromium.launch();
6
+ const context = await browser.newContext();
7
+ const page = await context.newPage();
8
+ await page.goto('https://dequeuniversity.com/demo/mars/');
9
+ const results = await new AxeBuilder({ page }).analyze();
10
+ console.log(results);
11
+ await browser.close();
12
+ })();
package/package.json CHANGED
@@ -1,15 +1,12 @@
1
1
  {
2
2
  "name": "@axe-core/playwright",
3
- "version": "4.3.3-alpha.242+95dda29",
3
+ "version": "4.3.3",
4
4
  "description": "Provides a method to inject and analyze web pages using axe",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Michael Siek (me@michaelsiek.com)"
8
8
  }
9
9
  ],
10
- "files": [
11
- "/dist"
12
- ],
13
10
  "keywords": [
14
11
  "a11y",
15
12
  "unit",
@@ -39,14 +36,14 @@
39
36
  "prepare": "npm run build"
40
37
  },
41
38
  "dependencies": {
42
- "axe-core": "^4.4.1",
43
- "playwright": "^1.16.2"
39
+ "axe-core": "^4.3.3",
40
+ "playwright": "^1.13.1"
44
41
  },
45
42
  "devDependencies": {
46
- "@types/chai": "^4.2.22",
43
+ "@types/chai": "^4.2.21",
47
44
  "@types/express": "^4.17.13",
48
45
  "@types/mocha": "^8.2.3",
49
- "@types/node": "^14.17.32",
46
+ "@types/node": "^14.17.9",
50
47
  "@types/test-listen": "^1.1.0",
51
48
  "axe-test-fixtures": "github:dequelabs/axe-test-fixtures#v1",
52
49
  "chai": "^4.3.0",
@@ -56,7 +53,7 @@
56
53
  "rimraf": "^3.0.2",
57
54
  "test-listen": "^1.1.0",
58
55
  "ts-node": "^9.1.1",
59
- "typescript": "^4.4.4"
56
+ "typescript": "^4.3.5"
60
57
  },
61
58
  "peerDependencies": {
62
59
  "playwright": ">= 1.0.0"
@@ -80,5 +77,5 @@
80
77
  "functions": 100,
81
78
  "lines": 95
82
79
  },
83
- "gitHead": "95dda2948e18035eaac4377ab9af6450005d0253"
80
+ "gitHead": "71572a674d4b42b05d8aeff3b8bae30de410c95c"
84
81
  }
@@ -0,0 +1,51 @@
1
+ import * as axe from 'axe-core';
2
+ /**
3
+ * This class parallelizes the async calls to axe.runPartial.
4
+ *
5
+ * In this project, most async calls needs to block execution, such as
6
+ * the axeGetFrameContext() and getChildFrame() and calls.
7
+ *
8
+ * Unlike those calls, axe.runPartial() calls must run in parallel, so that
9
+ * frame tests don't wait for each other. This is necessary to minimize the time
10
+ * between when axe-core finds a frame, and when it is tested.
11
+ */
12
+
13
+ type GetPartialResultsResponse = Parameters<typeof axe.finishRun>[0];
14
+ export default class AxePartialRunner {
15
+ private partialPromise: Promise<axe.PartialResult>;
16
+ private childRunners: Array<AxePartialRunner | null> = [];
17
+
18
+ constructor(
19
+ partialPromise: Promise<axe.PartialResult>,
20
+ private initiator: boolean = false
21
+ ) {
22
+ this.partialPromise = caught(partialPromise);
23
+ }
24
+
25
+ public addChildResults(childResultRunner: AxePartialRunner | null): void {
26
+ this.childRunners.push(childResultRunner);
27
+ }
28
+
29
+ public async getPartials(): Promise<GetPartialResultsResponse> {
30
+ try {
31
+ const parentPartial = await this.partialPromise;
32
+ const childPromises = this.childRunners.map(childRunner => {
33
+ return childRunner ? caught(childRunner.getPartials()) : [null];
34
+ });
35
+ const childPartials = (await Promise.all(childPromises)).flat(1);
36
+ return [parentPartial, ...childPartials];
37
+ } catch (e) {
38
+ if (this.initiator) {
39
+ throw e;
40
+ }
41
+ return [null];
42
+ }
43
+ }
44
+ }
45
+
46
+ // Utility to tell NodeJS not to worry about catching promise errors async.
47
+ // See: https://stackoverflow.com/questions/40920179/should-i-refrain-from-handling-promise-rejection-asynchronously
48
+ export const caught = ((f: () => void) => {
49
+ return <T>(p: Promise<T>): Promise<T> => (p.catch(f), p);
50
+ /* eslint-disable @typescript-eslint/no-empty-function */
51
+ })(() => {});
package/src/browser.ts ADDED
@@ -0,0 +1,43 @@
1
+ /* istanbul ignore file */
2
+ import type {
3
+ GetFrameContextsParams,
4
+ RunPartialParams,
5
+ FinishRunParams,
6
+ ShadowSelectParams
7
+ } from './types';
8
+ import { FrameContext, AxeResults, PartialResult } from 'axe-core';
9
+ import * as axeCore from 'axe-core';
10
+
11
+ // Expect axe to be set up.
12
+ // Tell Typescript that there should be a global variable called `axe` that follows
13
+ // the shape given by the `axe-core` typings (the `run` and `configure` functions).
14
+ declare global {
15
+ interface Window {
16
+ axe: typeof axeCore;
17
+ }
18
+ }
19
+ export const axeGetFrameContexts = ({
20
+ context
21
+ }: GetFrameContextsParams): FrameContext[] => {
22
+ return window.axe.utils.getFrameContexts(context);
23
+ };
24
+
25
+ export const axeShadowSelect = ({
26
+ frameSelector
27
+ }: ShadowSelectParams): Element | null => {
28
+ return window.axe.utils.shadowSelect(frameSelector);
29
+ };
30
+
31
+ export const axeRunPartial = ({
32
+ context,
33
+ options
34
+ }: RunPartialParams): Promise<PartialResult> => {
35
+ return window.axe.runPartial(context, options);
36
+ };
37
+
38
+ export const axeFinishRun = ({
39
+ partialResults,
40
+ options
41
+ }: FinishRunParams): Promise<AxeResults> => {
42
+ return window.axe.finishRun(partialResults, options);
43
+ };