axe-core 4.6.2 → 4.6.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
@@ -177,6 +177,6 @@ Read the [documentation on contributing](CONTRIBUTING.md)
177
177
 
178
178
  ## Acknowledgements
179
179
 
180
- Thanks to Dulin Marat for his [css-selector-parser](https://www.npmjs.com/package/css-selector-parser) implementation which is included for shadow DOM support.
180
+ Thanks to Marat Dulin for his [css-selector-parser](https://www.npmjs.com/package/css-selector-parser) implementation which is included for shadow DOM support.
181
181
 
182
182
  Thanks to the [Slick Parser](https://github.com/mootools/slick/blob/master/Source/Slick.Parser.js) implementers for their contribution, we have used some of their algorithms in our shadow DOM support code.
package/axe.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! axe v4.6.2
1
+ /*! axe v4.6.3
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';
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
  },
@@ -7553,7 +7575,11 @@
7553
7575
  var node = parentVNode ? treeWalker.nextNode() : treeWalker.currentNode;
7554
7576
  while (node) {
7555
7577
  var _vNode = get_node_from_tree_default(node);
7556
- if (node.parentElement) {
7578
+ if (_vNode && _vNode.parent) {
7579
+ parentVNode = _vNode.parent;
7580
+ } else if (node.assignedSlot) {
7581
+ parentVNode = get_node_from_tree_default(node.assignedSlot);
7582
+ } else if (node.parentElement) {
7557
7583
  parentVNode = get_node_from_tree_default(node.parentElement);
7558
7584
  } else if (node.parentNode && get_node_from_tree_default(node.parentNode)) {
7559
7585
  parentVNode = get_node_from_tree_default(node.parentNode);
@@ -7815,6 +7841,47 @@
7815
7841
  }
7816
7842
  return hasFixedPosition(vNode.parent);
7817
7843
  });
7844
+ var allowedDisabledNodeNames = [ 'button', 'command', 'fieldset', 'keygen', 'optgroup', 'option', 'select', 'textarea', 'input' ];
7845
+ function isDisabledAttrAllowed(nodeName2) {
7846
+ return allowedDisabledNodeNames.includes(nodeName2);
7847
+ }
7848
+ function focusDisabled(el) {
7849
+ var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
7850
+ if (isDisabledAttrAllowed(vNode.props.nodeName) && vNode.hasAttr('disabled')) {
7851
+ return true;
7852
+ }
7853
+ var parentNode = vNode.parent;
7854
+ var ancestors = [];
7855
+ var fieldsetDisabled = false;
7856
+ while (parentNode && parentNode.shadowId === vNode.shadowId && !fieldsetDisabled) {
7857
+ ancestors.push(parentNode);
7858
+ if (parentNode.props.nodeName === 'legend') {
7859
+ break;
7860
+ }
7861
+ if (parentNode._inDisabledFieldset !== void 0) {
7862
+ fieldsetDisabled = parentNode._inDisabledFieldset;
7863
+ break;
7864
+ }
7865
+ if (parentNode.props.nodeName === 'fieldset' && parentNode.hasAttr('disabled')) {
7866
+ fieldsetDisabled = true;
7867
+ }
7868
+ parentNode = parentNode.parent;
7869
+ }
7870
+ ancestors.forEach(function(ancestor) {
7871
+ return ancestor._inDisabledFieldset = fieldsetDisabled;
7872
+ });
7873
+ if (fieldsetDisabled) {
7874
+ return true;
7875
+ }
7876
+ if (vNode.props.nodeName !== 'area') {
7877
+ if (!vNode.actualNode) {
7878
+ return false;
7879
+ }
7880
+ return _isHiddenForEveryone(vNode);
7881
+ }
7882
+ return false;
7883
+ }
7884
+ var focus_disabled_default = focusDisabled;
7818
7885
  var angularSkipLinkRegex = /^\/\#/;
7819
7886
  var angularRouterLinkRegex = /^#[!/]/;
7820
7887
  function _isCurrentPageLink(anchor) {
@@ -8830,13 +8897,13 @@
8830
8897
  },
8831
8898
  menu: {
8832
8899
  type: 'composite',
8833
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu' ],
8900
+ requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],
8834
8901
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8835
8902
  superclassRole: [ 'select' ]
8836
8903
  },
8837
8904
  menubar: {
8838
8905
  type: 'composite',
8839
- requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu' ],
8906
+ requiredOwned: [ 'group', 'menuitemradio', 'menuitem', 'menuitemcheckbox', 'menu', 'separator' ],
8840
8907
  allowedAttrs: [ 'aria-activedescendant', 'aria-expanded', 'aria-orientation' ],
8841
8908
  superclassRole: [ 'menu' ]
8842
8909
  },
@@ -10420,47 +10487,6 @@
10420
10487
  return str.replace(/\r\n/g, '\n').replace(/\u00A0/g, ' ').replace(/[\s]{2,}/g, ' ').trim();
10421
10488
  }
10422
10489
  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
10490
  function isNativelyFocusable(el) {
10465
10491
  var vNode = el instanceof abstract_virtual_node_default ? el : get_node_from_tree_default(el);
10466
10492
  if (!vNode || focus_disabled_default(vNode)) {
@@ -11504,6 +11530,12 @@
11504
11530
  standaloneTerms = standaloneTerms.concat(_autocomplete.standaloneTerms);
11505
11531
  qualifiedTerms = qualifiedTerms.concat(_autocomplete.qualifiedTerms);
11506
11532
  var autocompleteTerms = autocompleteValue.split(/\s+/g);
11533
+ if (autocompleteTerms[autocompleteTerms.length - 1] === 'webauthn') {
11534
+ autocompleteTerms.pop();
11535
+ if (autocompleteTerms.length === 0) {
11536
+ return false;
11537
+ }
11538
+ }
11507
11539
  if (!looseTyped) {
11508
11540
  if (autocompleteTerms[0].length > 8 && autocompleteTerms[0].substr(0, 8) === 'section-') {
11509
11541
  autocompleteTerms.shift();
@@ -18418,7 +18450,7 @@
18418
18450
  return blockLike2.indexOf(display) !== -1 || display.substr(0, 6) === 'table-';
18419
18451
  }
18420
18452
  function linkInTextBlockEvaluate(node, options) {
18421
- var requiredContrastRatio = options.requiredContrastRatio;
18453
+ var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;
18422
18454
  if (isBlock2(node)) {
18423
18455
  return false;
18424
18456
  }
@@ -18460,6 +18492,9 @@
18460
18492
  if (!textContrast) {
18461
18493
  return void 0;
18462
18494
  }
18495
+ if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {
18496
+ return true;
18497
+ }
18463
18498
  if (textContrast === 1 && backgroundContrast > 1) {
18464
18499
  this.data({
18465
18500
  messageKey: 'bgContrast',
@@ -21197,13 +21232,7 @@
21197
21232
  if (ariaLabelledbyControls.length > 0 && ariaLabelledbyControls.every(is_disabled_default)) {
21198
21233
  return false;
21199
21234
  }
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)) {
21235
+ if (!hasRealTextChildren(virtualNode)) {
21207
21236
  return false;
21208
21237
  }
21209
21238
  var range = document.createRange();
@@ -21223,6 +21252,20 @@
21223
21252
  return false;
21224
21253
  }
21225
21254
  var color_contrast_matches_default = colorContrastMatches;
21255
+ var removeUnicodeOptions = {
21256
+ emoji: true,
21257
+ nonBmp: false,
21258
+ punctuations: true
21259
+ };
21260
+ function hasRealTextChildren(virtualNode) {
21261
+ var visibleText = visible_virtual_default(virtualNode, false, true);
21262
+ if (visibleText === '' || remove_unicode_default(visibleText, removeUnicodeOptions) === '') {
21263
+ return false;
21264
+ }
21265
+ return virtualNode.children.some(function(vChild) {
21266
+ return vChild.props.nodeName === '#text' && !is_icon_ligature_default(vChild);
21267
+ });
21268
+ }
21226
21269
  function dataTableLargeMatches(node) {
21227
21270
  if (is_data_table_default(node)) {
21228
21271
  var tableArray = to_grid_default(node);
@@ -25678,7 +25721,8 @@
25678
25721
  all: [],
25679
25722
  any: [ {
25680
25723
  options: {
25681
- requiredContrastRatio: 3
25724
+ requiredContrastRatio: 3,
25725
+ allowSameColor: true
25682
25726
  },
25683
25727
  id: 'link-in-text-block'
25684
25728
  }, 'link-in-text-block-style' ],
@@ -25914,6 +25958,7 @@
25914
25958
  none: []
25915
25959
  }, {
25916
25960
  id: 'scrollable-region-focusable',
25961
+ selector: '*:not(select,textarea)',
25917
25962
  matches: 'scrollable-region-focusable-matches',
25918
25963
  tags: [ 'cat.keyboard', 'wcag2a', 'wcag211' ],
25919
25964
  actIds: [ '0ssw9k' ],
@@ -26201,7 +26246,8 @@
26201
26246
  id: 'link-in-text-block',
26202
26247
  evaluate: 'link-in-text-block-evaluate',
26203
26248
  options: {
26204
- requiredContrastRatio: 3
26249
+ requiredContrastRatio: 3,
26250
+ allowSameColor: true
26205
26251
  }
26206
26252
  }, {
26207
26253
  id: 'autocomplete-appropriate',