axe-core 4.6.2 → 4.6.3-canary.3dcdd42

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/axe.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! axe v4.6.2
1
+ /*! axe v4.6.3-canary.3dcdd42
2
2
  * Copyright (c) 2023 Deque Systems, Inc.
3
3
  *
4
4
  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
@@ -22,7 +22,7 @@
22
22
  }, _typeof(obj);
23
23
  }
24
24
  var axe = axe || {};
25
- axe.version = '4.6.2';
25
+ axe.version = '4.6.3-canary.3dcdd42';
26
26
  if (typeof define === 'function' && define.amd) {
27
27
  define('axe-core', [], function() {
28
28
  return axe;
@@ -54,6 +54,7 @@
54
54
  return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
55
55
  }
56
56
  function _defineProperty(obj, key, value) {
57
+ key = _toPropertyKey(key);
57
58
  if (key in obj) {
58
59
  Object.defineProperty(obj, key, {
59
60
  value: value,
@@ -215,36 +216,34 @@
215
216
  throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
216
217
  }
217
218
  function _iterableToArrayLimit(arr, i) {
218
- var _i = arr == null ? null : typeof Symbol !== 'undefined' && arr[Symbol.iterator] || arr['@@iterator'];
219
- if (_i == null) {
220
- return;
221
- }
222
- var _arr = [];
223
- var _n = true;
224
- var _d = false;
225
- var _s, _e;
226
- try {
227
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
228
- _arr.push(_s.value);
229
- if (i && _arr.length === i) {
230
- break;
231
- }
232
- }
233
- } catch (err) {
234
- _d = true;
235
- _e = err;
236
- } finally {
219
+ var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];
220
+ if (null != _i) {
221
+ var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;
237
222
  try {
238
- if (!_n && _i['return'] != null) {
239
- _i['return']();
223
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
224
+ if (Object(_i) !== _i) {
225
+ return;
226
+ }
227
+ _n = !1;
228
+ } else {
229
+ for (;!(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
230
+ }
240
231
  }
232
+ } catch (err) {
233
+ _d = !0, _e = err;
241
234
  } finally {
242
- if (_d) {
243
- throw _e;
235
+ try {
236
+ if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r)) {
237
+ return;
238
+ }
239
+ } finally {
240
+ if (_d) {
241
+ throw _e;
242
+ }
244
243
  }
245
244
  }
245
+ return _arr;
246
246
  }
247
- return _arr;
248
247
  }
249
248
  function _arrayWithHoles(arr) {
250
249
  if (Array.isArray(arr)) {
@@ -264,7 +263,7 @@
264
263
  if ('value' in descriptor) {
265
264
  descriptor.writable = true;
266
265
  }
267
- Object.defineProperty(target, descriptor.key, descriptor);
266
+ Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
268
267
  }
269
268
  }
270
269
  function _createClass(Constructor, protoProps, staticProps) {
@@ -279,6 +278,24 @@
279
278
  });
280
279
  return Constructor;
281
280
  }
281
+ function _toPropertyKey(arg) {
282
+ var key = _toPrimitive(arg, 'string');
283
+ return _typeof(key) === 'symbol' ? key : String(key);
284
+ }
285
+ function _toPrimitive(input, hint) {
286
+ if (_typeof(input) !== 'object' || input === null) {
287
+ return input;
288
+ }
289
+ var prim = input[Symbol.toPrimitive];
290
+ if (prim !== undefined) {
291
+ var res = prim.call(input, hint || 'default');
292
+ if (_typeof(res) !== 'object') {
293
+ return res;
294
+ }
295
+ throw new TypeError('@@toPrimitive must return a primitive value.');
296
+ }
297
+ return (hint === 'string' ? String : Number)(input);
298
+ }
282
299
  function _createForOfIteratorHelper(o, allowArrayLike) {
283
300
  var it = typeof Symbol !== 'undefined' && o[Symbol.iterator] || o['@@iterator'];
284
301
  if (!it) {
@@ -4218,10 +4235,10 @@
4218
4235
  });
4219
4236
  });
4220
4237
  var require_typedarray = __commonJS(function(exports) {
4221
- var undefined2 = void 0;
4222
4238
  var MAX_ARRAY_LENGTH = 1e5;
4223
4239
  var ECMAScript = function() {
4224
- var opts = Object.prototype.toString, ophop = Object.prototype.hasOwnProperty;
4240
+ var opts = Object.prototype.toString;
4241
+ var ophop = Object.prototype.hasOwnProperty;
4225
4242
  return {
4226
4243
  Class: function Class(v) {
4227
4244
  return opts.call(v).replace(/^\[object *|\]$/g, '');
@@ -4250,19 +4267,21 @@
4250
4267
  var min = Math.min;
4251
4268
  var pow = Math.pow;
4252
4269
  var round = Math.round;
4253
- function configureProperties(obj) {
4254
- if (getOwnPropNames && defineProp) {
4255
- var props = getOwnPropNames(obj), i;
4256
- for (i = 0; i < props.length; i += 1) {
4257
- defineProp(obj, props[i], {
4258
- value: obj[props[i]],
4259
- writable: false,
4260
- enumerable: false,
4261
- configurable: false
4262
- });
4270
+ function clamp2(v, minimum, max) {
4271
+ return v < minimum ? minimum : v > max ? max : v;
4272
+ }
4273
+ var getOwnPropNames = Object.getOwnPropertyNames || function(o) {
4274
+ if (o !== Object(o)) {
4275
+ throw new TypeError('Object.getOwnPropertyNames called on non-object');
4276
+ }
4277
+ var props = [], p;
4278
+ for (p in o) {
4279
+ if (ECMAScript.HasOwnProperty(o, p)) {
4280
+ props.push(p);
4263
4281
  }
4264
4282
  }
4265
- }
4283
+ return props;
4284
+ };
4266
4285
  var defineProp;
4267
4286
  if (Object.defineProperty && function() {
4268
4287
  try {
@@ -4290,18 +4309,19 @@
4290
4309
  return o;
4291
4310
  };
4292
4311
  }
4293
- var getOwnPropNames = Object.getOwnPropertyNames || function(o) {
4294
- if (o !== Object(o)) {
4295
- throw new TypeError('Object.getOwnPropertyNames called on non-object');
4296
- }
4297
- var props = [], p;
4298
- for (p in o) {
4299
- if (ECMAScript.HasOwnProperty(o, p)) {
4300
- props.push(p);
4312
+ function configureProperties(obj) {
4313
+ if (getOwnPropNames && defineProp) {
4314
+ var props = getOwnPropNames(obj), i;
4315
+ for (i = 0; i < props.length; i += 1) {
4316
+ defineProp(obj, props[i], {
4317
+ value: obj[props[i]],
4318
+ writable: false,
4319
+ enumerable: false,
4320
+ configurable: false
4321
+ });
4301
4322
  }
4302
4323
  }
4303
- return props;
4304
- };
4324
+ }
4305
4325
  function makeArrayAccessors(obj) {
4306
4326
  if (!defineProp) {
4307
4327
  return;
@@ -4375,13 +4395,15 @@
4375
4395
  return as_unsigned(bytes[0] << 24 | bytes[1] << 16 | bytes[2] << 8 | bytes[3], 32);
4376
4396
  }
4377
4397
  function packIEEE754(v, ebits, fbits) {
4378
- var bias = (1 << ebits - 1) - 1, s, e, f, ln, i, bits, str, bytes;
4398
+ var bias = (1 << ebits - 1) - 1;
4399
+ var s, e, f, i, bits, str, bytes;
4379
4400
  function roundToEven(n) {
4380
- var w = floor(n), f2 = n - w;
4381
- if (f2 < .5) {
4401
+ var w = floor(n);
4402
+ var fl = n - w;
4403
+ if (fl < .5) {
4382
4404
  return w;
4383
4405
  }
4384
- if (f2 > .5) {
4406
+ if (fl > .5) {
4385
4407
  return w + 1;
4386
4408
  }
4387
4409
  return w % 2 ? w + 1 : w;
@@ -4455,14 +4477,13 @@
4455
4477
  e = parseInt(str.substring(1, 1 + ebits), 2);
4456
4478
  f = parseInt(str.substring(1 + ebits), 2);
4457
4479
  if (e === (1 << ebits) - 1) {
4458
- return f !== 0 ? NaN : s * Infinity;
4480
+ return f === 0 ? s * Infinity : NaN;
4459
4481
  } else if (e > 0) {
4460
4482
  return s * pow(2, e - bias) * (1 + f / pow(2, fbits));
4461
4483
  } else if (f !== 0) {
4462
4484
  return s * pow(2, -(bias - 1)) * (f / pow(2, fbits));
4463
- } else {
4464
- return s < 0 ? -0 : 0;
4465
4485
  }
4486
+ return s < 0 ? -0 : 0;
4466
4487
  }
4467
4488
  function unpackF64(b) {
4468
4489
  return unpackIEEE754(b, 11, 52);
@@ -4477,7 +4498,7 @@
4477
4498
  return packIEEE754(v, 8, 23);
4478
4499
  }
4479
4500
  (function() {
4480
- var ArrayBuffer = function ArrayBuffer2(length) {
4501
+ function ArrayBuffer(length) {
4481
4502
  length = ECMAScript.ToInt32(length);
4482
4503
  if (length < 0) {
4483
4504
  throw new RangeError('ArrayBuffer size is not a small enough positive integer');
@@ -4490,9 +4511,9 @@
4490
4511
  this._bytes[i] = 0;
4491
4512
  }
4492
4513
  configureProperties(this);
4493
- };
4514
+ }
4494
4515
  exports.ArrayBuffer = exports.ArrayBuffer || ArrayBuffer;
4495
- var ArrayBufferView = function ArrayBufferView2() {};
4516
+ function ArrayBufferView() {}
4496
4517
  function makeConstructor(bytesPerElement, pack, unpack) {
4497
4518
  var _ctor;
4498
4519
  _ctor = function ctor(buffer, byteOffset, length) {
@@ -4564,10 +4585,10 @@
4564
4585
  }
4565
4586
  index = ECMAScript.ToUint32(index);
4566
4587
  if (index >= this.length) {
4567
- return undefined2;
4588
+ return void 0;
4568
4589
  }
4569
- var bytes = [], i, o;
4570
- for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1,
4590
+ var bytes = [];
4591
+ for (var i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1,
4571
4592
  o += 1) {
4572
4593
  bytes.push(this.buffer._bytes[o]);
4573
4594
  }
@@ -4579,13 +4600,14 @@
4579
4600
  throw new SyntaxError('Not enough arguments');
4580
4601
  }
4581
4602
  index = ECMAScript.ToUint32(index);
4582
- if (index >= this.length) {
4583
- return undefined2;
4584
- }
4585
- var bytes = this._pack(value), i, o;
4586
- for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1,
4587
- o += 1) {
4588
- this.buffer._bytes[o] = bytes[i];
4603
+ if (index < this.length) {
4604
+ var bytes = this._pack(value);
4605
+ var i;
4606
+ var o;
4607
+ for (i = 0, o = this.byteOffset + index * this.BYTES_PER_ELEMENT; i < this.BYTES_PER_ELEMENT; i += 1,
4608
+ o += 1) {
4609
+ this.buffer._bytes[o] = bytes[i];
4610
+ }
4589
4611
  }
4590
4612
  };
4591
4613
  _ctor.prototype.set = function(index, value) {
@@ -4631,9 +4653,6 @@
4631
4653
  }
4632
4654
  };
4633
4655
  _ctor.prototype.subarray = function(start, end) {
4634
- function clamp2(v, min2, max) {
4635
- return v < min2 ? min2 : v > max ? max : v;
4636
- }
4637
4656
  start = ECMAScript.ToInt32(start);
4638
4657
  end = ECMAScript.ToInt32(end);
4639
4658
  if (arguments.length < 1) {
@@ -4685,7 +4704,7 @@
4685
4704
  var u16array = new exports.Uint16Array([ 4660 ]), u8array = new exports.Uint8Array(u16array.buffer);
4686
4705
  return r(u8array, 0) === 18;
4687
4706
  }();
4688
- var DataView = function DataView2(buffer, byteOffset, byteLength) {
4707
+ function DataView(buffer, byteOffset, byteLength) {
4689
4708
  if (arguments.length === 0) {
4690
4709
  buffer = new exports.ArrayBuffer(0);
4691
4710
  } else if (!(buffer instanceof exports.ArrayBuffer || ECMAScript.Class(buffer) === 'ArrayBuffer')) {
@@ -4705,7 +4724,7 @@
4705
4724
  throw new RangeError('byteOffset and length reference an area beyond the end of the buffer');
4706
4725
  }
4707
4726
  configureProperties(this);
4708
- };
4727
+ }
4709
4728
  function makeGetter(arrayType) {
4710
4729
  return function(byteOffset, littleEndian) {
4711
4730
  byteOffset = ECMAScript.ToUint32(byteOffset);
@@ -7037,6 +7056,9 @@
7037
7056
  findUpVirtual: function findUpVirtual() {
7038
7057
  return find_up_virtual_default;
7039
7058
  },
7059
+ focusDisabled: function focusDisabled() {
7060
+ return focus_disabled_default;
7061
+ },
7040
7062
  getComposedParent: function getComposedParent() {
7041
7063
  return get_composed_parent_default;
7042
7064
  },
@@ -7106,6 +7128,9 @@
7106
7128
  isInTextBlock: function isInTextBlock() {
7107
7129
  return is_in_text_block_default;
7108
7130
  },
7131
+ isInert: function isInert() {
7132
+ return _isInert;
7133
+ },
7109
7134
  isModalOpen: function isModalOpen() {
7110
7135
  return is_modal_open_default;
7111
7136
  },
@@ -7553,7 +7578,11 @@
7553
7578
  var node = parentVNode ? treeWalker.nextNode() : treeWalker.currentNode;
7554
7579
  while (node) {
7555
7580
  var _vNode = get_node_from_tree_default(node);
7556
- if (node.parentElement) {
7581
+ if (_vNode && _vNode.parent) {
7582
+ parentVNode = _vNode.parent;
7583
+ } else if (node.assignedSlot) {
7584
+ parentVNode = get_node_from_tree_default(node.assignedSlot);
7585
+ } else if (node.parentElement) {
7557
7586
  parentVNode = get_node_from_tree_default(node.parentElement);
7558
7587
  } else if (node.parentNode && get_node_from_tree_default(node.parentNode)) {
7559
7588
  parentVNode = get_node_from_tree_default(node.parentNode);
@@ -7637,20 +7666,24 @@
7637
7666
  if ([ 'layout', 'paint', 'strict', 'content' ].includes(contain)) {
7638
7667
  return true;
7639
7668
  }
7640
- if (zIndex !== 'auto' && parentVNode) {
7641
- var parentDsiplay = parentVNode.getComputedStylePropertyValue('display');
7642
- if ([ 'flex', 'inline-flex', 'inline flex', 'grid', 'inline-grid', 'inline grid' ].includes(parentDsiplay)) {
7643
- return true;
7644
- }
7669
+ if (zIndex !== 'auto' && isFlexOrGridContainer(parentVNode)) {
7670
+ return true;
7645
7671
  }
7646
7672
  return false;
7647
7673
  }
7674
+ function isFlexOrGridContainer(vNode) {
7675
+ if (!vNode) {
7676
+ return false;
7677
+ }
7678
+ var display = vNode.getComputedStylePropertyValue('display');
7679
+ return [ 'flex', 'inline-flex', 'grid', 'inline-grid' ].includes(display);
7680
+ }
7648
7681
  function getStackingOrder(vNode, parentVNode) {
7649
7682
  var stackingOrder = parentVNode._stackingOrder.slice();
7650
7683
  var zIndex = vNode.getComputedStylePropertyValue('z-index');
7651
7684
  var positioned = vNode.getComputedStylePropertyValue('position') !== 'static';
7652
7685
  var floated = vNode.getComputedStylePropertyValue('float') !== 'none';
7653
- if (positioned && ![ 'auto', '0' ].includes(zIndex)) {
7686
+ if (![ 'auto', '0' ].includes(zIndex) && (positioned || isFlexOrGridContainer(parentVNode))) {
7654
7687
  while (stackingOrder.find(function(value) {
7655
7688
  return value % 1 !== 0;
7656
7689
  })) {
@@ -7815,6 +7848,66 @@
7815
7848
  }
7816
7849
  return hasFixedPosition(vNode.parent);
7817
7850
  });
7851
+ function _isInert(vNode) {
7852
+ var _ref17 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref17.skipAncestors;
7853
+ if (skipAncestors) {
7854
+ return isInertSelf(vNode);
7855
+ }
7856
+ return isInertAncestors(vNode);
7857
+ }
7858
+ var isInertSelf = memoize_default(function isInertSelfMemoized(vNode) {
7859
+ return vNode.hasAttr('inert');
7860
+ });
7861
+ var isInertAncestors = memoize_default(function isInertAncestorsMemoized(vNode) {
7862
+ if (isInertSelf(vNode)) {
7863
+ return true;
7864
+ }
7865
+ if (!vNode.parent) {
7866
+ return false;
7867
+ }
7868
+ return isInertAncestors(vNode.parent);
7869
+ });
7870
+ var allowedDisabledNodeNames = [ 'button', 'command', 'fieldset', 'keygen', 'optgroup', 'option', 'select', 'textarea', 'input' ];
7871
+ function isDisabledAttrAllowed(nodeName2) {
7872
+ return allowedDisabledNodeNames.includes(nodeName2);
7873
+ }
7874
+ function focusDisabled(el) {
7875
+ var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
7876
+ if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled') || _isInert(vNode)) {
7877
+ return true;
7878
+ }
7879
+ var parentNode = vNode.parent;
7880
+ var ancestors = [];
7881
+ var fieldsetDisabled = false;
7882
+ while (parentNode && parentNode.shadowId === vNode.shadowId && !fieldsetDisabled) {
7883
+ ancestors.push(parentNode);
7884
+ if (parentNode.props.nodeName === 'legend') {
7885
+ break;
7886
+ }
7887
+ if (parentNode._inDisabledFieldset !== void 0) {
7888
+ fieldsetDisabled = parentNode._inDisabledFieldset;
7889
+ break;
7890
+ }
7891
+ if (parentNode.props.nodeName === 'fieldset' && parentNode.hasAttr('disabled')) {
7892
+ fieldsetDisabled = true;
7893
+ }
7894
+ parentNode = parentNode.parent;
7895
+ }
7896
+ ancestors.forEach(function(ancestor) {
7897
+ return ancestor._inDisabledFieldset = fieldsetDisabled;
7898
+ });
7899
+ if (fieldsetDisabled) {
7900
+ return true;
7901
+ }
7902
+ if (vNode.props.nodeName !== 'area') {
7903
+ if (!vNode.actualNode) {
7904
+ return false;
7905
+ }
7906
+ return _isHiddenForEveryone(vNode);
7907
+ }
7908
+ return false;
7909
+ }
7910
+ var focus_disabled_default = focusDisabled;
7818
7911
  var angularSkipLinkRegex = /^\/\#/;
7819
7912
  var angularRouterLinkRegex = /^#[!/]/;
7820
7913
  function _isCurrentPageLink(anchor) {
@@ -7994,8 +8087,8 @@
7994
8087
  function getFarthestPoint(rectA, rectB) {
7995
8088
  var dimensionProps = [ [ 'x', 'left', 'right', 'width' ], [ 'y', 'top', 'bottom', 'height' ] ];
7996
8089
  var farthestPoint = {};
7997
- dimensionProps.forEach(function(_ref17) {
7998
- var _ref18 = _slicedToArray(_ref17, 4), axis = _ref18[0], start = _ref18[1], end = _ref18[2], diameter = _ref18[3];
8090
+ dimensionProps.forEach(function(_ref18) {
8091
+ var _ref19 = _slicedToArray(_ref18, 4), axis = _ref19[0], start = _ref19[1], end = _ref19[2], diameter = _ref19[3];
7999
8092
  if (rectB[start] < rectA[start] && rectB[end] > rectA[end]) {
8000
8093
  farthestPoint[axis] = rectA[start] + rectA[diameter] / 2;
8001
8094
  return;
@@ -8011,8 +8104,8 @@
8011
8104
  });
8012
8105
  return farthestPoint;
8013
8106
  }
8014
- function getClosestPoint(_ref19, ownRect, adjacentRect) {
8015
- var x = _ref19.x, y = _ref19.y;
8107
+ function getClosestPoint(_ref20, ownRect, adjacentRect) {
8108
+ var x = _ref20.x, y = _ref20.y;
8016
8109
  if (pointInRect({
8017
8110
  x: x,
8018
8111
  y: y
@@ -8067,12 +8160,12 @@
8067
8160
  }
8068
8161
  return Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));
8069
8162
  }
8070
- function pointInRect(_ref20, rect) {
8071
- var x = _ref20.x, y = _ref20.y;
8163
+ function pointInRect(_ref21, rect) {
8164
+ var x = _ref21.x, y = _ref21.y;
8072
8165
  return y >= rect.top && x <= rect.right && y <= rect.bottom && x >= rect.left;
8073
8166
  }
8074
- function getCornerInAdjacentRect(_ref21, ownRect, adjacentRect) {
8075
- var x = _ref21.x, y = _ref21.y;
8167
+ function getCornerInAdjacentRect(_ref22, ownRect, adjacentRect) {
8168
+ var x = _ref22.x, y = _ref22.y;
8076
8169
  var closestX, closestY;
8077
8170
  if (x === ownRect.left && ownRect.right < adjacentRect.right) {
8078
8171
  closestX = ownRect.right;
@@ -8109,8 +8202,8 @@
8109
8202
  };
8110
8203
  }
8111
8204
  }
8112
- function _getRectCenter(_ref22) {
8113
- var left = _ref22.left, top = _ref22.top, width = _ref22.width, height = _ref22.height;
8205
+ function _getRectCenter(_ref23) {
8206
+ var left = _ref23.left, top = _ref23.top, width = _ref23.width, height = _ref23.height;
8114
8207
  return new window.DOMPoint(left + width / 2, top + height / 2);
8115
8208
  }
8116
8209
  function _hasVisualOverlap(vNodeA, vNodeB) {
@@ -8830,13 +8923,13 @@
8830
8923
  },
8831
8924
  menu: {
8832
8925
  type: 'composite',
8833
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu' ],
8926
+ requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],
8834
8927
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8835
8928
  superclassRole: [ 'select' ]
8836
8929
  },
8837
8930
  menubar: {
8838
8931
  type: 'composite',
8839
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu' ],
8932
+ requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],
8840
8933
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8841
8934
  superclassRole: [ 'menu' ]
8842
8935
  },
@@ -10272,7 +10365,7 @@
10272
10365
  }
10273
10366
  var is_unsupported_role_default = isUnsupportedRole;
10274
10367
  function isValidRole(role) {
10275
- var _ref23 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref23.allowAbstract, _ref23$flagUnsupporte = _ref23.flagUnsupported, flagUnsupported = _ref23$flagUnsupporte === void 0 ? false : _ref23$flagUnsupporte;
10368
+ var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, allowAbstract = _ref24.allowAbstract, _ref24$flagUnsupporte = _ref24.flagUnsupported, flagUnsupported = _ref24$flagUnsupporte === void 0 ? false : _ref24$flagUnsupporte;
10276
10369
  var roleDefinition = standards_default.ariaRoles[role];
10277
10370
  var isRoleUnsupported = is_unsupported_role_default(role);
10278
10371
  if (!roleDefinition || flagUnsupported && isRoleUnsupported) {
@@ -10282,7 +10375,7 @@
10282
10375
  }
10283
10376
  var is_valid_role_default = isValidRole;
10284
10377
  function getExplicitRole(vNode) {
10285
- var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref24.fallback, abstracts = _ref24.abstracts, dpub = _ref24.dpub;
10378
+ var _ref25 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, fallback = _ref25.fallback, abstracts = _ref25.abstracts, dpub = _ref25.dpub;
10286
10379
  vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);
10287
10380
  if (vNode.props.nodeType !== 1) {
10288
10381
  return null;
@@ -10420,47 +10513,6 @@
10420
10513
  return str.replace(/\r\n/g, '\n').replace(/\u00A0/g, ' ').replace(/[\s]{2,}/g, ' ').trim();
10421
10514
  }
10422
10515
  var sanitize_default = sanitize;
10423
- var allowedDisabledNodeNames = [ 'button', 'command', 'fieldset', 'keygen', 'optgroup', 'option', 'select', 'textarea', 'input' ];
10424
- function isDisabledAttrAllowed(nodeName2) {
10425
- return allowedDisabledNodeNames.includes(nodeName2);
10426
- }
10427
- function focusDisabled(el) {
10428
- var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
10429
- if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled')) {
10430
- return true;
10431
- }
10432
- var parentNode = vNode.parent;
10433
- var ancestors = [];
10434
- var fieldsetDisabled = false;
10435
- while (parentNode && parentNode.shadowId === vNode.shadowId && !fieldsetDisabled) {
10436
- ancestors.push(parentNode);
10437
- if (parentNode.props.nodeName === 'legend') {
10438
- break;
10439
- }
10440
- if (parentNode._inDisabledFieldset !== void 0) {
10441
- fieldsetDisabled = parentNode._inDisabledFieldset;
10442
- break;
10443
- }
10444
- if (parentNode.props.nodeName === 'fieldset' && parentNode.hasAttr('disabled')) {
10445
- fieldsetDisabled = true;
10446
- }
10447
- parentNode = parentNode.parent;
10448
- }
10449
- ancestors.forEach(function(ancestor) {
10450
- return ancestor._inDisabledFieldset = fieldsetDisabled;
10451
- });
10452
- if (fieldsetDisabled) {
10453
- return true;
10454
- }
10455
- if (vNode.props.nodeName !== 'area') {
10456
- if (!vNode.actualNode) {
10457
- return false;
10458
- }
10459
- return _isHiddenForEveryone(vNode);
10460
- }
10461
- return false;
10462
- }
10463
- var focus_disabled_default = focusDisabled;
10464
10516
  function isNativelyFocusable(el) {
10465
10517
  var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
10466
10518
  if (!vNode || focus_disabled_default(vNode)) {
@@ -10761,7 +10813,7 @@
10761
10813
  matches_default2.semanticRole = semantic_role_default;
10762
10814
  var matches_default3 = matches_default2;
10763
10815
  function getElementSpec(vNode) {
10764
- var _ref25 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref25$noMatchAccessi = _ref25.noMatchAccessibleName, noMatchAccessibleName = _ref25$noMatchAccessi === void 0 ? false : _ref25$noMatchAccessi;
10816
+ var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref26$noMatchAccessi = _ref26.noMatchAccessibleName, noMatchAccessibleName = _ref26$noMatchAccessi === void 0 ? false : _ref26$noMatchAccessi;
10765
10817
  var standard = standards_default.htmlElms[vNode.props.nodeName];
10766
10818
  if (!standard) {
10767
10819
  return {};
@@ -10798,7 +10850,7 @@
10798
10850
  }
10799
10851
  var get_element_spec_default = getElementSpec;
10800
10852
  function implicitRole2(node) {
10801
- var _ref26 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref26.chromium;
10853
+ var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, chromium = _ref27.chromium;
10802
10854
  var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
10803
10855
  node = vNode.actualNode;
10804
10856
  if (!vNode) {
@@ -10851,8 +10903,8 @@
10851
10903
  }
10852
10904
  return getInheritedRole(vNode.parent, explicitRoleOptions);
10853
10905
  }
10854
- function resolveImplicitRole(vNode, _ref27) {
10855
- var chromium = _ref27.chromium, explicitRoleOptions = _objectWithoutProperties(_ref27, _excluded4);
10906
+ function resolveImplicitRole(vNode, _ref28) {
10907
+ var chromium = _ref28.chromium, explicitRoleOptions = _objectWithoutProperties(_ref28, _excluded4);
10856
10908
  var implicitRole3 = implicit_role_default(vNode, {
10857
10909
  chromium: chromium
10858
10910
  });
@@ -10872,8 +10924,8 @@
10872
10924
  return hasGlobalAria || _isFocusable(vNode);
10873
10925
  }
10874
10926
  function resolveRole(node) {
10875
- var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10876
- var noImplicit = _ref28.noImplicit, roleOptions = _objectWithoutProperties(_ref28, _excluded5);
10927
+ var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10928
+ var noImplicit = _ref29.noImplicit, roleOptions = _objectWithoutProperties(_ref29, _excluded5);
10877
10929
  var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
10878
10930
  if (vNode.props.nodeType !== 1) {
10879
10931
  return null;
@@ -10891,8 +10943,8 @@
10891
10943
  return explicitRole2;
10892
10944
  }
10893
10945
  function getRole(node) {
10894
- var _ref29 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10895
- var noPresentational = _ref29.noPresentational, options = _objectWithoutProperties(_ref29, _excluded6);
10946
+ var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10947
+ var noPresentational = _ref30.noPresentational, options = _objectWithoutProperties(_ref30, _excluded6);
10896
10948
  var role = resolveRole(node, options);
10897
10949
  if (noPresentational && [ 'presentation', 'none' ].includes(role)) {
10898
10950
  return null;
@@ -10913,7 +10965,7 @@
10913
10965
  }
10914
10966
  var title_text_default = titleText;
10915
10967
  function namedFromContents(vNode) {
10916
- var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref30.strict;
10968
+ var _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, strict = _ref31.strict;
10917
10969
  vNode = vNode instanceof abstract_virtual_node_default ? vNode : get_node_from_tree_default(vNode);
10918
10970
  if (vNode.props.nodeType !== 1) {
10919
10971
  return false;
@@ -11038,12 +11090,12 @@
11038
11090
  button: ''
11039
11091
  };
11040
11092
  var nativeTextMethods = {
11041
- valueText: function valueText(_ref31) {
11042
- var actualNode = _ref31.actualNode;
11093
+ valueText: function valueText(_ref32) {
11094
+ var actualNode = _ref32.actualNode;
11043
11095
  return actualNode.value || '';
11044
11096
  },
11045
- buttonDefaultText: function buttonDefaultText(_ref32) {
11046
- var actualNode = _ref32.actualNode;
11097
+ buttonDefaultText: function buttonDefaultText(_ref33) {
11098
+ var actualNode = _ref33.actualNode;
11047
11099
  return defaultButtonValues[actualNode.type] || '';
11048
11100
  },
11049
11101
  tableCaptionText: descendantText.bind(null, 'caption'),
@@ -11063,8 +11115,8 @@
11063
11115
  function attrText(attr, vNode) {
11064
11116
  return vNode.attr(attr) || '';
11065
11117
  }
11066
- function descendantText(nodeName2, _ref33, context) {
11067
- var actualNode = _ref33.actualNode;
11118
+ function descendantText(nodeName2, _ref34, context) {
11119
+ var actualNode = _ref34.actualNode;
11068
11120
  nodeName2 = nodeName2.toLowerCase();
11069
11121
  var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');
11070
11122
  var candidate = actualNode.querySelector(nodeNames2);
@@ -11108,7 +11160,9 @@
11108
11160
  return isVisibleToScreenReadersVirtual(vNode);
11109
11161
  }
11110
11162
  var isVisibleToScreenReadersVirtual = memoize_default(function isVisibleToScreenReadersMemoized(vNode, isAncestor) {
11111
- if (ariaHidden(vNode)) {
11163
+ if (ariaHidden(vNode) || _isInert(vNode, {
11164
+ skipAncestors: true
11165
+ })) {
11112
11166
  return false;
11113
11167
  }
11114
11168
  if (vNode.actualNode && vNode.props.nodeName === 'area') {
@@ -11493,7 +11547,7 @@
11493
11547
  locations: [ 'billing', 'shipping' ]
11494
11548
  };
11495
11549
  function isValidAutocomplete(autocompleteValue) {
11496
- var _ref34 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref34$looseTyped = _ref34.looseTyped, looseTyped = _ref34$looseTyped === void 0 ? false : _ref34$looseTyped, _ref34$stateTerms = _ref34.stateTerms, stateTerms = _ref34$stateTerms === void 0 ? [] : _ref34$stateTerms, _ref34$locations = _ref34.locations, locations = _ref34$locations === void 0 ? [] : _ref34$locations, _ref34$qualifiers = _ref34.qualifiers, qualifiers = _ref34$qualifiers === void 0 ? [] : _ref34$qualifiers, _ref34$standaloneTerm = _ref34.standaloneTerms, standaloneTerms = _ref34$standaloneTerm === void 0 ? [] : _ref34$standaloneTerm, _ref34$qualifiedTerms = _ref34.qualifiedTerms, qualifiedTerms = _ref34$qualifiedTerms === void 0 ? [] : _ref34$qualifiedTerms;
11550
+ var _ref35 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref35$looseTyped = _ref35.looseTyped, looseTyped = _ref35$looseTyped === void 0 ? false : _ref35$looseTyped, _ref35$stateTerms = _ref35.stateTerms, stateTerms = _ref35$stateTerms === void 0 ? [] : _ref35$stateTerms, _ref35$locations = _ref35.locations, locations = _ref35$locations === void 0 ? [] : _ref35$locations, _ref35$qualifiers = _ref35.qualifiers, qualifiers = _ref35$qualifiers === void 0 ? [] : _ref35$qualifiers, _ref35$standaloneTerm = _ref35.standaloneTerms, standaloneTerms = _ref35$standaloneTerm === void 0 ? [] : _ref35$standaloneTerm, _ref35$qualifiedTerms = _ref35.qualifiedTerms, qualifiedTerms = _ref35$qualifiedTerms === void 0 ? [] : _ref35$qualifiedTerms;
11497
11551
  autocompleteValue = autocompleteValue.toLowerCase().trim();
11498
11552
  stateTerms = stateTerms.concat(_autocomplete.stateTerms);
11499
11553
  if (stateTerms.includes(autocompleteValue) || autocompleteValue === '') {
@@ -11504,6 +11558,12 @@
11504
11558
  standaloneTerms = standaloneTerms.concat(_autocomplete.standaloneTerms);
11505
11559
  qualifiedTerms = qualifiedTerms.concat(_autocomplete.qualifiedTerms);
11506
11560
  var autocompleteTerms = autocompleteValue.split(/\s+/g);
11561
+ if (autocompleteTerms[autocompleteTerms.length - 1] === 'webauthn') {
11562
+ autocompleteTerms.pop();
11563
+ if (autocompleteTerms.length === 0) {
11564
+ return false;
11565
+ }
11566
+ }
11507
11567
  if (!looseTyped) {
11508
11568
  if (autocompleteTerms[0].length > 8 && autocompleteTerms[0].substr(0, 8) === 'section-') {
11509
11569
  autocompleteTerms.shift();
@@ -11752,8 +11812,8 @@
11752
11812
  if (hiddenTextElms.includes(elm.props.nodeName)) {
11753
11813
  return false;
11754
11814
  }
11755
- return elm.children.some(function(_ref35) {
11756
- var props = _ref35.props;
11815
+ return elm.children.some(function(_ref36) {
11816
+ var props = _ref36.props;
11757
11817
  return props.nodeType === 3 && props.nodeValue.trim();
11758
11818
  });
11759
11819
  }
@@ -12065,8 +12125,8 @@
12065
12125
  }
12066
12126
  return parseFloat(value);
12067
12127
  }
12068
- function hslToRgb(_ref36) {
12069
- var _ref37 = _slicedToArray(_ref36, 4), hue = _ref37[0], saturation = _ref37[1], lightness = _ref37[2], alpha = _ref37[3];
12128
+ function hslToRgb(_ref37) {
12129
+ var _ref38 = _slicedToArray(_ref37, 4), hue = _ref38[0], saturation = _ref38[1], lightness = _ref38[2], alpha = _ref38[3];
12070
12130
  saturation /= 255;
12071
12131
  lightness /= 255;
12072
12132
  var high = (1 - Math.abs(2 * lightness - 1)) * saturation;
@@ -12115,7 +12175,7 @@
12115
12175
  var colorFnRegex = /^((?:rgb|hsl)a?)\s*\(([^\)]*)\)/i;
12116
12176
  this.parseString = function parseString(colorString) {
12117
12177
  if (standards_default.cssColors[colorString] || colorString === 'transparent') {
12118
- var _ref38 = standards_default.cssColors[colorString] || [ 0, 0, 0 ], _ref39 = _slicedToArray(_ref38, 3), red2 = _ref39[0], green2 = _ref39[1], blue2 = _ref39[2];
12178
+ var _ref39 = standards_default.cssColors[colorString] || [ 0, 0, 0 ], _ref40 = _slicedToArray(_ref39, 3), red2 = _ref40[0], green2 = _ref40[1], blue2 = _ref40[2];
12119
12179
  this.red = red2;
12120
12180
  this.green = green2;
12121
12181
  this.blue = blue2;
@@ -12165,7 +12225,7 @@
12165
12225
  }
12166
12226
  };
12167
12227
  this.parseColorFnString = function parseColorFnString(colorString) {
12168
- var _ref40 = colorString.match(colorFnRegex) || [], _ref41 = _slicedToArray(_ref40, 3), colorFunc = _ref41[1], colorValStr = _ref41[2];
12228
+ var _ref41 = colorString.match(colorFnRegex) || [], _ref42 = _slicedToArray(_ref41, 3), colorFunc = _ref42[1], colorValStr = _ref42[2];
12169
12229
  if (!colorFunc || !colorValStr) {
12170
12230
  return;
12171
12231
  }
@@ -12275,8 +12335,8 @@
12275
12335
  if (!refs || !refs.length) {
12276
12336
  return false;
12277
12337
  }
12278
- return refs.some(function(_ref42) {
12279
- var actualNode = _ref42.actualNode;
12338
+ return refs.some(function(_ref43) {
12339
+ var actualNode = _ref43.actualNode;
12280
12340
  return isVisible(actualNode, screenReader, recursed);
12281
12341
  });
12282
12342
  }
@@ -12288,7 +12348,7 @@
12288
12348
  var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
12289
12349
  el = vNode ? vNode.actualNode : el;
12290
12350
  var cacheName = '_isVisible' + (screenReader ? 'ScreenReader' : '');
12291
- var _ref43 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref43.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref43.DOCUMENT_FRAGMENT_NODE;
12351
+ var _ref44 = (_window$Node2 = window.Node) !== null && _window$Node2 !== void 0 ? _window$Node2 : {}, DOCUMENT_NODE = _ref44.DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE = _ref44.DOCUMENT_FRAGMENT_NODE;
12292
12352
  var nodeType = vNode ? vNode.props.nodeType : el.nodeType;
12293
12353
  var nodeName2 = vNode ? vNode.props.nodeName : el.nodeName.toLowerCase();
12294
12354
  if (vNode && typeof vNode[cacheName] !== 'undefined') {
@@ -13099,7 +13159,7 @@
13099
13159
  return {};
13100
13160
  }
13101
13161
  var navigator = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;
13102
- var _ref44 = getOrientation(win) || {}, angle = _ref44.angle, type = _ref44.type;
13162
+ var _ref45 = getOrientation(win) || {}, angle = _ref45.angle, type = _ref45.type;
13103
13163
  return {
13104
13164
  userAgent: navigator.userAgent,
13105
13165
  windowWidth: innerWidth,
@@ -13108,12 +13168,12 @@
13108
13168
  orientationType: type
13109
13169
  };
13110
13170
  }
13111
- function getOrientation(_ref45) {
13112
- var screen = _ref45.screen;
13171
+ function getOrientation(_ref46) {
13172
+ var screen = _ref46.screen;
13113
13173
  return screen.orientation || screen.msOrientation || screen.mozOrientation;
13114
13174
  }
13115
- function createFrameContext(frame, _ref46) {
13116
- var focusable = _ref46.focusable, page = _ref46.page;
13175
+ function createFrameContext(frame, _ref47) {
13176
+ var focusable = _ref47.focusable, page = _ref47.page;
13117
13177
  return {
13118
13178
  node: frame,
13119
13179
  include: [],
@@ -13352,8 +13412,8 @@
13352
13412
  }
13353
13413
  context.frames.push(createFrameContext(frame, context));
13354
13414
  }
13355
- function isPageContext(_ref47) {
13356
- var include = _ref47.include;
13415
+ function isPageContext(_ref48) {
13416
+ var include = _ref48.include;
13357
13417
  return include.length === 1 && include[0].actualNode === document.documentElement;
13358
13418
  }
13359
13419
  function validateContext(context) {
@@ -13362,8 +13422,8 @@
13362
13422
  throw new Error('No elements found for include in ' + env + ' Context');
13363
13423
  }
13364
13424
  }
13365
- function getRootNode2(_ref48) {
13366
- var include = _ref48.include, exclude = _ref48.exclude;
13425
+ function getRootNode2(_ref49) {
13426
+ var include = _ref49.include, exclude = _ref49.exclude;
13367
13427
  var selectors = Array.from(include).concat(Array.from(exclude));
13368
13428
  for (var _i13 = 0; _i13 < selectors.length; _i13++) {
13369
13429
  var item = selectors[_i13];
@@ -13382,8 +13442,8 @@
13382
13442
  return [];
13383
13443
  }
13384
13444
  var _Context = new Context(context), frames = _Context.frames;
13385
- return frames.map(function(_ref49) {
13386
- var node = _ref49.node, frameContext = _objectWithoutProperties(_ref49, _excluded7);
13445
+ return frames.map(function(_ref50) {
13446
+ var node = _ref50.node, frameContext = _objectWithoutProperties(_ref50, _excluded7);
13387
13447
  frameContext.initiator = false;
13388
13448
  var frameSelector = _getAncestry(node);
13389
13449
  return {
@@ -13532,8 +13592,8 @@
13532
13592
  return !!standards_default.htmlElms[nodeName2];
13533
13593
  }
13534
13594
  var is_html_element_default = isHtmlElement;
13535
- function _isNodeInContext(node, _ref50) {
13536
- var _ref50$include = _ref50.include, include = _ref50$include === void 0 ? [] : _ref50$include, _ref50$exclude = _ref50.exclude, exclude = _ref50$exclude === void 0 ? [] : _ref50$exclude;
13595
+ function _isNodeInContext(node, _ref51) {
13596
+ var _ref51$include = _ref51.include, include = _ref51$include === void 0 ? [] : _ref51$include, _ref51$exclude = _ref51.exclude, exclude = _ref51$exclude === void 0 ? [] : _ref51$exclude;
13537
13597
  var filterInclude = include.filter(function(candidate) {
13538
13598
  return _contains(candidate, node);
13539
13599
  });
@@ -14086,8 +14146,8 @@
14086
14146
  return matchExpressions(domTree, expressions, filter);
14087
14147
  }
14088
14148
  var query_selector_all_filter_default = querySelectorAllFilter;
14089
- function preloadCssom(_ref51) {
14090
- var _ref51$treeRoot = _ref51.treeRoot, treeRoot = _ref51$treeRoot === void 0 ? axe._tree[0] : _ref51$treeRoot;
14149
+ function preloadCssom(_ref52) {
14150
+ var _ref52$treeRoot = _ref52.treeRoot, treeRoot = _ref52$treeRoot === void 0 ? axe._tree[0] : _ref52$treeRoot;
14091
14151
  var rootNodes = getAllRootNodesInTree(treeRoot);
14092
14152
  if (!rootNodes.length) {
14093
14153
  return Promise.resolve();
@@ -14117,8 +14177,8 @@
14117
14177
  }
14118
14178
  function getCssomForAllRootNodes(rootNodes, convertDataToStylesheet) {
14119
14179
  var promises = [];
14120
- rootNodes.forEach(function(_ref52, index) {
14121
- var rootNode = _ref52.rootNode, shadowId = _ref52.shadowId;
14180
+ rootNodes.forEach(function(_ref53, index) {
14181
+ var rootNode = _ref53.rootNode, shadowId = _ref53.shadowId;
14122
14182
  var sheets = getStylesheetsOfRootNode(rootNode, shadowId, convertDataToStylesheet);
14123
14183
  if (!sheets) {
14124
14184
  return Promise.all(promises);
@@ -14202,10 +14262,10 @@
14202
14262
  return true;
14203
14263
  });
14204
14264
  }
14205
- function preloadMedia(_ref53) {
14206
- var _ref53$treeRoot = _ref53.treeRoot, treeRoot = _ref53$treeRoot === void 0 ? axe._tree[0] : _ref53$treeRoot;
14207
- var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref54) {
14208
- var actualNode = _ref54.actualNode;
14265
+ function preloadMedia(_ref54) {
14266
+ var _ref54$treeRoot = _ref54.treeRoot, treeRoot = _ref54$treeRoot === void 0 ? axe._tree[0] : _ref54$treeRoot;
14267
+ var mediaVirtualNodes = query_selector_all_filter_default(treeRoot, 'video, audio', function(_ref55) {
14268
+ var actualNode = _ref55.actualNode;
14209
14269
  if (actualNode.hasAttribute('src')) {
14210
14270
  return !!actualNode.getAttribute('src');
14211
14271
  }
@@ -14217,8 +14277,8 @@
14217
14277
  }
14218
14278
  return true;
14219
14279
  });
14220
- return Promise.all(mediaVirtualNodes.map(function(_ref55) {
14221
- var actualNode = _ref55.actualNode;
14280
+ return Promise.all(mediaVirtualNodes.map(function(_ref56) {
14281
+ var actualNode = _ref56.actualNode;
14222
14282
  return isMediaElementReady(actualNode);
14223
14283
  }));
14224
14284
  }
@@ -14523,8 +14583,8 @@
14523
14583
  }
14524
14584
  }
14525
14585
  function setScrollState(scrollState) {
14526
- scrollState.forEach(function(_ref57) {
14527
- var elm = _ref57.elm, top = _ref57.top, left = _ref57.left;
14586
+ scrollState.forEach(function(_ref58) {
14587
+ var elm = _ref58.elm, top = _ref58.top, left = _ref58.left;
14528
14588
  return setScroll(elm, top, left);
14529
14589
  });
14530
14590
  }
@@ -14552,8 +14612,8 @@
14552
14612
  }
14553
14613
  return selectAllRecursive(selectorArr, doc);
14554
14614
  }
14555
- function selectAllRecursive(_ref58, doc) {
14556
- var _ref59 = _toArray(_ref58), selectorStr = _ref59[0], restSelector = _ref59.slice(1);
14615
+ function selectAllRecursive(_ref59, doc) {
14616
+ var _ref60 = _toArray(_ref59), selectorStr = _ref60[0], restSelector = _ref60.slice(1);
14557
14617
  var elms = doc.querySelectorAll(selectorStr);
14558
14618
  if (restSelector.length === 0) {
14559
14619
  return Array.from(elms);
@@ -14657,9 +14717,9 @@
14657
14717
  nodeTypeToName[nodeNamesToTypes[nodeName2]] = nodeName2;
14658
14718
  });
14659
14719
  function normaliseProps(serialNode) {
14660
- var _serialNode$nodeName, _ref60, _serialNode$nodeType;
14720
+ var _serialNode$nodeName, _ref61, _serialNode$nodeType;
14661
14721
  var nodeName2 = (_serialNode$nodeName = serialNode.nodeName) !== null && _serialNode$nodeName !== void 0 ? _serialNode$nodeName : nodeTypeToName[serialNode.nodeType];
14662
- var nodeType = (_ref60 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref60 !== void 0 ? _ref60 : 1;
14722
+ var nodeType = (_ref61 = (_serialNode$nodeType = serialNode.nodeType) !== null && _serialNode$nodeType !== void 0 ? _serialNode$nodeType : nodeNamesToTypes[serialNode.nodeName]) !== null && _ref61 !== void 0 ? _ref61 : 1;
14663
14723
  assert_default(typeof nodeType === 'number', 'nodeType has to be a number, got \''.concat(nodeType, '\''));
14664
14724
  assert_default(typeof nodeName2 === 'string', 'nodeName has to be a string, got \''.concat(nodeName2, '\''));
14665
14725
  nodeName2 = nodeName2.toLowerCase();
@@ -14680,8 +14740,8 @@
14680
14740
  delete props.attributes;
14681
14741
  return Object.freeze(props);
14682
14742
  }
14683
- function normaliseAttrs(_ref61) {
14684
- var _ref61$attributes = _ref61.attributes, attributes2 = _ref61$attributes === void 0 ? {} : _ref61$attributes;
14743
+ function normaliseAttrs(_ref62) {
14744
+ var _ref62$attributes = _ref62.attributes, attributes2 = _ref62$attributes === void 0 ? {} : _ref62$attributes;
14685
14745
  var attrMap = {
14686
14746
  htmlFor: 'for',
14687
14747
  className: 'class'
@@ -14950,6 +15010,9 @@
14950
15010
  isAriaRoleAllowedOnElement: function isAriaRoleAllowedOnElement() {
14951
15011
  return is_aria_role_allowed_on_element_default;
14952
15012
  },
15013
+ isComboboxPopup: function isComboboxPopup() {
15014
+ return _isComboboxPopup;
15015
+ },
14953
15016
  isUnsupportedRole: function isUnsupportedRole() {
14954
15017
  return is_unsupported_role_default;
14955
15018
  },
@@ -16869,8 +16932,8 @@
16869
16932
  nodeName: [ 'abbr', 'address', 'canvas', 'div', 'p', 'pre', 'blockquote', 'ins', 'del', 'output', 'span', 'table', 'tbody', 'thead', 'tfoot', 'td', 'em', 'strong', 'small', 's', 'cite', 'q', 'dfn', 'abbr', 'time', 'code', 'var', 'samp', 'kbd', 'sub', 'sup', 'i', 'b', 'u', 'mark', 'ruby', 'rt', 'rp', 'bdi', 'bdo', 'br', 'wbr', 'th', 'tr' ]
16870
16933
  } ];
16871
16934
  lookupTable.evaluateRoleForElement = {
16872
- A: function A(_ref62) {
16873
- var node = _ref62.node, out = _ref62.out;
16935
+ A: function A(_ref63) {
16936
+ var node = _ref63.node, out = _ref63.out;
16874
16937
  if (node.namespaceURI === 'http://www.w3.org/2000/svg') {
16875
16938
  return true;
16876
16939
  }
@@ -16879,19 +16942,19 @@
16879
16942
  }
16880
16943
  return true;
16881
16944
  },
16882
- AREA: function AREA(_ref63) {
16883
- var node = _ref63.node;
16945
+ AREA: function AREA(_ref64) {
16946
+ var node = _ref64.node;
16884
16947
  return !node.href;
16885
16948
  },
16886
- BUTTON: function BUTTON(_ref64) {
16887
- var node = _ref64.node, role = _ref64.role, out = _ref64.out;
16949
+ BUTTON: function BUTTON(_ref65) {
16950
+ var node = _ref65.node, role = _ref65.role, out = _ref65.out;
16888
16951
  if (node.getAttribute('type') === 'menu') {
16889
16952
  return role === 'menuitem';
16890
16953
  }
16891
16954
  return out;
16892
16955
  },
16893
- IMG: function IMG(_ref65) {
16894
- var node = _ref65.node, role = _ref65.role, out = _ref65.out;
16956
+ IMG: function IMG(_ref66) {
16957
+ var node = _ref66.node, role = _ref66.role, out = _ref66.out;
16895
16958
  switch (node.alt) {
16896
16959
  case null:
16897
16960
  return out;
@@ -16903,8 +16966,8 @@
16903
16966
  return role !== 'presentation' && role !== 'none';
16904
16967
  }
16905
16968
  },
16906
- INPUT: function INPUT(_ref66) {
16907
- var node = _ref66.node, role = _ref66.role, out = _ref66.out;
16969
+ INPUT: function INPUT(_ref67) {
16970
+ var node = _ref67.node, role = _ref67.role, out = _ref67.out;
16908
16971
  switch (node.type) {
16909
16972
  case 'button':
16910
16973
  case 'image':
@@ -16934,32 +16997,32 @@
16934
16997
  return false;
16935
16998
  }
16936
16999
  },
16937
- LI: function LI(_ref67) {
16938
- var node = _ref67.node, out = _ref67.out;
17000
+ LI: function LI(_ref68) {
17001
+ var node = _ref68.node, out = _ref68.out;
16939
17002
  var hasImplicitListitemRole = axe.utils.matchesSelector(node, 'ol li, ul li');
16940
17003
  if (hasImplicitListitemRole) {
16941
17004
  return out;
16942
17005
  }
16943
17006
  return true;
16944
17007
  },
16945
- MENU: function MENU(_ref68) {
16946
- var node = _ref68.node;
17008
+ MENU: function MENU(_ref69) {
17009
+ var node = _ref69.node;
16947
17010
  if (node.getAttribute('type') === 'context') {
16948
17011
  return false;
16949
17012
  }
16950
17013
  return true;
16951
17014
  },
16952
- OPTION: function OPTION(_ref69) {
16953
- var node = _ref69.node;
17015
+ OPTION: function OPTION(_ref70) {
17016
+ var node = _ref70.node;
16954
17017
  var withinOptionList = axe.utils.matchesSelector(node, 'select > option, datalist > option, optgroup > option');
16955
17018
  return !withinOptionList;
16956
17019
  },
16957
- SELECT: function SELECT(_ref70) {
16958
- var node = _ref70.node, role = _ref70.role;
17020
+ SELECT: function SELECT(_ref71) {
17021
+ var node = _ref71.node, role = _ref71.role;
16959
17022
  return !node.multiple && node.size <= 1 && role === 'menu';
16960
17023
  },
16961
- SVG: function SVG(_ref71) {
16962
- var node = _ref71.node, out = _ref71.out;
17024
+ SVG: function SVG(_ref72) {
17025
+ var node = _ref72.node, out = _ref72.out;
16963
17026
  if (node.parentNode && node.parentNode.namespaceURI === 'http://www.w3.org/2000/svg') {
16964
17027
  return true;
16965
17028
  }
@@ -16983,6 +17046,42 @@
16983
17046
  return !!get_accessible_refs_default(node).length;
16984
17047
  }
16985
17048
  var is_accessible_ref_default = isAccessibleRef;
17049
+ function _isComboboxPopup(virtualNode) {
17050
+ var _popupRoles;
17051
+ var _ref73 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, popupRoles = _ref73.popupRoles;
17052
+ var role = get_role_default(virtualNode);
17053
+ (_popupRoles = popupRoles) !== null && _popupRoles !== void 0 ? _popupRoles : popupRoles = aria_attrs_default['aria-haspopup'].values;
17054
+ if (!popupRoles.includes(role)) {
17055
+ return false;
17056
+ }
17057
+ var vParent = nearestParentWithRole(virtualNode);
17058
+ if (isCombobox(vParent)) {
17059
+ return true;
17060
+ }
17061
+ var id = virtualNode.props.id;
17062
+ if (!id) {
17063
+ return false;
17064
+ }
17065
+ if (!virtualNode.actualNode) {
17066
+ throw new Error('Unable to determine combobox popup without an actualNode');
17067
+ }
17068
+ var root = get_root_node_default(virtualNode.actualNode);
17069
+ var ownedCombobox = root.querySelectorAll('[aria-owns~="'.concat(id, '"][role~="combobox"]:not(select),\n [aria-controls~="').concat(id, '"][role~="combobox"]:not(select)'));
17070
+ return Array.from(ownedCombobox).some(isCombobox);
17071
+ }
17072
+ var isCombobox = function isCombobox(node) {
17073
+ return node && get_role_default(node) === 'combobox';
17074
+ };
17075
+ function nearestParentWithRole(vNode) {
17076
+ while (vNode = vNode.parent) {
17077
+ if (get_role_default(vNode, {
17078
+ noPresentational: true
17079
+ }) !== null) {
17080
+ return vNode;
17081
+ }
17082
+ }
17083
+ return null;
17084
+ }
16986
17085
  function label2(node) {
16987
17086
  node = get_node_from_tree_default(node);
16988
17087
  return label_virtual_default(node);
@@ -17368,13 +17467,13 @@
17368
17467
  return true;
17369
17468
  }
17370
17469
  var ownedRoles = getOwnedRoles(virtualNode, required);
17371
- var unallowed = ownedRoles.filter(function(_ref72) {
17372
- var role2 = _ref72.role;
17470
+ var unallowed = ownedRoles.filter(function(_ref74) {
17471
+ var role2 = _ref74.role;
17373
17472
  return !required.includes(role2);
17374
17473
  });
17375
17474
  if (unallowed.length) {
17376
- this.relatedNodes(unallowed.map(function(_ref73) {
17377
- var ownedElement = _ref73.ownedElement;
17475
+ this.relatedNodes(unallowed.map(function(_ref75) {
17476
+ var ownedElement = _ref75.ownedElement;
17378
17477
  return ownedElement;
17379
17478
  }));
17380
17479
  this.data({
@@ -17976,7 +18075,7 @@
17976
18075
  return true;
17977
18076
  }
17978
18077
  function getTextShadowColors(node) {
17979
- var _ref74 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref74.minRatio, maxRatio = _ref74.maxRatio;
18078
+ var _ref76 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref76.minRatio, maxRatio = _ref76.maxRatio;
17980
18079
  var style = window.getComputedStyle(node);
17981
18080
  var textShadow = style.getPropertyValue('text-shadow');
17982
18081
  if (textShadow === 'none') {
@@ -17987,8 +18086,8 @@
17987
18086
  assert_default(isNaN(fontSize) === false, 'Unable to determine font-size value '.concat(fontSizeStr));
17988
18087
  var shadowColors = [];
17989
18088
  var shadows = parseTextShadows(textShadow);
17990
- shadows.forEach(function(_ref75) {
17991
- var colorStr = _ref75.colorStr, pixels = _ref75.pixels;
18089
+ shadows.forEach(function(_ref77) {
18090
+ var colorStr = _ref77.colorStr, pixels = _ref77.pixels;
17992
18091
  colorStr = colorStr || style.getPropertyValue('color');
17993
18092
  var _pixels = _slicedToArray(pixels, 3), offsetY = _pixels[0], offsetX = _pixels[1], _pixels$ = _pixels[2], blurRadius = _pixels$ === void 0 ? 0 : _pixels$;
17994
18093
  if ((!minRatio || blurRadius >= fontSize * minRatio) && (!maxRatio || blurRadius < fontSize * maxRatio)) {
@@ -18038,8 +18137,8 @@
18038
18137
  }
18039
18138
  return shadows;
18040
18139
  }
18041
- function textShadowColor(_ref76) {
18042
- var colorStr = _ref76.colorStr, offsetX = _ref76.offsetX, offsetY = _ref76.offsetY, blurRadius = _ref76.blurRadius, fontSize = _ref76.fontSize;
18140
+ function textShadowColor(_ref78) {
18141
+ var colorStr = _ref78.colorStr, offsetX = _ref78.offsetX, offsetY = _ref78.offsetY, blurRadius = _ref78.blurRadius, fontSize = _ref78.fontSize;
18043
18142
  if (offsetX > blurRadius || offsetY > blurRadius) {
18044
18143
  return new color_default(0, 0, 0, 0);
18045
18144
  }
@@ -18216,8 +18315,8 @@
18216
18315
  function getTextColor(nodeStyle) {
18217
18316
  return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));
18218
18317
  }
18219
- function getStrokeColor(nodeStyle, _ref77) {
18220
- var _ref77$textStrokeEmMi = _ref77.textStrokeEmMin, textStrokeEmMin = _ref77$textStrokeEmMi === void 0 ? 0 : _ref77$textStrokeEmMi;
18318
+ function getStrokeColor(nodeStyle, _ref79) {
18319
+ var _ref79$textStrokeEmMi = _ref79.textStrokeEmMin, textStrokeEmMin = _ref79$textStrokeEmMi === void 0 ? 0 : _ref79$textStrokeEmMi;
18221
18320
  var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));
18222
18321
  if (strokeWidth === 0) {
18223
18322
  return null;
@@ -18279,7 +18378,7 @@
18279
18378
  var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';
18280
18379
  var ptSize = Math.ceil(fontSize * 72) / 96;
18281
18380
  var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;
18282
- var _ref78 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref78.expected, minThreshold = _ref78.minThreshold, maxThreshold = _ref78.maxThreshold;
18381
+ var _ref80 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref80.expected, minThreshold = _ref80.minThreshold, maxThreshold = _ref80.maxThreshold;
18283
18382
  var pseudoElm = findPseudoElement(virtualNode, {
18284
18383
  ignorePseudo: ignorePseudo,
18285
18384
  pseudoSizeThreshold: pseudoSizeThreshold
@@ -18358,8 +18457,8 @@
18358
18457
  }
18359
18458
  return isValid;
18360
18459
  }
18361
- function findPseudoElement(vNode, _ref79) {
18362
- var _ref79$pseudoSizeThre = _ref79.pseudoSizeThreshold, pseudoSizeThreshold = _ref79$pseudoSizeThre === void 0 ? .25 : _ref79$pseudoSizeThre, _ref79$ignorePseudo = _ref79.ignorePseudo, ignorePseudo = _ref79$ignorePseudo === void 0 ? false : _ref79$ignorePseudo;
18460
+ function findPseudoElement(vNode, _ref81) {
18461
+ var _ref81$pseudoSizeThre = _ref81.pseudoSizeThreshold, pseudoSizeThreshold = _ref81$pseudoSizeThre === void 0 ? .25 : _ref81$pseudoSizeThre, _ref81$ignorePseudo = _ref81.ignorePseudo, ignorePseudo = _ref81$ignorePseudo === void 0 ? false : _ref81$ignorePseudo;
18363
18462
  if (ignorePseudo) {
18364
18463
  return;
18365
18464
  }
@@ -18401,7 +18500,7 @@
18401
18500
  }
18402
18501
  function parseUnit(str) {
18403
18502
  var unitRegex = /^([0-9.]+)([a-z]+)$/i;
18404
- var _ref80 = str.match(unitRegex) || [], _ref81 = _slicedToArray(_ref80, 3), _ref81$ = _ref81[1], value = _ref81$ === void 0 ? '' : _ref81$, _ref81$2 = _ref81[2], unit = _ref81$2 === void 0 ? '' : _ref81$2;
18503
+ var _ref82 = str.match(unitRegex) || [], _ref83 = _slicedToArray(_ref82, 3), _ref83$ = _ref83[1], value = _ref83$ === void 0 ? '' : _ref83$, _ref83$2 = _ref83[2], unit = _ref83$2 === void 0 ? '' : _ref83$2;
18405
18504
  return {
18406
18505
  value: parseFloat(value),
18407
18506
  unit: unit.toLowerCase()
@@ -18418,7 +18517,7 @@
18418
18517
  return blockLike2.indexOf(display) !== -1 || display.substr(0, 6) === 'table-';
18419
18518
  }
18420
18519
  function linkInTextBlockEvaluate(node, options) {
18421
- var requiredContrastRatio = options.requiredContrastRatio;
18520
+ var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;
18422
18521
  if (isBlock2(node)) {
18423
18522
  return false;
18424
18523
  }
@@ -18460,6 +18559,9 @@
18460
18559
  if (!textContrast) {
18461
18560
  return void 0;
18462
18561
  }
18562
+ if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {
18563
+ return true;
18564
+ }
18463
18565
  if (textContrast === 1 && backgroundContrast > 1) {
18464
18566
  this.data({
18465
18567
  messageKey: 'bgContrast',
@@ -18742,8 +18844,8 @@
18742
18844
  }
18743
18845
  var focusable_element_evaluate_default = focusableElementEvaluate;
18744
18846
  function focusableModalOpenEvaluate(node, options, virtualNode) {
18745
- var tabbableElements = virtualNode.tabbableElements.map(function(_ref82) {
18746
- var actualNode = _ref82.actualNode;
18847
+ var tabbableElements = virtualNode.tabbableElements.map(function(_ref84) {
18848
+ var actualNode = _ref84.actualNode;
18747
18849
  return actualNode;
18748
18850
  });
18749
18851
  if (!tabbableElements || !tabbableElements.length) {
@@ -19224,8 +19326,8 @@
19224
19326
  this.relatedNodes(relatedNodes);
19225
19327
  return true;
19226
19328
  }
19227
- function getInvalidSelector(vChild, nested, _ref83) {
19228
- var _ref83$validRoles = _ref83.validRoles, validRoles = _ref83$validRoles === void 0 ? [] : _ref83$validRoles, _ref83$validNodeNames = _ref83.validNodeNames, validNodeNames = _ref83$validNodeNames === void 0 ? [] : _ref83$validNodeNames;
19329
+ function getInvalidSelector(vChild, nested, _ref85) {
19330
+ var _ref85$validRoles = _ref85.validRoles, validRoles = _ref85$validRoles === void 0 ? [] : _ref85$validRoles, _ref85$validNodeNames = _ref85.validNodeNames, validNodeNames = _ref85$validNodeNames === void 0 ? [] : _ref85$validNodeNames;
19229
19331
  var _vChild$props = vChild.props, nodeName2 = _vChild$props.nodeName, nodeType = _vChild$props.nodeType, nodeValue = _vChild$props.nodeValue;
19230
19332
  var selector = nested ? 'div > ' : '';
19231
19333
  if (nodeType === 3 && nodeValue.trim() !== '') {
@@ -19458,8 +19560,8 @@
19458
19560
  }
19459
19561
  var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;
19460
19562
  function cssOrientationLockEvaluate(node, options, virtualNode, context) {
19461
- var _ref84 = context || {}, _ref84$cssom = _ref84.cssom, cssom = _ref84$cssom === void 0 ? void 0 : _ref84$cssom;
19462
- var _ref85 = options || {}, _ref85$degreeThreshol = _ref85.degreeThreshold, degreeThreshold = _ref85$degreeThreshol === void 0 ? 0 : _ref85$degreeThreshol;
19563
+ var _ref86 = context || {}, _ref86$cssom = _ref86.cssom, cssom = _ref86$cssom === void 0 ? void 0 : _ref86$cssom;
19564
+ var _ref87 = options || {}, _ref87$degreeThreshol = _ref87.degreeThreshold, degreeThreshold = _ref87$degreeThreshol === void 0 ? 0 : _ref87$degreeThreshol;
19463
19565
  if (!cssom || !cssom.length) {
19464
19566
  return void 0;
19465
19567
  }
@@ -19473,8 +19575,8 @@
19473
19575
  if (!orientationRules.length) {
19474
19576
  return 'continue';
19475
19577
  }
19476
- orientationRules.forEach(function(_ref86) {
19477
- var cssRules = _ref86.cssRules;
19578
+ orientationRules.forEach(function(_ref88) {
19579
+ var cssRules = _ref88.cssRules;
19478
19580
  Array.from(cssRules).forEach(function(cssRule) {
19479
19581
  var locked = getIsOrientationLocked(cssRule);
19480
19582
  if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {
@@ -19499,8 +19601,8 @@
19499
19601
  }
19500
19602
  return false;
19501
19603
  function groupCssomByDocument(cssObjectModel) {
19502
- return cssObjectModel.reduce(function(out, _ref87) {
19503
- var sheet = _ref87.sheet, root = _ref87.root, shadowId = _ref87.shadowId;
19604
+ return cssObjectModel.reduce(function(out, _ref89) {
19605
+ var sheet = _ref89.sheet, root = _ref89.root, shadowId = _ref89.shadowId;
19504
19606
  var key = shadowId ? shadowId : 'topDocument';
19505
19607
  if (!out[key]) {
19506
19608
  out[key] = {
@@ -19516,15 +19618,15 @@
19516
19618
  return out;
19517
19619
  }, {});
19518
19620
  }
19519
- function isMediaRuleWithOrientation(_ref88) {
19520
- var type = _ref88.type, cssText = _ref88.cssText;
19621
+ function isMediaRuleWithOrientation(_ref90) {
19622
+ var type = _ref90.type, cssText = _ref90.cssText;
19521
19623
  if (type !== 4) {
19522
19624
  return false;
19523
19625
  }
19524
19626
  return /orientation:\s*landscape/i.test(cssText) || /orientation:\s*portrait/i.test(cssText);
19525
19627
  }
19526
- function getIsOrientationLocked(_ref89) {
19527
- var selectorText = _ref89.selectorText, style = _ref89.style;
19628
+ function getIsOrientationLocked(_ref91) {
19629
+ var selectorText = _ref91.selectorText, style = _ref91.style;
19528
19630
  if (!selectorText || style.length <= 0) {
19529
19631
  return false;
19530
19632
  }
@@ -19571,7 +19673,7 @@
19571
19673
  }
19572
19674
  }
19573
19675
  function getAngleInDegrees(angleWithUnit) {
19574
- var _ref90 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref91 = _slicedToArray(_ref90, 1), unit = _ref91[0];
19676
+ var _ref92 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref93 = _slicedToArray(_ref92, 1), unit = _ref93[0];
19575
19677
  if (!unit) {
19576
19678
  return;
19577
19679
  }
@@ -19620,7 +19722,7 @@
19620
19722
  }
19621
19723
  var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;
19622
19724
  function metaViewportScaleEvaluate(node, options, virtualNode) {
19623
- var _ref92 = options || {}, _ref92$scaleMinimum = _ref92.scaleMinimum, scaleMinimum = _ref92$scaleMinimum === void 0 ? 2 : _ref92$scaleMinimum, _ref92$lowerBound = _ref92.lowerBound, lowerBound = _ref92$lowerBound === void 0 ? false : _ref92$lowerBound;
19725
+ var _ref94 = options || {}, _ref94$scaleMinimum = _ref94.scaleMinimum, scaleMinimum = _ref94$scaleMinimum === void 0 ? 2 : _ref94$scaleMinimum, _ref94$lowerBound = _ref94.lowerBound, lowerBound = _ref94$lowerBound === void 0 ? false : _ref94$lowerBound;
19624
19726
  var content = virtualNode.attr('content') || '';
19625
19727
  if (!content) {
19626
19728
  return true;
@@ -19695,8 +19797,8 @@
19695
19797
  });
19696
19798
  return true;
19697
19799
  }
19698
- this.relatedNodes(closeNeighbors.map(function(_ref93) {
19699
- var actualNode = _ref93.actualNode;
19800
+ this.relatedNodes(closeNeighbors.map(function(_ref95) {
19801
+ var actualNode = _ref95.actualNode;
19700
19802
  return actualNode;
19701
19803
  }));
19702
19804
  if (!closeNeighbors.some(_isInTabOrder)) {
@@ -19801,8 +19903,8 @@
19801
19903
  if (obscuredNodes.length === 0) {
19802
19904
  return null;
19803
19905
  }
19804
- var obscuringRects = obscuredNodes.map(function(_ref94) {
19805
- var rect = _ref94.boundingClientRect;
19906
+ var obscuringRects = obscuredNodes.map(function(_ref96) {
19907
+ var rect = _ref96.boundingClientRect;
19806
19908
  return rect;
19807
19909
  });
19808
19910
  var unobscuredRects = _splitRects(nodeRect, obscuringRects);
@@ -19842,13 +19944,13 @@
19842
19944
  function isDescendantNotInTabOrder(vAncestor, vNode) {
19843
19945
  return vAncestor.actualNode.contains(vNode.actualNode) && !_isInTabOrder(vNode);
19844
19946
  }
19845
- function rectHasMinimumSize(minSize, _ref95) {
19846
- var width = _ref95.width, height = _ref95.height;
19947
+ function rectHasMinimumSize(minSize, _ref97) {
19948
+ var width = _ref97.width, height = _ref97.height;
19847
19949
  return width + roundingMargin2 >= minSize && height + roundingMargin2 >= minSize;
19848
19950
  }
19849
19951
  function mapActualNodes(vNodes) {
19850
- return vNodes.map(function(_ref96) {
19851
- var actualNode = _ref96.actualNode;
19952
+ return vNodes.map(function(_ref98) {
19953
+ var actualNode = _ref98.actualNode;
19852
19954
  return actualNode;
19853
19955
  });
19854
19956
  }
@@ -19874,14 +19976,14 @@
19874
19976
  }
19875
19977
  function getHeadingOrder(results) {
19876
19978
  results = _toConsumableArray(results);
19877
- results.sort(function(_ref97, _ref98) {
19878
- var nodeA = _ref97.node;
19879
- var nodeB = _ref98.node;
19979
+ results.sort(function(_ref99, _ref100) {
19980
+ var nodeA = _ref99.node;
19981
+ var nodeB = _ref100.node;
19880
19982
  return nodeA.ancestry.length - nodeB.ancestry.length;
19881
19983
  });
19882
19984
  var headingOrder = results.reduce(mergeHeadingOrder, []);
19883
- return headingOrder.filter(function(_ref99) {
19884
- var level = _ref99.level;
19985
+ return headingOrder.filter(function(_ref101) {
19986
+ var level = _ref101.level;
19885
19987
  return level !== -1;
19886
19988
  });
19887
19989
  }
@@ -19932,7 +20034,7 @@
19932
20034
  var headingRole = role && role.includes('heading');
19933
20035
  var ariaHeadingLevel = vNode.attr('aria-level');
19934
20036
  var ariaLevel = parseInt(ariaHeadingLevel, 10);
19935
- var _ref100 = vNode.props.nodeName.match(/h(\d)/) || [], _ref101 = _slicedToArray(_ref100, 2), headingLevel = _ref101[1];
20037
+ var _ref102 = vNode.props.nodeName.match(/h(\d)/) || [], _ref103 = _slicedToArray(_ref102, 2), headingLevel = _ref103[1];
19936
20038
  if (!headingRole) {
19937
20039
  return -1;
19938
20040
  }
@@ -19996,8 +20098,8 @@
19996
20098
  if (results.length < 2) {
19997
20099
  return results;
19998
20100
  }
19999
- var incompleteResults = results.filter(function(_ref102) {
20000
- var result = _ref102.result;
20101
+ var incompleteResults = results.filter(function(_ref104) {
20102
+ var result = _ref104.result;
20001
20103
  return result !== void 0;
20002
20104
  });
20003
20105
  var uniqueResults = [];
@@ -20009,12 +20111,12 @@
20009
20111
  if (nameMap[name]) {
20010
20112
  return 'continue';
20011
20113
  }
20012
- var sameNameResults = incompleteResults.filter(function(_ref103, resultNum) {
20013
- var data2 = _ref103.data;
20114
+ var sameNameResults = incompleteResults.filter(function(_ref105, resultNum) {
20115
+ var data2 = _ref105.data;
20014
20116
  return data2.name === name && resultNum !== index;
20015
20117
  });
20016
- var isSameUrl = sameNameResults.every(function(_ref104) {
20017
- var data2 = _ref104.data;
20118
+ var isSameUrl = sameNameResults.every(function(_ref106) {
20119
+ var data2 = _ref106.data;
20018
20120
  return isIdenticalObject(data2.urlProps, urlProps);
20019
20121
  });
20020
20122
  if (sameNameResults.length && !isSameUrl) {
@@ -20433,7 +20535,7 @@
20433
20535
  var separatorRegex = /[;,\s]/;
20434
20536
  var validRedirectNumRegex = /^[0-9.]+$/;
20435
20537
  function metaRefreshEvaluate(node, options, virtualNode) {
20436
- var _ref105 = options || {}, minDelay = _ref105.minDelay, maxDelay = _ref105.maxDelay;
20538
+ var _ref107 = options || {}, minDelay = _ref107.minDelay, maxDelay = _ref107.maxDelay;
20437
20539
  var content = (virtualNode.attr('content') || '').trim();
20438
20540
  var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];
20439
20541
  if (!redirectStr.match(validRedirectNumRegex)) {
@@ -20605,8 +20707,8 @@
20605
20707
  } else if (node !== document.body && has_content_default(node, true)) {
20606
20708
  return [ virtualNode ];
20607
20709
  } else {
20608
- return virtualNode.children.filter(function(_ref106) {
20609
- var actualNode = _ref106.actualNode;
20710
+ return virtualNode.children.filter(function(_ref108) {
20711
+ var actualNode = _ref108.actualNode;
20610
20712
  return actualNode.nodeType === 1;
20611
20713
  }).map(function(vNode) {
20612
20714
  return findRegionlessElms(vNode, options);
@@ -20759,8 +20861,8 @@
20759
20861
  }
20760
20862
  return false;
20761
20863
  }
20762
- function getNumberValue(domNode, _ref107) {
20763
- var cssProperty = _ref107.cssProperty, absoluteValues = _ref107.absoluteValues, normalValue = _ref107.normalValue;
20864
+ function getNumberValue(domNode, _ref109) {
20865
+ var cssProperty = _ref109.cssProperty, absoluteValues = _ref109.absoluteValues, normalValue = _ref109.normalValue;
20764
20866
  var computedStyle = window.getComputedStyle(domNode);
20765
20867
  var cssPropValue = computedStyle.getPropertyValue(cssProperty);
20766
20868
  if (cssPropValue === 'normal') {
@@ -20837,8 +20939,8 @@
20837
20939
  if (!virtualNode.children) {
20838
20940
  return void 0;
20839
20941
  }
20840
- var titleNode = virtualNode.children.find(function(_ref108) {
20841
- var props = _ref108.props;
20942
+ var titleNode = virtualNode.children.find(function(_ref110) {
20943
+ var props = _ref110.props;
20842
20944
  return props.nodeName === 'title';
20843
20945
  });
20844
20946
  if (!titleNode) {
@@ -21142,7 +21244,7 @@
21142
21244
  if (nodeName2 === 'input' && nonTextInput.includes(inputType)) {
21143
21245
  return false;
21144
21246
  }
21145
- if (is_disabled_default(virtualNode)) {
21247
+ if (is_disabled_default(virtualNode) || _isInert(virtualNode)) {
21146
21248
  return false;
21147
21249
  }
21148
21250
  var formElements = [ 'input', 'select', 'textarea' ];
@@ -21197,13 +21299,7 @@
21197
21299
  if (ariaLabelledbyControls.length > 0 && ariaLabelledbyControls.every(is_disabled_default)) {
21198
21300
  return false;
21199
21301
  }
21200
- var visibleText = visible_virtual_default(virtualNode, false, true);
21201
- var removeUnicodeOptions = {
21202
- emoji: true,
21203
- nonBmp: false,
21204
- punctuations: true
21205
- };
21206
- if (!visibleText || !remove_unicode_default(visibleText, removeUnicodeOptions)) {
21302
+ if (!hasRealTextChildren(virtualNode)) {
21207
21303
  return false;
21208
21304
  }
21209
21305
  var range = document.createRange();
@@ -21223,6 +21319,20 @@
21223
21319
  return false;
21224
21320
  }
21225
21321
  var color_contrast_matches_default = colorContrastMatches;
21322
+ var removeUnicodeOptions = {
21323
+ emoji: true,
21324
+ nonBmp: false,
21325
+ punctuations: true
21326
+ };
21327
+ function hasRealTextChildren(virtualNode) {
21328
+ var visibleText = visible_virtual_default(virtualNode, false, true);
21329
+ if (visibleText === '' || remove_unicode_default(visibleText, removeUnicodeOptions) === '') {
21330
+ return false;
21331
+ }
21332
+ return virtualNode.children.some(function(vChild) {
21333
+ return vChild.props.nodeName === '#text' && !is_icon_ligature_default(vChild);
21334
+ });
21335
+ }
21226
21336
  function dataTableLargeMatches(node) {
21227
21337
  if (is_data_table_default(node)) {
21228
21338
  var tableArray = to_grid_default(node);
@@ -21425,7 +21535,7 @@
21425
21535
  if (!role || [ 'none', 'presentation' ].includes(role)) {
21426
21536
  return true;
21427
21537
  }
21428
- var _ref109 = aria_roles_default[role] || {}, accessibleNameRequired = _ref109.accessibleNameRequired;
21538
+ var _ref111 = aria_roles_default[role] || {}, accessibleNameRequired = _ref111.accessibleNameRequired;
21429
21539
  if (accessibleNameRequired || _isFocusable(virtualNode)) {
21430
21540
  return true;
21431
21541
  }
@@ -21440,6 +21550,11 @@
21440
21550
  if (get_explicit_role_default(virtualNode) === 'combobox' && query_selector_all_default(virtualNode, 'input:not([type="hidden"])').length) {
21441
21551
  return false;
21442
21552
  }
21553
+ if (_isComboboxPopup(virtualNode, {
21554
+ popupRoles: [ 'listbox' ]
21555
+ })) {
21556
+ return false;
21557
+ }
21443
21558
  return true;
21444
21559
  }
21445
21560
  var no_naming_method_matches_default = noNamingMethodMatches;
@@ -21491,37 +21606,13 @@
21491
21606
  }
21492
21607
  var presentation_role_conflict_matches_default = presentationRoleConflictMatches;
21493
21608
  function scrollableRegionFocusableMatches(node, virtualNode) {
21494
- if (!!_getScroll(node, 13) === false) {
21495
- return false;
21496
- }
21497
- var role = get_explicit_role_default(virtualNode);
21498
- if (aria_attrs_default['aria-haspopup'].values.includes(role)) {
21499
- if (closest_default(virtualNode, '[role~="combobox"]')) {
21500
- return false;
21501
- }
21502
- var id = virtualNode.attr('id');
21503
- if (id) {
21504
- var doc = get_root_node_default(node);
21505
- var owned = Array.from(doc.querySelectorAll('[aria-owns~="'.concat(id, '"], [aria-controls~="').concat(id, '"]')));
21506
- var comboboxOwned = owned.some(function(el) {
21507
- var roles = token_list_default(el.getAttribute('role'));
21508
- return roles.includes('combobox');
21509
- });
21510
- if (comboboxOwned) {
21511
- return false;
21512
- }
21513
- }
21514
- }
21515
- var nodeAndDescendents = query_selector_all_default(virtualNode, '*');
21516
- var hasVisibleChildren = nodeAndDescendents.some(function(elm) {
21609
+ return _getScroll(node, 13) !== void 0 && _isComboboxPopup(virtualNode) === false && isNoneEmptyElement(virtualNode);
21610
+ }
21611
+ function isNoneEmptyElement(vNode) {
21612
+ return query_selector_all_default(vNode, '*').some(function(elm) {
21517
21613
  return has_content_virtual_default(elm, true, true);
21518
21614
  });
21519
- if (!hasVisibleChildren) {
21520
- return false;
21521
- }
21522
- return true;
21523
21615
  }
21524
- var scrollable_region_focusable_matches_default = scrollableRegionFocusableMatches;
21525
21616
  function skipLinkMatches(node) {
21526
21617
  return _isSkipLink(node) && is_offscreen_default(node);
21527
21618
  }
@@ -21710,7 +21801,7 @@
21710
21801
  'region-evaluate': regionEvaluate,
21711
21802
  'same-caption-summary-evaluate': same_caption_summary_evaluate_default,
21712
21803
  'scope-value-evaluate': scope_value_evaluate_default,
21713
- 'scrollable-region-focusable-matches': scrollable_region_focusable_matches_default,
21804
+ 'scrollable-region-focusable-matches': scrollableRegionFocusableMatches,
21714
21805
  'skip-link-evaluate': skip_link_evaluate_default,
21715
21806
  'skip-link-matches': skip_link_matches_default,
21716
21807
  'structured-dlitems-evaluate': structured_dlitems_evaluate_default,
@@ -22752,8 +22843,8 @@
22752
22843
  });
22753
22844
  };
22754
22845
  }
22755
- function getHelpUrl(_ref110, ruleId, version) {
22756
- var brand = _ref110.brand, application = _ref110.application, lang = _ref110.lang;
22846
+ function getHelpUrl(_ref112, ruleId, version) {
22847
+ var brand = _ref112.brand, application = _ref112.application, lang = _ref112.lang;
22757
22848
  return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');
22758
22849
  }
22759
22850
  var audit_default = Audit;
@@ -22969,9 +23060,9 @@
22969
23060
  toolOptions: options
22970
23061
  });
22971
23062
  }
22972
- function normalizeRunParams(_ref111) {
22973
- var _ref113, _options$reporter, _axe$_audit;
22974
- var _ref112 = _slicedToArray(_ref111, 3), context = _ref112[0], options = _ref112[1], callback = _ref112[2];
23063
+ function normalizeRunParams(_ref113) {
23064
+ var _ref115, _options$reporter, _axe$_audit;
23065
+ var _ref114 = _slicedToArray(_ref113, 3), context = _ref114[0], options = _ref114[1], callback = _ref114[2];
22975
23066
  var typeErr = new TypeError('axe.run arguments are invalid');
22976
23067
  if (!isContextSpec(context)) {
22977
23068
  if (callback !== void 0) {
@@ -22992,7 +23083,7 @@
22992
23083
  throw typeErr;
22993
23084
  }
22994
23085
  options = clone_default(options);
22995
- options.reporter = (_ref113 = (_options$reporter = options.reporter) !== null && _options$reporter !== void 0 ? _options$reporter : (_axe$_audit = axe._audit) === null || _axe$_audit === void 0 ? void 0 : _axe$_audit.reporter) !== null && _ref113 !== void 0 ? _ref113 : 'v1';
23086
+ options.reporter = (_ref115 = (_options$reporter = options.reporter) !== null && _options$reporter !== void 0 ? _options$reporter : (_axe$_audit = axe._audit) === null || _axe$_audit === void 0 ? void 0 : _axe$_audit.reporter) !== null && _ref115 !== void 0 ? _ref115 : 'v1';
22996
23087
  return {
22997
23088
  context: context,
22998
23089
  options: options,
@@ -23097,14 +23188,14 @@
23097
23188
  return new Promise(function(res, rej) {
23098
23189
  axe._audit.run(contextObj, options, res, rej);
23099
23190
  }).then(function(results) {
23100
- results = results.map(function(_ref114) {
23101
- var nodes = _ref114.nodes, result = _objectWithoutProperties(_ref114, _excluded8);
23191
+ results = results.map(function(_ref116) {
23192
+ var nodes = _ref116.nodes, result = _objectWithoutProperties(_ref116, _excluded8);
23102
23193
  return _extends({
23103
23194
  nodes: nodes.map(serializeNode)
23104
23195
  }, result);
23105
23196
  });
23106
- var frames = contextObj.frames.map(function(_ref115) {
23107
- var node = _ref115.node;
23197
+ var frames = contextObj.frames.map(function(_ref117) {
23198
+ var node = _ref117.node;
23108
23199
  return new dq_element_default(node, options).toJSON();
23109
23200
  });
23110
23201
  var environmentData;
@@ -23124,13 +23215,13 @@
23124
23215
  return Promise.reject(err2);
23125
23216
  });
23126
23217
  }
23127
- function serializeNode(_ref116) {
23128
- var node = _ref116.node, nodeResult = _objectWithoutProperties(_ref116, _excluded9);
23218
+ function serializeNode(_ref118) {
23219
+ var node = _ref118.node, nodeResult = _objectWithoutProperties(_ref118, _excluded9);
23129
23220
  nodeResult.node = node.toJSON();
23130
23221
  for (var _i33 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i33 < _arr2.length; _i33++) {
23131
23222
  var type = _arr2[_i33];
23132
- nodeResult[type] = nodeResult[type].map(function(_ref117) {
23133
- var relatedNodes = _ref117.relatedNodes, checkResult = _objectWithoutProperties(_ref117, _excluded10);
23223
+ nodeResult[type] = nodeResult[type].map(function(_ref119) {
23224
+ var relatedNodes = _ref119.relatedNodes, checkResult = _objectWithoutProperties(_ref119, _excluded10);
23134
23225
  return _extends({}, checkResult, {
23135
23226
  relatedNodes: relatedNodes.map(function(node2) {
23136
23227
  return node2.toJSON();
@@ -23141,14 +23232,14 @@
23141
23232
  return nodeResult;
23142
23233
  }
23143
23234
  function finishRun(partialResults) {
23144
- var _ref119, _options$reporter2, _axe$_audit2;
23235
+ var _ref121, _options$reporter2, _axe$_audit2;
23145
23236
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
23146
23237
  options = clone_default(options);
23147
- var _ref118 = partialResults.find(function(r) {
23238
+ var _ref120 = partialResults.find(function(r) {
23148
23239
  return r.environmentData;
23149
- }) || {}, environmentData = _ref118.environmentData;
23240
+ }) || {}, environmentData = _ref120.environmentData;
23150
23241
  axe._audit.normalizeOptions(options);
23151
- options.reporter = (_ref119 = (_options$reporter2 = options.reporter) !== null && _options$reporter2 !== void 0 ? _options$reporter2 : (_axe$_audit2 = axe._audit) === null || _axe$_audit2 === void 0 ? void 0 : _axe$_audit2.reporter) !== null && _ref119 !== void 0 ? _ref119 : 'v1';
23242
+ options.reporter = (_ref121 = (_options$reporter2 = options.reporter) !== null && _options$reporter2 !== void 0 ? _options$reporter2 : (_axe$_audit2 = axe._audit) === null || _axe$_audit2 === void 0 ? void 0 : _axe$_audit2.reporter) !== null && _ref121 !== void 0 ? _ref121 : 'v1';
23152
23243
  setFrameSpec(partialResults);
23153
23244
  var results = merge_results_default(partialResults);
23154
23245
  results = axe._audit.after(results, options);
@@ -23178,8 +23269,8 @@
23178
23269
  _iterator12.f();
23179
23270
  }
23180
23271
  }
23181
- function getMergedFrameSpecs(_ref120) {
23182
- var childFrameSpecs = _ref120.frames, parentFrameSpec = _ref120.frameSpec;
23272
+ function getMergedFrameSpecs(_ref122) {
23273
+ var childFrameSpecs = _ref122.frames, parentFrameSpec = _ref122.frameSpec;
23183
23274
  if (!parentFrameSpec) {
23184
23275
  return childFrameSpecs;
23185
23276
  }
@@ -23242,9 +23333,9 @@
23242
23333
  for (var _i34 = 0, _types = types; _i34 < _types.length; _i34++) {
23243
23334
  var type = _types[_i34];
23244
23335
  if (transformedResult[type] && Array.isArray(transformedResult[type])) {
23245
- transformedResult[type] = transformedResult[type].map(function(_ref121) {
23336
+ transformedResult[type] = transformedResult[type].map(function(_ref123) {
23246
23337
  var _node;
23247
- var node = _ref121.node, typeResult = _objectWithoutProperties(_ref121, _excluded13);
23338
+ var node = _ref123.node, typeResult = _objectWithoutProperties(_ref123, _excluded13);
23248
23339
  node = typeof ((_node = node) === null || _node === void 0 ? void 0 : _node.toJSON) === 'function' ? node.toJSON() : node;
23249
23340
  return _extends({
23250
23341
  node: node
@@ -25678,7 +25769,8 @@
25678
25769
  all: [],
25679
25770
  any: [ {
25680
25771
  options: {
25681
- requiredContrastRatio: 3
25772
+ requiredContrastRatio: 3,
25773
+ allowSameColor: true
25682
25774
  },
25683
25775
  id: 'link-in-text-block'
25684
25776
  }, 'link-in-text-block-style' ],
@@ -25914,6 +26006,7 @@
25914
26006
  none: []
25915
26007
  }, {
25916
26008
  id: 'scrollable-region-focusable',
26009
+ selector: '*:not(select,textarea)',
25917
26010
  matches: 'scrollable-region-focusable-matches',
25918
26011
  tags: [ 'cat.keyboard', 'wcag2a', 'wcag211' ],
25919
26012
  actIds: [ '0ssw9k' ],
@@ -26201,7 +26294,8 @@
26201
26294
  id: 'link-in-text-block',
26202
26295
  evaluate: 'link-in-text-block-evaluate',
26203
26296
  options: {
26204
- requiredContrastRatio: 3
26297
+ requiredContrastRatio: 3,
26298
+ allowSameColor: true
26205
26299
  }
26206
26300
  }, {
26207
26301
  id: 'autocomplete-appropriate',