axe-core 4.7.2-canary.fcf76e0 → 4.8.0

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.7.2-canary.fcf76e0
1
+ /*! axe v4.8.0
2
2
  * Copyright (c) 2015 - 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.7.2-canary.fcf76e0';
25
+ axe.version = '4.8.0';
26
26
  if (typeof define === 'function' && define.amd) {
27
27
  define('axe-core', [], function() {
28
28
  return axe;
@@ -49,7 +49,7 @@
49
49
  SupportError.prototype = Object.create(Error.prototype);
50
50
  SupportError.prototype.constructor = SupportError;
51
51
  'use strict';
52
- var _excluded = [ 'node' ], _excluded2 = [ 'variant' ], _excluded3 = [ 'matches' ], _excluded4 = [ 'chromium' ], _excluded5 = [ 'noImplicit' ], _excluded6 = [ 'noPresentational' ], _excluded7 = [ 'precision', 'format', 'inGamut' ], _excluded8 = [ 'space' ], _excluded9 = [ 'algorithm' ], _excluded10 = [ 'method' ], _excluded11 = [ 'maxDeltaE', 'deltaEMethod', 'steps', 'maxSteps' ], _excluded12 = [ 'node' ], _excluded13 = [ 'nodes' ], _excluded14 = [ 'node' ], _excluded15 = [ 'relatedNodes' ], _excluded16 = [ 'environmentData' ], _excluded17 = [ 'environmentData' ], _excluded18 = [ 'node' ], _excluded19 = [ 'environmentData' ], _excluded20 = [ 'environmentData' ], _excluded21 = [ 'environmentData' ];
52
+ var _excluded = [ 'node' ], _excluded2 = [ 'relatedNodes' ], _excluded3 = [ 'node' ], _excluded4 = [ 'variant' ], _excluded5 = [ 'matches' ], _excluded6 = [ 'chromium' ], _excluded7 = [ 'noImplicit' ], _excluded8 = [ 'noPresentational' ], _excluded9 = [ 'precision', 'format', 'inGamut' ], _excluded10 = [ 'space' ], _excluded11 = [ 'algorithm' ], _excluded12 = [ 'method' ], _excluded13 = [ 'maxDeltaE', 'deltaEMethod', 'steps', 'maxSteps' ], _excluded14 = [ 'node' ], _excluded15 = [ 'environmentData' ], _excluded16 = [ 'environmentData' ], _excluded17 = [ 'environmentData' ], _excluded18 = [ 'environmentData' ], _excluded19 = [ 'environmentData' ];
53
53
  function _toArray(arr) {
54
54
  return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
55
55
  }
@@ -5227,6 +5227,9 @@
5227
5227
  nodeLookup: function nodeLookup() {
5228
5228
  return _nodeLookup;
5229
5229
  },
5230
+ nodeSerializer: function nodeSerializer() {
5231
+ return node_serializer_default;
5232
+ },
5230
5233
  nodeSorter: function nodeSorter() {
5231
5234
  return node_sorter_default;
5232
5235
  },
@@ -6028,6 +6031,7 @@
6028
6031
  return cache_default.get('nodeMap') ? cache_default.get('nodeMap').get(el) : null;
6029
6032
  }
6030
6033
  var get_node_from_tree_default = getNodeFromTree;
6034
+ var CACHE_KEY = 'DqElm.RunOptions';
6031
6035
  function truncate(str, maxLength) {
6032
6036
  maxLength = maxLength || 300;
6033
6037
  if (str.length > maxLength) {
@@ -6048,8 +6052,12 @@
6048
6052
  }
6049
6053
  function DqElement(elm) {
6050
6054
  var _this$spec$selector, _this$_virtualNode;
6051
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6055
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
6052
6056
  var spec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6057
+ if (!options) {
6058
+ var _cache_default$get;
6059
+ options = (_cache_default$get = cache_default.get(CACHE_KEY)) !== null && _cache_default$get !== void 0 ? _cache_default$get : {};
6060
+ }
6053
6061
  this.spec = spec;
6054
6062
  if (elm instanceof abstract_virtual_node_default) {
6055
6063
  this._virtualNode = elm;
@@ -6059,6 +6067,7 @@
6059
6067
  this._virtualNode = get_node_from_tree_default(elm);
6060
6068
  }
6061
6069
  this.fromFrame = ((_this$spec$selector = this.spec.selector) === null || _this$spec$selector === void 0 ? void 0 : _this$spec$selector.length) > 1;
6070
+ this._includeElementInJson = options.elementRef;
6062
6071
  if (options.absolutePaths) {
6063
6072
  this._options = {
6064
6073
  toRoot: true
@@ -6090,25 +6099,38 @@
6090
6099
  return this._element;
6091
6100
  },
6092
6101
  toJSON: function toJSON() {
6093
- return {
6102
+ var spec = {
6094
6103
  selector: this.selector,
6095
6104
  source: this.source,
6096
6105
  xpath: this.xpath,
6097
6106
  ancestry: this.ancestry,
6098
- nodeIndexes: this.nodeIndexes
6107
+ nodeIndexes: this.nodeIndexes,
6108
+ fromFrame: this.fromFrame
6099
6109
  };
6110
+ if (this._includeElementInJson) {
6111
+ spec.element = this._element;
6112
+ }
6113
+ return spec;
6100
6114
  }
6101
6115
  };
6102
6116
  DqElement.fromFrame = function fromFrame(node, options, frame) {
6103
6117
  var spec = DqElement.mergeSpecs(node, frame);
6104
6118
  return new DqElement(frame.element, options, spec);
6105
6119
  };
6106
- DqElement.mergeSpecs = function mergeSpec(node, frame) {
6107
- return _extends({}, node, {
6108
- selector: [].concat(_toConsumableArray(frame.selector), _toConsumableArray(node.selector)),
6109
- ancestry: [].concat(_toConsumableArray(frame.ancestry), _toConsumableArray(node.ancestry)),
6110
- xpath: [].concat(_toConsumableArray(frame.xpath), _toConsumableArray(node.xpath)),
6111
- nodeIndexes: [].concat(_toConsumableArray(frame.nodeIndexes), _toConsumableArray(node.nodeIndexes))
6120
+ DqElement.mergeSpecs = function mergeSpecs(child, parentFrame) {
6121
+ return _extends({}, child, {
6122
+ selector: [].concat(_toConsumableArray(parentFrame.selector), _toConsumableArray(child.selector)),
6123
+ ancestry: [].concat(_toConsumableArray(parentFrame.ancestry), _toConsumableArray(child.ancestry)),
6124
+ xpath: [].concat(_toConsumableArray(parentFrame.xpath), _toConsumableArray(child.xpath)),
6125
+ nodeIndexes: [].concat(_toConsumableArray(parentFrame.nodeIndexes), _toConsumableArray(child.nodeIndexes)),
6126
+ fromFrame: true
6127
+ });
6128
+ };
6129
+ DqElement.setRunOptions = function setRunOptions(_ref2) {
6130
+ var elementRef = _ref2.elementRef, absolutePaths = _ref2.absolutePaths;
6131
+ cache_default.set(CACHE_KEY, {
6132
+ elementRef: elementRef,
6133
+ absolutePaths: absolutePaths
6112
6134
  });
6113
6135
  };
6114
6136
  var dq_element_default = DqElement;
@@ -6144,7 +6166,7 @@
6144
6166
  node = node.actualNode;
6145
6167
  }
6146
6168
  if (node instanceof window.Node) {
6147
- var dqElm = new dq_element_default(node, options);
6169
+ var dqElm = new dq_element_default(node);
6148
6170
  checkResult.relatedNodes.push(dqElm);
6149
6171
  }
6150
6172
  });
@@ -6610,8 +6632,8 @@
6610
6632
  axe._uuid = v1();
6611
6633
  var uuid_default = v4;
6612
6634
  var errorTypes = Object.freeze([ 'EvalError', 'RangeError', 'ReferenceError', 'SyntaxError', 'TypeError', 'URIError' ]);
6613
- function stringifyMessage(_ref2) {
6614
- var topic = _ref2.topic, channelId = _ref2.channelId, message = _ref2.message, messageId = _ref2.messageId, keepalive = _ref2.keepalive;
6635
+ function stringifyMessage(_ref3) {
6636
+ var topic = _ref3.topic, channelId = _ref3.channelId, message = _ref3.message, messageId = _ref3.messageId, keepalive = _ref3.keepalive;
6615
6637
  var data = {
6616
6638
  channelId: channelId,
6617
6639
  topic: topic,
@@ -6774,8 +6796,8 @@
6774
6796
  var allowedOrigins = axe._audit.allowedOrigins;
6775
6797
  return allowedOrigins && allowedOrigins.includes('*') || allowedOrigins.includes(origin);
6776
6798
  }
6777
- function messageHandler(_ref3, topicHandler) {
6778
- var origin = _ref3.origin, dataString = _ref3.data, win = _ref3.source;
6799
+ function messageHandler(_ref4, topicHandler) {
6800
+ var origin = _ref4.origin, dataString = _ref4.data, win = _ref4.source;
6779
6801
  try {
6780
6802
  var data = parseMessage(dataString) || {};
6781
6803
  var channelId = data.channelId, message = data.message, messageId = data.messageId;
@@ -6804,7 +6826,7 @@
6804
6826
  }
6805
6827
  function callReplyHandler(win, data) {
6806
6828
  var channelId = data.channelId, message = data.message, keepalive = data.keepalive;
6807
- var _ref4 = getReplyHandler(channelId) || {}, replyHandler = _ref4.replyHandler, sendToParent = _ref4.sendToParent;
6829
+ var _ref5 = getReplyHandler(channelId) || {}, replyHandler = _ref5.replyHandler, sendToParent = _ref5.sendToParent;
6808
6830
  if (!replyHandler) {
6809
6831
  return;
6810
6832
  }
@@ -6868,8 +6890,8 @@
6868
6890
  responder(error, keepalive);
6869
6891
  }
6870
6892
  }
6871
- _respondable.updateMessenger = function updateMessenger(_ref5) {
6872
- var open = _ref5.open, post = _ref5.post;
6893
+ _respondable.updateMessenger = function updateMessenger(_ref6) {
6894
+ var open = _ref6.open, post = _ref6.post;
6873
6895
  assert_default(typeof open === 'function', 'open callback must be a function');
6874
6896
  assert_default(typeof post === 'function', 'post callback must be a function');
6875
6897
  if (closeHandler) {
@@ -6944,6 +6966,73 @@
6944
6966
  }
6945
6967
  return new Error(message + ': ' + (selector || node));
6946
6968
  }
6969
+ var customSerializer = null;
6970
+ var nodeSerializer = {
6971
+ update: function update(serializer) {
6972
+ assert_default(_typeof(serializer) === 'object', 'serializer must be an object');
6973
+ customSerializer = serializer;
6974
+ },
6975
+ toSpec: function toSpec(node) {
6976
+ return nodeSerializer.dqElmToSpec(new dq_element_default(node));
6977
+ },
6978
+ dqElmToSpec: function dqElmToSpec(dqElm, runOptions) {
6979
+ var _customSerializer;
6980
+ if (dqElm instanceof dq_element_default === false) {
6981
+ return dqElm;
6982
+ }
6983
+ if (runOptions) {
6984
+ dqElm = cloneLimitedDqElement(dqElm, runOptions);
6985
+ }
6986
+ if (typeof ((_customSerializer = customSerializer) === null || _customSerializer === void 0 ? void 0 : _customSerializer.toSpec) === 'function') {
6987
+ return customSerializer.toSpec(dqElm);
6988
+ }
6989
+ return dqElm.toJSON();
6990
+ },
6991
+ mergeSpecs: function mergeSpecs(nodeSpec, parentFrameSpec) {
6992
+ var _customSerializer2;
6993
+ if (typeof ((_customSerializer2 = customSerializer) === null || _customSerializer2 === void 0 ? void 0 : _customSerializer2.mergeSpecs) === 'function') {
6994
+ return customSerializer.mergeSpecs(nodeSpec, parentFrameSpec);
6995
+ }
6996
+ return dq_element_default.mergeSpecs(nodeSpec, parentFrameSpec);
6997
+ },
6998
+ mapRawResults: function mapRawResults(rawResults) {
6999
+ return rawResults.map(function(rawResult) {
7000
+ return _extends({}, rawResult, {
7001
+ nodes: nodeSerializer.mapRawNodeResults(rawResult.nodes)
7002
+ });
7003
+ });
7004
+ },
7005
+ mapRawNodeResults: function mapRawNodeResults(nodeResults) {
7006
+ return nodeResults === null || nodeResults === void 0 ? void 0 : nodeResults.map(function(_ref7) {
7007
+ var node = _ref7.node, nodeResult = _objectWithoutProperties(_ref7, _excluded);
7008
+ nodeResult.node = nodeSerializer.dqElmToSpec(node);
7009
+ for (var _i2 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i2 < _arr2.length; _i2++) {
7010
+ var type2 = _arr2[_i2];
7011
+ nodeResult[type2] = nodeResult[type2].map(function(_ref8) {
7012
+ var relatedNodes = _ref8.relatedNodes, checkResult = _objectWithoutProperties(_ref8, _excluded2);
7013
+ checkResult.relatedNodes = relatedNodes.map(nodeSerializer.dqElmToSpec);
7014
+ return checkResult;
7015
+ });
7016
+ }
7017
+ return nodeResult;
7018
+ });
7019
+ }
7020
+ };
7021
+ var node_serializer_default = nodeSerializer;
7022
+ function cloneLimitedDqElement(dqElm, runOptions) {
7023
+ var fromFrame2 = dqElm.fromFrame;
7024
+ var hasAncestry = runOptions.ancestry, hasXpath = runOptions.xpath;
7025
+ var hasSelectors = runOptions.selectors !== false || fromFrame2;
7026
+ dqElm = new dq_element_default(dqElm.element, runOptions, {
7027
+ source: dqElm.source,
7028
+ nodeIndexes: dqElm.nodeIndexes,
7029
+ selector: hasSelectors ? dqElm.selector : [ ':root' ],
7030
+ ancestry: hasAncestry ? dqElm.ancestry : [ ':root' ],
7031
+ xpath: hasXpath ? dqElm.xpath : '/'
7032
+ });
7033
+ dqElm.fromFrame = fromFrame2;
7034
+ return dqElm;
7035
+ }
6947
7036
  function getAllChecks(object) {
6948
7037
  var result = [];
6949
7038
  return result.concat(object.any || []).concat(object.all || []).concat(object.none || []);
@@ -6959,22 +7048,22 @@
6959
7048
  var find_by_default = findBy;
6960
7049
  function pushFrame(resultSet, options, frameSpec) {
6961
7050
  resultSet.forEach(function(res) {
6962
- res.node = dq_element_default.fromFrame(res.node, options, frameSpec);
7051
+ res.node = node_serializer_default.mergeSpecs(res.node, frameSpec);
6963
7052
  var checks = get_all_checks_default(res);
6964
7053
  checks.forEach(function(check) {
6965
7054
  check.relatedNodes = check.relatedNodes.map(function(node) {
6966
- return dq_element_default.fromFrame(node, options, frameSpec);
7055
+ return node_serializer_default.mergeSpecs(node, frameSpec);
6967
7056
  });
6968
7057
  });
6969
7058
  });
6970
7059
  }
6971
7060
  function spliceNodes(target, to2) {
6972
7061
  var firstFromFrame = to2[0].node;
6973
- for (var _i2 = 0; _i2 < target.length; _i2++) {
6974
- var node = target[_i2].node;
7062
+ for (var _i3 = 0; _i3 < target.length; _i3++) {
7063
+ var node = target[_i3].node;
6975
7064
  var resultSort = nodeIndexSort(node.nodeIndexes, firstFromFrame.nodeIndexes);
6976
7065
  if (resultSort > 0 || resultSort === 0 && firstFromFrame.selector.length < node.selector.length) {
6977
- target.splice.apply(target, [ _i2, 0 ].concat(_toConsumableArray(to2)));
7066
+ target.splice.apply(target, [ _i3, 0 ].concat(_toConsumableArray(to2)));
6978
7067
  return;
6979
7068
  }
6980
7069
  }
@@ -6999,7 +7088,7 @@
6999
7088
  if (!results || !results.length) {
7000
7089
  return;
7001
7090
  }
7002
- var frameSpec = getFrameSpec(frameResult, options);
7091
+ var frameSpec = getFrameSpec(frameResult);
7003
7092
  results.forEach(function(ruleResult) {
7004
7093
  if (ruleResult.nodes && frameSpec) {
7005
7094
  pushFrame(ruleResult.nodes, options, frameSpec);
@@ -7027,14 +7116,14 @@
7027
7116
  var nodeIndexesA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
7028
7117
  var nodeIndexesB = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
7029
7118
  var length = Math.max(nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA.length, nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB.length);
7030
- for (var _i3 = 0; _i3 < length; _i3++) {
7031
- var indexA = nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA[_i3];
7032
- var indexB = nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB[_i3];
7119
+ for (var _i4 = 0; _i4 < length; _i4++) {
7120
+ var indexA = nodeIndexesA === null || nodeIndexesA === void 0 ? void 0 : nodeIndexesA[_i4];
7121
+ var indexB = nodeIndexesB === null || nodeIndexesB === void 0 ? void 0 : nodeIndexesB[_i4];
7033
7122
  if (typeof indexA !== 'number' || isNaN(indexA)) {
7034
- return _i3 === 0 ? 1 : -1;
7123
+ return _i4 === 0 ? 1 : -1;
7035
7124
  }
7036
7125
  if (typeof indexB !== 'number' || isNaN(indexB)) {
7037
- return _i3 === 0 ? -1 : 1;
7126
+ return _i4 === 0 ? -1 : 1;
7038
7127
  }
7039
7128
  if (indexA !== indexB) {
7040
7129
  return indexA - indexB;
@@ -7043,19 +7132,22 @@
7043
7132
  return 0;
7044
7133
  }
7045
7134
  var merge_results_default = mergeResults;
7046
- function getFrameSpec(frameResult, options) {
7135
+ function getFrameSpec(frameResult) {
7047
7136
  if (frameResult.frameElement) {
7048
- return new dq_element_default(frameResult.frameElement, options);
7137
+ return node_serializer_default.toSpec(frameResult.frameElement);
7049
7138
  } else if (frameResult.frameSpec) {
7050
7139
  return frameResult.frameSpec;
7051
7140
  }
7052
7141
  return null;
7053
7142
  }
7054
7143
  function _collectResultsFromFrames(parentContent, options, command, parameter, resolve, reject) {
7144
+ options = _extends({}, options, {
7145
+ elementRef: false
7146
+ });
7055
7147
  var q = queue_default();
7056
7148
  var frames = parentContent.frames;
7057
- frames.forEach(function(_ref6) {
7058
- var frameElement = _ref6.node, context = _objectWithoutProperties(_ref6, _excluded);
7149
+ frames.forEach(function(_ref9) {
7150
+ var frameElement = _ref9.node, context = _objectWithoutProperties(_ref9, _excluded3);
7059
7151
  q.defer(function(res, rej) {
7060
7152
  var params = {
7061
7153
  options: options,
@@ -7102,8 +7194,8 @@
7102
7194
  if (!source || _typeof(source) !== 'object' || Array.isArray(source)) {
7103
7195
  return;
7104
7196
  }
7105
- for (var _i4 = 0, _Object$keys = Object.keys(source); _i4 < _Object$keys.length; _i4++) {
7106
- var key = _Object$keys[_i4];
7197
+ for (var _i5 = 0, _Object$keys = Object.keys(source); _i5 < _Object$keys.length; _i5++) {
7198
+ var key = _Object$keys[_i5];
7107
7199
  if (!target.hasOwnProperty(key) || _typeof(source[key]) !== 'object' || Array.isArray(target[key])) {
7108
7200
  target[key] = source[key];
7109
7201
  } else {
@@ -7184,6 +7276,12 @@
7184
7276
  getTabbableElements: function getTabbableElements() {
7185
7277
  return get_tabbable_elements_default;
7186
7278
  },
7279
+ getTargetRects: function getTargetRects() {
7280
+ return get_target_rects_default;
7281
+ },
7282
+ getTargetSize: function getTargetSize() {
7283
+ return get_target_size_default;
7284
+ },
7187
7285
  getTextElementStack: function getTextElementStack() {
7188
7286
  return get_text_element_stack_default;
7189
7287
  },
@@ -7293,8 +7391,8 @@
7293
7391
  }
7294
7392
  var get_root_node_default = getRootNode;
7295
7393
  var get_root_node_default2 = get_root_node_default;
7296
- function findElmsInContext(_ref7) {
7297
- var context = _ref7.context, value = _ref7.value, attr = _ref7.attr, _ref7$elm = _ref7.elm, elm = _ref7$elm === void 0 ? '' : _ref7$elm;
7394
+ function findElmsInContext(_ref10) {
7395
+ var context = _ref10.context, value = _ref10.value, attr = _ref10.attr, _ref10$elm = _ref10.elm, elm = _ref10$elm === void 0 ? '' : _ref10$elm;
7298
7396
  var root;
7299
7397
  var escapedValue = escape_selector_default(value);
7300
7398
  if (context.nodeType === 9 || context.nodeType === 11) {
@@ -7361,11 +7459,11 @@
7361
7459
  return vNode.getComputedStylePropertyValue('display') === 'none';
7362
7460
  }
7363
7461
  function visibilityHidden(vNode) {
7364
- var _ref8 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref8.isAncestor;
7462
+ var _ref11 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref11.isAncestor;
7365
7463
  return !isAncestor && [ 'hidden', 'collapse' ].includes(vNode.getComputedStylePropertyValue('visibility'));
7366
7464
  }
7367
7465
  function contentVisibiltyHidden(vNode) {
7368
- var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref9.isAncestor;
7466
+ var _ref12 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref12.isAncestor;
7369
7467
  return !!isAncestor && vNode.getComputedStylePropertyValue('content-visibility') === 'hidden';
7370
7468
  }
7371
7469
  function ariaHidden(vNode) {
@@ -7381,7 +7479,7 @@
7381
7479
  return !!scroll && (elHeight === 0 || elWidth === 0);
7382
7480
  }
7383
7481
  function overflowHidden(vNode) {
7384
- var _ref10 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref10.isAncestor;
7482
+ var _ref13 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref13.isAncestor;
7385
7483
  if (isAncestor) {
7386
7484
  return false;
7387
7485
  }
@@ -7460,7 +7558,7 @@
7460
7558
  }
7461
7559
  var hiddenMethods = [ displayHidden, visibilityHidden, contentVisibiltyHidden, detailsHidden ];
7462
7560
  function _isHiddenForEveryone(vNode) {
7463
- var _ref11 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref11.skipAncestors, _ref11$isAncestor = _ref11.isAncestor, isAncestor = _ref11$isAncestor === void 0 ? false : _ref11$isAncestor;
7561
+ var _ref14 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref14.skipAncestors, _ref14$isAncestor = _ref14.isAncestor, isAncestor = _ref14$isAncestor === void 0 ? false : _ref14$isAncestor;
7464
7562
  vNode = _nodeLookup(vNode).vNode;
7465
7563
  if (skipAncestors) {
7466
7564
  return isHiddenSelf(vNode, isAncestor);
@@ -7574,7 +7672,7 @@
7574
7672
  return true;
7575
7673
  }
7576
7674
  function isOffscreen(element) {
7577
- var _ref12 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref12.isAncestor;
7675
+ var _ref15 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, isAncestor = _ref15.isAncestor;
7578
7676
  if (isAncestor) {
7579
7677
  return false;
7580
7678
  }
@@ -7640,9 +7738,9 @@
7640
7738
  var left = Math.min(rectA.left, rectB.left);
7641
7739
  return new window.DOMRect(left, top, right - left, bottom - top);
7642
7740
  }
7643
- function _isPointInRect(_ref13, _ref14) {
7644
- var x = _ref13.x, y = _ref13.y;
7645
- var top = _ref14.top, right = _ref14.right, bottom = _ref14.bottom, left = _ref14.left;
7741
+ function _isPointInRect(_ref16, _ref17) {
7742
+ var x = _ref16.x, y = _ref16.y;
7743
+ var top = _ref17.top, right = _ref17.right, bottom = _ref17.bottom, left = _ref17.left;
7646
7744
  return y >= top && x <= right && y <= bottom && x >= left;
7647
7745
  }
7648
7746
  var math_exports = {};
@@ -7665,6 +7763,9 @@
7665
7763
  isPointInRect: function isPointInRect() {
7666
7764
  return _isPointInRect;
7667
7765
  },
7766
+ rectHasMinimumSize: function rectHasMinimumSize() {
7767
+ return _rectHasMinimumSize;
7768
+ },
7668
7769
  rectsOverlap: function rectsOverlap() {
7669
7770
  return _rectsOverlap;
7670
7771
  },
@@ -7682,134 +7783,74 @@
7682
7783
  }
7683
7784
  return new window.DOMRect(leftX, topY, rightX - leftX, bottomY - topY);
7684
7785
  }
7685
- function _getOffset(vNodeA, vNodeB) {
7686
- var rectA = vNodeA.boundingClientRect;
7687
- var rectB = vNodeB.boundingClientRect;
7688
- var pointA = getFarthestPoint(rectA, rectB);
7689
- var pointB = getClosestPoint(pointA, rectA, rectB);
7690
- return pointDistance(pointA, pointB);
7691
- }
7692
- function getFarthestPoint(rectA, rectB) {
7693
- var dimensionProps = [ [ 'x', 'left', 'right', 'width' ], [ 'y', 'top', 'bottom', 'height' ] ];
7694
- var farthestPoint = {};
7695
- dimensionProps.forEach(function(_ref15) {
7696
- var _ref16 = _slicedToArray(_ref15, 4), axis = _ref16[0], start = _ref16[1], end = _ref16[2], diameter = _ref16[3];
7697
- if (rectB[start] < rectA[start] && rectB[end] > rectA[end]) {
7698
- farthestPoint[axis] = rectA[start] + rectA[diameter] / 2;
7699
- return;
7700
- }
7701
- var centerB = rectB[start] + rectB[diameter] / 2;
7702
- var startDistance = Math.abs(centerB - rectA[start]);
7703
- var endDistance = Math.abs(centerB - rectA[end]);
7704
- if (startDistance >= endDistance) {
7705
- farthestPoint[axis] = rectA[start];
7706
- } else {
7707
- farthestPoint[axis] = rectA[end];
7708
- }
7709
- });
7710
- return farthestPoint;
7786
+ function _getRectCenter(_ref18) {
7787
+ var left = _ref18.left, top = _ref18.top, width = _ref18.width, height = _ref18.height;
7788
+ return new window.DOMPoint(left + width / 2, top + height / 2);
7711
7789
  }
7712
- function getClosestPoint(_ref17, ownRect, adjacentRect) {
7713
- var x = _ref17.x, y = _ref17.y;
7714
- if (pointInRect({
7715
- x: x,
7716
- y: y
7717
- }, adjacentRect)) {
7718
- var closestPoint = getCornerInAdjacentRect({
7719
- x: x,
7720
- y: y
7721
- }, ownRect, adjacentRect);
7722
- if (closestPoint !== null) {
7723
- return closestPoint;
7724
- }
7725
- adjacentRect = ownRect;
7726
- }
7727
- var _adjacentRect = adjacentRect, top = _adjacentRect.top, right = _adjacentRect.right, bottom = _adjacentRect.bottom, left = _adjacentRect.left;
7728
- var xAligned = x >= left && x <= right;
7729
- var yAligned = y >= top && y <= bottom;
7730
- var closestX = Math.abs(left - x) < Math.abs(right - x) ? left : right;
7731
- var closestY = Math.abs(top - y) < Math.abs(bottom - y) ? top : bottom;
7732
- if (!xAligned && yAligned) {
7733
- return {
7734
- x: closestX,
7735
- y: y
7736
- };
7737
- } else if (xAligned && !yAligned) {
7738
- return {
7739
- x: x,
7740
- y: closestY
7741
- };
7742
- } else if (!xAligned && !yAligned) {
7743
- return {
7744
- x: closestX,
7745
- y: closestY
7746
- };
7790
+ var roundingMargin = .05;
7791
+ function _rectHasMinimumSize(minSize, _ref19) {
7792
+ var width = _ref19.width, height = _ref19.height;
7793
+ return width + roundingMargin >= minSize && height + roundingMargin >= minSize;
7794
+ }
7795
+ function _getOffset(vTarget, vNeighbor) {
7796
+ var minRadiusNeighbour = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 12;
7797
+ var targetRects = get_target_rects_default(vTarget);
7798
+ var neighborRects = get_target_rects_default(vNeighbor);
7799
+ if (!targetRects.length || !neighborRects.length) {
7800
+ return 0;
7747
7801
  }
7748
- if (Math.abs(x - closestX) < Math.abs(y - closestY)) {
7749
- return {
7750
- x: closestX,
7751
- y: y
7752
- };
7753
- } else {
7754
- return {
7755
- x: x,
7756
- y: closestY
7757
- };
7802
+ var targetBoundingBox = targetRects.reduce(_getBoundingRect);
7803
+ var targetCenter = _getRectCenter(targetBoundingBox);
7804
+ var minDistance = Infinity;
7805
+ var _iterator2 = _createForOfIteratorHelper(neighborRects), _step2;
7806
+ try {
7807
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
7808
+ var rect = _step2.value;
7809
+ if (_isPointInRect(targetCenter, rect)) {
7810
+ return 0;
7811
+ }
7812
+ var closestPoint = getClosestPoint(targetCenter, rect);
7813
+ var distance2 = pointDistance(targetCenter, closestPoint);
7814
+ minDistance = Math.min(minDistance, distance2);
7815
+ }
7816
+ } catch (err) {
7817
+ _iterator2.e(err);
7818
+ } finally {
7819
+ _iterator2.f();
7758
7820
  }
7759
- }
7760
- function pointDistance(pointA, pointB) {
7761
- var xDistance = Math.abs(pointA.x - pointB.x);
7762
- var yDistance = Math.abs(pointA.y - pointB.y);
7763
- if (!xDistance || !yDistance) {
7764
- return xDistance || yDistance;
7765
- }
7766
- return Math.sqrt(Math.pow(xDistance, 2) + Math.pow(yDistance, 2));
7767
- }
7768
- function pointInRect(_ref18, rect) {
7769
- var x = _ref18.x, y = _ref18.y;
7770
- return y >= rect.top && x <= rect.right && y <= rect.bottom && x >= rect.left;
7771
- }
7772
- function getCornerInAdjacentRect(_ref19, ownRect, adjacentRect) {
7773
- var x = _ref19.x, y = _ref19.y;
7774
- var closestX, closestY;
7775
- if (x === ownRect.left && ownRect.right < adjacentRect.right) {
7776
- closestX = ownRect.right;
7777
- } else if (x === ownRect.right && ownRect.left > adjacentRect.left) {
7778
- closestX = ownRect.left;
7779
- }
7780
- if (y === ownRect.top && ownRect.bottom < adjacentRect.bottom) {
7781
- closestY = ownRect.bottom;
7782
- } else if (y === ownRect.bottom && ownRect.top > adjacentRect.top) {
7783
- closestY = ownRect.top;
7784
- }
7785
- if (!closestX && !closestY) {
7786
- return null;
7787
- } else if (!closestY) {
7788
- return {
7789
- x: closestX,
7790
- y: y
7791
- };
7792
- } else if (!closestX) {
7793
- return {
7794
- x: x,
7795
- y: closestY
7796
- };
7821
+ var neighborTargetSize = get_target_size_default(vNeighbor);
7822
+ if (_rectHasMinimumSize(minRadiusNeighbour * 2, neighborTargetSize)) {
7823
+ return minDistance;
7824
+ }
7825
+ var neighborBoundingBox = neighborRects.reduce(_getBoundingRect);
7826
+ var neighborCenter = _getRectCenter(neighborBoundingBox);
7827
+ var centerDistance = pointDistance(targetCenter, neighborCenter) - minRadiusNeighbour;
7828
+ return Math.max(0, Math.min(minDistance, centerDistance));
7829
+ }
7830
+ function getClosestPoint(point, rect) {
7831
+ var x;
7832
+ var y;
7833
+ if (point.x < rect.left) {
7834
+ x = rect.left;
7835
+ } else if (point.x > rect.right) {
7836
+ x = rect.right;
7837
+ } else {
7838
+ x = point.x;
7797
7839
  }
7798
- if (Math.abs(x - closestX) < Math.abs(y - closestY)) {
7799
- return {
7800
- x: closestX,
7801
- y: y
7802
- };
7840
+ if (point.y < rect.top) {
7841
+ y = rect.top;
7842
+ } else if (point.y > rect.bottom) {
7843
+ y = rect.bottom;
7803
7844
  } else {
7804
- return {
7805
- x: x,
7806
- y: closestY
7807
- };
7845
+ y = point.y;
7808
7846
  }
7847
+ return {
7848
+ x: x,
7849
+ y: y
7850
+ };
7809
7851
  }
7810
- function _getRectCenter(_ref20) {
7811
- var left = _ref20.left, top = _ref20.top, width = _ref20.width, height = _ref20.height;
7812
- return new window.DOMPoint(left + width / 2, top + height / 2);
7852
+ function pointDistance(pointA, pointB) {
7853
+ return Math.hypot(pointA.x - pointB.x, pointA.y - pointB.y);
7813
7854
  }
7814
7855
  function _hasVisualOverlap(vNodeA, vNodeB) {
7815
7856
  var rectA = vNodeA.boundingClientRect;
@@ -7821,21 +7862,21 @@
7821
7862
  }
7822
7863
  function _splitRects(outerRect, overlapRects) {
7823
7864
  var uniqueRects = [ outerRect ];
7824
- var _iterator2 = _createForOfIteratorHelper(overlapRects), _step2;
7865
+ var _iterator3 = _createForOfIteratorHelper(overlapRects), _step3;
7825
7866
  try {
7826
7867
  var _loop3 = function _loop3() {
7827
- var overlapRect = _step2.value;
7868
+ var overlapRect = _step3.value;
7828
7869
  uniqueRects = uniqueRects.reduce(function(rects, inputRect) {
7829
7870
  return rects.concat(splitRect(inputRect, overlapRect));
7830
7871
  }, []);
7831
7872
  };
7832
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
7873
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
7833
7874
  _loop3();
7834
7875
  }
7835
7876
  } catch (err) {
7836
- _iterator2.e(err);
7877
+ _iterator3.e(err);
7837
7878
  } finally {
7838
- _iterator2.f();
7879
+ _iterator3.f();
7839
7880
  }
7840
7881
  return uniqueRects;
7841
7882
  }
@@ -7877,6 +7918,9 @@
7877
7918
  });
7878
7919
  }
7879
7920
  if (rects.length === 0) {
7921
+ if (isEnclosedRect(inputRect, clipRect)) {
7922
+ return [];
7923
+ }
7880
7924
  rects.push(inputRect);
7881
7925
  }
7882
7926
  return rects.map(computeRect);
@@ -7885,12 +7929,10 @@
7885
7929
  return num > min && num < max2;
7886
7930
  };
7887
7931
  function computeRect(baseRect) {
7888
- return _extends({}, baseRect, {
7889
- x: baseRect.left,
7890
- y: baseRect.top,
7891
- height: baseRect.bottom - baseRect.top,
7892
- width: baseRect.right - baseRect.left
7893
- });
7932
+ return new window.DOMRect(baseRect.left, baseRect.top, baseRect.right - baseRect.left, baseRect.bottom - baseRect.top);
7933
+ }
7934
+ function isEnclosedRect(rectA, rectB) {
7935
+ return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;
7894
7936
  }
7895
7937
  var ROOT_LEVEL = 0;
7896
7938
  var DEFAULT_LEVEL = .1;
@@ -8027,8 +8069,8 @@
8027
8069
  function createStackingOrder(vNode, parentVNode, treeOrder) {
8028
8070
  var stackingOrder = parentVNode._stackingOrder.slice();
8029
8071
  if (isStackingContext(vNode, parentVNode)) {
8030
- var index = stackingOrder.findIndex(function(_ref21) {
8031
- var stackLevel2 = _ref21.stackLevel;
8072
+ var index = stackingOrder.findIndex(function(_ref20) {
8073
+ var stackLevel2 = _ref20.stackLevel;
8032
8074
  return [ ROOT_LEVEL, FLOAT_LEVEL, POSITION_LEVEL ].includes(stackLevel2);
8033
8075
  });
8034
8076
  if (index !== -1) {
@@ -8124,9 +8166,9 @@
8124
8166
  }
8125
8167
  }, {
8126
8168
  key: 'getCellFromPoint',
8127
- value: function getCellFromPoint(_ref22) {
8169
+ value: function getCellFromPoint(_ref21) {
8128
8170
  var _this$cells, _row;
8129
- var x = _ref22.x, y = _ref22.y;
8171
+ var x = _ref21.x, y = _ref21.y;
8130
8172
  assert_default(this.boundaries, 'Grid does not have cells added');
8131
8173
  var rowIndex = this.toGridIndex(y);
8132
8174
  var colIndex = this.toGridIndex(x);
@@ -8156,8 +8198,8 @@
8156
8198
  }
8157
8199
  }, {
8158
8200
  key: 'getGridPositionOfRect',
8159
- value: function getGridPositionOfRect(_ref23) {
8160
- var top = _ref23.top, right = _ref23.right, bottom = _ref23.bottom, left = _ref23.left;
8201
+ value: function getGridPositionOfRect(_ref22) {
8202
+ var top = _ref22.top, right = _ref22.right, bottom = _ref22.bottom, left = _ref22.left;
8161
8203
  var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
8162
8204
  top = this.toGridIndex(top - margin);
8163
8205
  right = this.toGridIndex(right + margin - 1);
@@ -8172,7 +8214,7 @@
8172
8214
  var _matrix$_negativeInde;
8173
8215
  (_matrix$_negativeInde = matrix._negativeIndex) !== null && _matrix$_negativeInde !== void 0 ? _matrix$_negativeInde : matrix._negativeIndex = 0;
8174
8216
  if (start < matrix._negativeIndex) {
8175
- for (var _i5 = 0; _i5 < matrix._negativeIndex - start; _i5++) {
8217
+ for (var _i6 = 0; _i6 < matrix._negativeIndex - start; _i6++) {
8176
8218
  matrix.splice(0, 0, []);
8177
8219
  }
8178
8220
  matrix._negativeIndex = start;
@@ -8198,18 +8240,18 @@
8198
8240
  var gridPosition = grid.getGridPositionOfRect(rect, margin);
8199
8241
  var neighbors = [];
8200
8242
  grid.loopGridPosition(gridPosition, function(vNeighbors) {
8201
- var _iterator3 = _createForOfIteratorHelper(vNeighbors), _step3;
8243
+ var _iterator4 = _createForOfIteratorHelper(vNeighbors), _step4;
8202
8244
  try {
8203
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
8204
- var vNeighbor = _step3.value;
8245
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {
8246
+ var vNeighbor = _step4.value;
8205
8247
  if (vNeighbor && vNeighbor !== vNode && !neighbors.includes(vNeighbor) && selfIsFixed === hasFixedPosition(vNeighbor)) {
8206
8248
  neighbors.push(vNeighbor);
8207
8249
  }
8208
8250
  }
8209
8251
  } catch (err) {
8210
- _iterator3.e(err);
8252
+ _iterator4.e(err);
8211
8253
  } finally {
8212
- _iterator3.f();
8254
+ _iterator4.f();
8213
8255
  }
8214
8256
  });
8215
8257
  return neighbors;
@@ -8246,7 +8288,7 @@
8246
8288
  }
8247
8289
  return (_dialogs$find = dialogs.find(function(dialog) {
8248
8290
  var _getNodeFromGrid;
8249
- var _ref24 = (_getNodeFromGrid = getNodeFromGrid(dialog)) !== null && _getNodeFromGrid !== void 0 ? _getNodeFromGrid : {}, vNode = _ref24.vNode, rect = _ref24.rect;
8291
+ var _ref23 = (_getNodeFromGrid = getNodeFromGrid(dialog)) !== null && _getNodeFromGrid !== void 0 ? _getNodeFromGrid : {}, vNode = _ref23.vNode, rect = _ref23.rect;
8250
8292
  if (!vNode) {
8251
8293
  return false;
8252
8294
  }
@@ -8272,8 +8314,8 @@
8272
8314
  if (!cells) {
8273
8315
  continue;
8274
8316
  }
8275
- for (var _i6 = 0; _i6 < cells.length; _i6++) {
8276
- var vNode = cells[_i6];
8317
+ for (var _i7 = 0; _i7 < cells.length; _i7++) {
8318
+ var vNode = cells[_i7];
8277
8319
  var rect = vNode.boundingClientRect;
8278
8320
  var intersection = _getIntersectionRect(rect, viewRect);
8279
8321
  if (vNode.props.nodeName !== 'html' && vNode !== dialog && vNode.getComputedStylePropertyValue('pointer-events') !== 'none' && intersection) {
@@ -8287,7 +8329,7 @@
8287
8329
  }
8288
8330
  }
8289
8331
  function _isInert(vNode) {
8290
- var _ref25 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref25.skipAncestors, isAncestor = _ref25.isAncestor;
8332
+ var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, skipAncestors = _ref24.skipAncestors, isAncestor = _ref24.isAncestor;
8291
8333
  if (skipAncestors) {
8292
8334
  return isInertSelf(vNode, isAncestor);
8293
8335
  }
@@ -8415,20 +8457,20 @@
8415
8457
  function _visuallySort(a2, b2) {
8416
8458
  _createGrid();
8417
8459
  var length = Math.max(a2._stackingOrder.length, b2._stackingOrder.length);
8418
- for (var _i7 = 0; _i7 < length; _i7++) {
8419
- if (typeof b2._stackingOrder[_i7] === 'undefined') {
8460
+ for (var _i8 = 0; _i8 < length; _i8++) {
8461
+ if (typeof b2._stackingOrder[_i8] === 'undefined') {
8420
8462
  return -1;
8421
- } else if (typeof a2._stackingOrder[_i7] === 'undefined') {
8463
+ } else if (typeof a2._stackingOrder[_i8] === 'undefined') {
8422
8464
  return 1;
8423
8465
  }
8424
- if (b2._stackingOrder[_i7].stackLevel > a2._stackingOrder[_i7].stackLevel) {
8466
+ if (b2._stackingOrder[_i8].stackLevel > a2._stackingOrder[_i8].stackLevel) {
8425
8467
  return 1;
8426
8468
  }
8427
- if (b2._stackingOrder[_i7].stackLevel < a2._stackingOrder[_i7].stackLevel) {
8469
+ if (b2._stackingOrder[_i8].stackLevel < a2._stackingOrder[_i8].stackLevel) {
8428
8470
  return -1;
8429
8471
  }
8430
- if (b2._stackingOrder[_i7].treeOrder !== a2._stackingOrder[_i7].treeOrder) {
8431
- return b2._stackingOrder[_i7].treeOrder - a2._stackingOrder[_i7].treeOrder;
8472
+ if (b2._stackingOrder[_i8].treeOrder !== a2._stackingOrder[_i8].treeOrder) {
8473
+ return b2._stackingOrder[_i8].treeOrder - a2._stackingOrder[_i8].treeOrder;
8432
8474
  }
8433
8475
  }
8434
8476
  var aNode = a2.actualNode;
@@ -8537,6 +8579,96 @@
8537
8579
  return tabbableElements;
8538
8580
  }
8539
8581
  var get_tabbable_elements_default = getTabbableElements;
8582
+ function isNativelyFocusable(el) {
8583
+ var _nodeLookup4 = _nodeLookup(el), vNode = _nodeLookup4.vNode;
8584
+ if (!vNode || focus_disabled_default(vNode)) {
8585
+ return false;
8586
+ }
8587
+ switch (vNode.props.nodeName) {
8588
+ case 'a':
8589
+ case 'area':
8590
+ if (vNode.hasAttr('href')) {
8591
+ return true;
8592
+ }
8593
+ break;
8594
+
8595
+ case 'input':
8596
+ return vNode.props.type !== 'hidden';
8597
+
8598
+ case 'textarea':
8599
+ case 'select':
8600
+ case 'summary':
8601
+ case 'button':
8602
+ return true;
8603
+
8604
+ case 'details':
8605
+ return !query_selector_all_default(vNode, 'summary').length;
8606
+ }
8607
+ return false;
8608
+ }
8609
+ var is_natively_focusable_default = isNativelyFocusable;
8610
+ function _isFocusable(el) {
8611
+ var _nodeLookup5 = _nodeLookup(el), vNode = _nodeLookup5.vNode;
8612
+ if (vNode.props.nodeType !== 1) {
8613
+ return false;
8614
+ }
8615
+ if (focus_disabled_default(vNode)) {
8616
+ return false;
8617
+ } else if (is_natively_focusable_default(vNode)) {
8618
+ return true;
8619
+ }
8620
+ var tabindex = vNode.attr('tabindex');
8621
+ if (tabindex && !isNaN(parseInt(tabindex, 10))) {
8622
+ return true;
8623
+ }
8624
+ return false;
8625
+ }
8626
+ function _isInTabOrder(el) {
8627
+ var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode;
8628
+ if (vNode.props.nodeType !== 1) {
8629
+ return false;
8630
+ }
8631
+ var tabindex = parseInt(vNode.attr('tabindex', 10));
8632
+ if (tabindex <= -1) {
8633
+ return false;
8634
+ }
8635
+ return _isFocusable(vNode);
8636
+ }
8637
+ var get_target_rects_default = memoize_default(getTargetRects);
8638
+ function getTargetRects(vNode) {
8639
+ var nodeRect = vNode.boundingClientRect;
8640
+ var overlappingVNodes = _findNearbyElms(vNode).filter(function(vNeighbor) {
8641
+ return _hasVisualOverlap(vNode, vNeighbor) && vNeighbor.getComputedStylePropertyValue('pointer-events') !== 'none' && !isDescendantNotInTabOrder(vNode, vNeighbor);
8642
+ });
8643
+ if (!overlappingVNodes.length) {
8644
+ return [ nodeRect ];
8645
+ }
8646
+ var obscuringRects = overlappingVNodes.map(function(_ref25) {
8647
+ var rect = _ref25.boundingClientRect;
8648
+ return rect;
8649
+ });
8650
+ return _splitRects(nodeRect, obscuringRects);
8651
+ }
8652
+ function isDescendantNotInTabOrder(vAncestor, vNode) {
8653
+ return vAncestor.actualNode.contains(vNode.actualNode) && !_isInTabOrder(vNode);
8654
+ }
8655
+ var get_target_size_default = memoize_default(getTargetSize);
8656
+ function getTargetSize(vNode, minSize) {
8657
+ var rects = get_target_rects_default(vNode);
8658
+ return getLargestRect(rects, minSize);
8659
+ }
8660
+ function getLargestRect(rects, minSize) {
8661
+ return rects.reduce(function(rectA, rectB) {
8662
+ var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);
8663
+ var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);
8664
+ if (rectAisMinimum !== rectBisMinimum) {
8665
+ return rectAisMinimum ? rectA : rectB;
8666
+ }
8667
+ var areaA = rectA.width * rectA.height;
8668
+ var areaB = rectB.width * rectB.height;
8669
+ return areaA > areaB ? rectA : rectB;
8670
+ });
8671
+ }
8540
8672
  var text_exports = {};
8541
8673
  __export(text_exports, {
8542
8674
  accessibleText: function accessibleText() {
@@ -8634,7 +8766,7 @@
8634
8766
  var accessible_text_default = accessibleText;
8635
8767
  function arialabelledbyText(element) {
8636
8768
  var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8637
- var _nodeLookup4 = _nodeLookup(element), vNode = _nodeLookup4.vNode;
8769
+ var _nodeLookup7 = _nodeLookup(element), vNode = _nodeLookup7.vNode;
8638
8770
  if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {
8639
8771
  return '';
8640
8772
  }
@@ -8658,7 +8790,7 @@
8658
8790
  }
8659
8791
  var arialabelledby_text_default = arialabelledbyText;
8660
8792
  function _arialabelText(element) {
8661
- var _nodeLookup5 = _nodeLookup(element), vNode = _nodeLookup5.vNode;
8793
+ var _nodeLookup8 = _nodeLookup(element), vNode = _nodeLookup8.vNode;
8662
8794
  if ((vNode === null || vNode === void 0 ? void 0 : vNode.props.nodeType) !== 1) {
8663
8795
  return '';
8664
8796
  }
@@ -10681,7 +10813,7 @@
10681
10813
  }
10682
10814
  var get_cell_position_default = memoize_default(getCellPosition);
10683
10815
  function _getScope(el) {
10684
- var _nodeLookup6 = _nodeLookup(el), vNode = _nodeLookup6.vNode, cell = _nodeLookup6.domNode;
10816
+ var _nodeLookup9 = _nodeLookup(el), vNode = _nodeLookup9.vNode, cell = _nodeLookup9.domNode;
10685
10817
  var scope = vNode.attr('scope');
10686
10818
  var role = vNode.attr('role');
10687
10819
  if (![ 'td', 'th' ].includes(vNode.props.nodeName)) {
@@ -10731,50 +10863,6 @@
10731
10863
  return str.replace(/\r\n/g, '\n').replace(/\u00A0/g, ' ').replace(/[\s]{2,}/g, ' ').trim();
10732
10864
  }
10733
10865
  var sanitize_default = sanitize;
10734
- function isNativelyFocusable(el) {
10735
- var _nodeLookup7 = _nodeLookup(el), vNode = _nodeLookup7.vNode;
10736
- if (!vNode || focus_disabled_default(vNode)) {
10737
- return false;
10738
- }
10739
- switch (vNode.props.nodeName) {
10740
- case 'a':
10741
- case 'area':
10742
- if (vNode.hasAttr('href')) {
10743
- return true;
10744
- }
10745
- break;
10746
-
10747
- case 'input':
10748
- return vNode.props.type !== 'hidden';
10749
-
10750
- case 'textarea':
10751
- case 'select':
10752
- case 'summary':
10753
- case 'button':
10754
- return true;
10755
-
10756
- case 'details':
10757
- return !query_selector_all_default(vNode, 'summary').length;
10758
- }
10759
- return false;
10760
- }
10761
- var is_natively_focusable_default = isNativelyFocusable;
10762
- function _isFocusable(el) {
10763
- var _nodeLookup8 = _nodeLookup(el), vNode = _nodeLookup8.vNode;
10764
- if (vNode.props.nodeType !== 1) {
10765
- return false;
10766
- }
10767
- if (focus_disabled_default(vNode)) {
10768
- return false;
10769
- } else if (is_natively_focusable_default(vNode)) {
10770
- return true;
10771
- }
10772
- var tabindex = vNode.attr('tabindex');
10773
- if (tabindex && !isNaN(parseInt(tabindex, 10))) {
10774
- return true;
10775
- }
10776
- return false;
10777
- }
10778
10866
  var getSectioningElementSelector = function getSectioningElementSelector() {
10779
10867
  return cache_default.get('sectioningElementSelector', function() {
10780
10868
  return get_elements_by_content_type_default('sectioning').map(function(nodeName2) {
@@ -11035,15 +11123,15 @@
11035
11123
  if (!standard.variant) {
11036
11124
  return standard;
11037
11125
  }
11038
- var variant = standard.variant, spec = _objectWithoutProperties(standard, _excluded2);
11126
+ var variant = standard.variant, spec = _objectWithoutProperties(standard, _excluded4);
11039
11127
  for (var variantName in variant) {
11040
11128
  if (!variant.hasOwnProperty(variantName) || variantName === 'default') {
11041
11129
  continue;
11042
11130
  }
11043
- var _variant$variantName = variant[variantName], matches4 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, _excluded3);
11131
+ var _variant$variantName = variant[variantName], matches4 = _variant$variantName.matches, props = _objectWithoutProperties(_variant$variantName, _excluded5);
11044
11132
  var matchProperties = Array.isArray(matches4) ? matches4 : [ matches4 ];
11045
- for (var _i8 = 0; _i8 < matchProperties.length && noMatchAccessibleName; _i8++) {
11046
- if (matchProperties[_i8].hasOwnProperty('hasAccessibleName')) {
11133
+ for (var _i9 = 0; _i9 < matchProperties.length && noMatchAccessibleName; _i9++) {
11134
+ if (matchProperties[_i9].hasOwnProperty('hasAccessibleName')) {
11047
11135
  return standard;
11048
11136
  }
11049
11137
  }
@@ -11118,7 +11206,7 @@
11118
11206
  return getInheritedRole(vNode.parent, explicitRoleOptions);
11119
11207
  }
11120
11208
  function resolveImplicitRole(vNode, _ref30) {
11121
- var chromium = _ref30.chromium, explicitRoleOptions = _objectWithoutProperties(_ref30, _excluded4);
11209
+ var chromium = _ref30.chromium, explicitRoleOptions = _objectWithoutProperties(_ref30, _excluded6);
11122
11210
  var implicitRole3 = implicit_role_default(vNode, {
11123
11211
  chromium: chromium
11124
11212
  });
@@ -11139,8 +11227,8 @@
11139
11227
  }
11140
11228
  function resolveRole(node) {
11141
11229
  var _ref31 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11142
- var noImplicit = _ref31.noImplicit, roleOptions = _objectWithoutProperties(_ref31, _excluded5);
11143
- var _nodeLookup9 = _nodeLookup(node), vNode = _nodeLookup9.vNode;
11230
+ var noImplicit = _ref31.noImplicit, roleOptions = _objectWithoutProperties(_ref31, _excluded7);
11231
+ var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;
11144
11232
  if (vNode.props.nodeType !== 1) {
11145
11233
  return null;
11146
11234
  }
@@ -11158,7 +11246,7 @@
11158
11246
  }
11159
11247
  function getRole(node) {
11160
11248
  var _ref32 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11161
- var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, _excluded6);
11249
+ var noPresentational = _ref32.noPresentational, options = _objectWithoutProperties(_ref32, _excluded8);
11162
11250
  var role = resolveRole(node, options);
11163
11251
  if (noPresentational && [ 'presentation', 'none' ].includes(role)) {
11164
11252
  return null;
@@ -11168,7 +11256,7 @@
11168
11256
  var get_role_default = getRole;
11169
11257
  var alwaysTitleElements = [ 'iframe' ];
11170
11258
  function titleText(node) {
11171
- var _nodeLookup10 = _nodeLookup(node), vNode = _nodeLookup10.vNode;
11259
+ var _nodeLookup11 = _nodeLookup(node), vNode = _nodeLookup11.vNode;
11172
11260
  if (vNode.props.nodeType !== 1 || !node.hasAttr('title')) {
11173
11261
  return '';
11174
11262
  }
@@ -11211,163 +11299,9 @@
11211
11299
  return _toConsumableArray(children);
11212
11300
  }
11213
11301
  var get_owned_virtual_default = getOwnedVirtual;
11214
- function subtreeText(virtualNode) {
11215
- var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11216
- var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;
11217
- context.startNode = context.startNode || virtualNode;
11218
- var _context = context, strict = _context.strict, inControlContext = _context.inControlContext, inLabelledByContext = _context.inLabelledByContext;
11219
- var _get_element_spec_def2 = get_element_spec_default(virtualNode, {
11220
- noMatchAccessibleName: true
11221
- }), contentTypes = _get_element_spec_def2.contentTypes;
11222
- if (alreadyProcessed2(virtualNode, context) || virtualNode.props.nodeType !== 1 || contentTypes !== null && contentTypes !== void 0 && contentTypes.includes('embedded')) {
11223
- return '';
11224
- }
11225
- if (!named_from_contents_default(virtualNode, {
11226
- strict: strict
11227
- }) && !context.subtreeDescendant) {
11228
- return '';
11229
- }
11230
- if (!strict) {
11231
- var subtreeDescendant = !inControlContext && !inLabelledByContext;
11232
- context = _extends({
11233
- subtreeDescendant: subtreeDescendant
11234
- }, context);
11235
- }
11236
- return get_owned_virtual_default(virtualNode).reduce(function(contentText, child) {
11237
- return appendAccessibleText(contentText, child, context);
11238
- }, '');
11239
- }
11240
- var phrasingElements = get_elements_by_content_type_default('phrasing').concat([ '#text' ]);
11241
- function appendAccessibleText(contentText, virtualNode, context) {
11242
- var nodeName2 = virtualNode.props.nodeName;
11243
- var contentTextAdd = _accessibleTextVirtual(virtualNode, context);
11244
- if (!contentTextAdd) {
11245
- return contentText;
11246
- }
11247
- if (!phrasingElements.includes(nodeName2)) {
11248
- if (contentTextAdd[0] !== ' ') {
11249
- contentTextAdd += ' ';
11250
- }
11251
- if (contentText && contentText[contentText.length - 1] !== ' ') {
11252
- contentTextAdd = ' ' + contentTextAdd;
11253
- }
11254
- }
11255
- return contentText + contentTextAdd;
11256
- }
11257
- var subtree_text_default = subtreeText;
11258
- function labelText(virtualNode) {
11259
- var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11260
- var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;
11261
- if (context.inControlContext || context.inLabelledByContext || alreadyProcessed2(virtualNode, context)) {
11262
- return '';
11263
- }
11264
- if (!context.startNode) {
11265
- context.startNode = virtualNode;
11266
- }
11267
- var labelContext = _extends({
11268
- inControlContext: true
11269
- }, context);
11270
- var explicitLabels = getExplicitLabels(virtualNode);
11271
- var implicitLabel = closest_default(virtualNode, 'label');
11272
- var labels;
11273
- if (implicitLabel) {
11274
- labels = [].concat(_toConsumableArray(explicitLabels), [ implicitLabel.actualNode ]);
11275
- labels.sort(node_sorter_default);
11276
- } else {
11277
- labels = explicitLabels;
11278
- }
11279
- return labels.map(function(label3) {
11280
- return accessible_text_default(label3, labelContext);
11281
- }).filter(function(text) {
11282
- return text !== '';
11283
- }).join(' ');
11284
- }
11285
- function getExplicitLabels(virtualNode) {
11286
- if (!virtualNode.attr('id')) {
11287
- return [];
11288
- }
11289
- if (!virtualNode.actualNode) {
11290
- throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');
11291
- }
11292
- return find_elms_in_context_default({
11293
- elm: 'label',
11294
- attr: 'for',
11295
- value: virtualNode.attr('id'),
11296
- context: virtualNode.actualNode
11297
- });
11298
- }
11299
- var label_text_default = labelText;
11300
- var defaultButtonValues = {
11301
- submit: 'Submit',
11302
- image: 'Submit',
11303
- reset: 'Reset',
11304
- button: ''
11302
+ var unsupported_default = {
11303
+ accessibleNameFromFieldValue: [ 'progressbar' ]
11305
11304
  };
11306
- var nativeTextMethods = {
11307
- valueText: function valueText(_ref34) {
11308
- var actualNode = _ref34.actualNode;
11309
- return actualNode.value || '';
11310
- },
11311
- buttonDefaultText: function buttonDefaultText(_ref35) {
11312
- var actualNode = _ref35.actualNode;
11313
- return defaultButtonValues[actualNode.type] || '';
11314
- },
11315
- tableCaptionText: descendantText.bind(null, 'caption'),
11316
- figureText: descendantText.bind(null, 'figcaption'),
11317
- svgTitleText: descendantText.bind(null, 'title'),
11318
- fieldsetLegendText: descendantText.bind(null, 'legend'),
11319
- altText: attrText.bind(null, 'alt'),
11320
- tableSummaryText: attrText.bind(null, 'summary'),
11321
- titleText: title_text_default,
11322
- subtreeText: subtree_text_default,
11323
- labelText: label_text_default,
11324
- singleSpace: function singleSpace() {
11325
- return ' ';
11326
- },
11327
- placeholderText: attrText.bind(null, 'placeholder')
11328
- };
11329
- function attrText(attr, vNode) {
11330
- return vNode.attr(attr) || '';
11331
- }
11332
- function descendantText(nodeName2, _ref36, context) {
11333
- var actualNode = _ref36.actualNode;
11334
- nodeName2 = nodeName2.toLowerCase();
11335
- var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');
11336
- var candidate = actualNode.querySelector(nodeNames2);
11337
- if (!candidate || candidate.nodeName.toLowerCase() !== nodeName2) {
11338
- return '';
11339
- }
11340
- return accessible_text_default(candidate, context);
11341
- }
11342
- var native_text_methods_default = nativeTextMethods;
11343
- function _nativeTextAlternative(virtualNode) {
11344
- var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11345
- var actualNode = virtualNode.actualNode;
11346
- if (virtualNode.props.nodeType !== 1 || [ 'presentation', 'none' ].includes(get_role_default(virtualNode))) {
11347
- return '';
11348
- }
11349
- var textMethods = findTextMethods(virtualNode);
11350
- var accessibleName = textMethods.reduce(function(accName, step) {
11351
- return accName || step(virtualNode, context);
11352
- }, '');
11353
- if (context.debug) {
11354
- axe.log(accessibleName || '{empty-value}', actualNode, context);
11355
- }
11356
- return accessibleName;
11357
- }
11358
- function findTextMethods(virtualNode) {
11359
- var elmSpec = get_element_spec_default(virtualNode, {
11360
- noMatchAccessibleName: true
11361
- });
11362
- var methods = elmSpec.namingMethods || [];
11363
- return methods.map(function(methodName) {
11364
- return native_text_methods_default[methodName];
11365
- });
11366
- }
11367
- var unsupported = {
11368
- accessibleNameFromFieldValue: [ 'combobox', 'listbox', 'progressbar' ]
11369
- };
11370
- var unsupported_default = unsupported;
11371
11305
  function _isVisibleToScreenReaders(vNode) {
11372
11306
  vNode = _nodeLookup(vNode).vNode;
11373
11307
  return isVisibleToScreenReadersVirtual(vNode);
@@ -11394,7 +11328,7 @@
11394
11328
  return isVisibleToScreenReadersVirtual(vNode.parent, true);
11395
11329
  });
11396
11330
  function visibleVirtual(element, screenReader, noRecursing) {
11397
- var _nodeLookup11 = _nodeLookup(element), vNode = _nodeLookup11.vNode;
11331
+ var _nodeLookup12 = _nodeLookup(element), vNode = _nodeLookup12.vNode;
11398
11332
  var visibleMethod = screenReader ? _isVisibleToScreenReaders : _isVisibleOnScreen;
11399
11333
  var visible2 = !element.actualNode || element.actualNode && visibleMethod(element);
11400
11334
  var result = vNode.children.map(function(child) {
@@ -11473,71 +11407,225 @@
11473
11407
  return valueString;
11474
11408
  }
11475
11409
  function nativeTextboxValue(node) {
11476
- var _nodeLookup12 = _nodeLookup(node), vNode = _nodeLookup12.vNode;
11410
+ var _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;
11477
11411
  if (is_native_textbox_default(vNode)) {
11478
11412
  return vNode.props.value || '';
11479
11413
  }
11480
11414
  return '';
11481
11415
  }
11482
11416
  function nativeSelectValue(node) {
11483
- var _nodeLookup13 = _nodeLookup(node), vNode = _nodeLookup13.vNode;
11417
+ var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.vNode;
11484
11418
  if (!is_native_select_default(vNode)) {
11485
11419
  return '';
11486
11420
  }
11487
- var options = query_selector_all_default(vNode, 'option');
11488
- var selectedOptions = options.filter(function(option) {
11489
- return option.props.selected;
11490
- });
11491
- if (!selectedOptions.length) {
11492
- selectedOptions.push(options[0]);
11421
+ var options = query_selector_all_default(vNode, 'option');
11422
+ var selectedOptions = options.filter(function(option) {
11423
+ return option.props.selected;
11424
+ });
11425
+ if (!selectedOptions.length) {
11426
+ selectedOptions.push(options[0]);
11427
+ }
11428
+ return selectedOptions.map(function(option) {
11429
+ return visible_virtual_default(option);
11430
+ }).join(' ') || '';
11431
+ }
11432
+ function ariaTextboxValue(node) {
11433
+ var _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode, domNode = _nodeLookup15.domNode;
11434
+ if (!is_aria_textbox_default(vNode)) {
11435
+ return '';
11436
+ }
11437
+ if (!domNode || domNode && !_isHiddenForEveryone(domNode)) {
11438
+ return visible_virtual_default(vNode, true);
11439
+ } else {
11440
+ return domNode.textContent;
11441
+ }
11442
+ }
11443
+ function ariaListboxValue(node, context) {
11444
+ var _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.vNode;
11445
+ if (!is_aria_listbox_default(vNode)) {
11446
+ return '';
11447
+ }
11448
+ var selected = get_owned_virtual_default(vNode).filter(function(owned) {
11449
+ return get_role_default(owned) === 'option' && owned.attr('aria-selected') === 'true';
11450
+ });
11451
+ if (selected.length === 0) {
11452
+ return '';
11453
+ }
11454
+ return _accessibleTextVirtual(selected[0], context);
11455
+ }
11456
+ function ariaComboboxValue(node, context) {
11457
+ var _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.vNode;
11458
+ if (!is_aria_combobox_default(vNode)) {
11459
+ return '';
11460
+ }
11461
+ var listbox = get_owned_virtual_default(vNode).filter(function(elm) {
11462
+ return get_role_default(elm) === 'listbox';
11463
+ })[0];
11464
+ return listbox ? ariaListboxValue(listbox, context) : '';
11465
+ }
11466
+ function ariaRangeValue(node) {
11467
+ var _nodeLookup18 = _nodeLookup(node), vNode = _nodeLookup18.vNode;
11468
+ if (!is_aria_range_default(vNode) || !vNode.hasAttr('aria-valuenow')) {
11469
+ return '';
11470
+ }
11471
+ var valueNow = +vNode.attr('aria-valuenow');
11472
+ return !isNaN(valueNow) ? String(valueNow) : '0';
11473
+ }
11474
+ var form_control_value_default = formControlValue;
11475
+ function subtreeText(virtualNode) {
11476
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11477
+ var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;
11478
+ context.startNode = context.startNode || virtualNode;
11479
+ var _context = context, strict = _context.strict, inControlContext = _context.inControlContext, inLabelledByContext = _context.inLabelledByContext;
11480
+ var role = get_role_default(virtualNode);
11481
+ var _get_element_spec_def2 = get_element_spec_default(virtualNode, {
11482
+ noMatchAccessibleName: true
11483
+ }), contentTypes = _get_element_spec_def2.contentTypes;
11484
+ if (alreadyProcessed2(virtualNode, context) || virtualNode.props.nodeType !== 1 || contentTypes !== null && contentTypes !== void 0 && contentTypes.includes('embedded') || controlValueRoles.includes(role)) {
11485
+ return '';
11486
+ }
11487
+ if (!context.subtreeDescendant && !context.inLabelledByContext && !named_from_contents_default(virtualNode, {
11488
+ strict: strict
11489
+ })) {
11490
+ return '';
11491
+ }
11492
+ if (!strict) {
11493
+ var subtreeDescendant = !inControlContext && !inLabelledByContext;
11494
+ context = _extends({
11495
+ subtreeDescendant: subtreeDescendant
11496
+ }, context);
11497
+ }
11498
+ return get_owned_virtual_default(virtualNode).reduce(function(contentText, child) {
11499
+ return appendAccessibleText(contentText, child, context);
11500
+ }, '');
11501
+ }
11502
+ var phrasingElements = get_elements_by_content_type_default('phrasing').concat([ '#text' ]);
11503
+ function appendAccessibleText(contentText, virtualNode, context) {
11504
+ var nodeName2 = virtualNode.props.nodeName;
11505
+ var contentTextAdd = _accessibleTextVirtual(virtualNode, context);
11506
+ if (!contentTextAdd) {
11507
+ return contentText;
11508
+ }
11509
+ if (!phrasingElements.includes(nodeName2)) {
11510
+ if (contentTextAdd[0] !== ' ') {
11511
+ contentTextAdd += ' ';
11512
+ }
11513
+ if (contentText && contentText[contentText.length - 1] !== ' ') {
11514
+ contentTextAdd = ' ' + contentTextAdd;
11515
+ }
11493
11516
  }
11494
- return selectedOptions.map(function(option) {
11495
- return visible_virtual_default(option);
11496
- }).join(' ') || '';
11517
+ return contentText + contentTextAdd;
11497
11518
  }
11498
- function ariaTextboxValue(node) {
11499
- var _nodeLookup14 = _nodeLookup(node), vNode = _nodeLookup14.vNode, domNode = _nodeLookup14.domNode;
11500
- if (!is_aria_textbox_default(vNode)) {
11519
+ var subtree_text_default = subtreeText;
11520
+ function labelText(virtualNode) {
11521
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11522
+ var alreadyProcessed2 = _accessibleTextVirtual.alreadyProcessed;
11523
+ if (context.inControlContext || context.inLabelledByContext || alreadyProcessed2(virtualNode, context)) {
11501
11524
  return '';
11502
11525
  }
11503
- if (!domNode || domNode && !_isHiddenForEveryone(domNode)) {
11504
- return visible_virtual_default(vNode, true);
11526
+ if (!context.startNode) {
11527
+ context.startNode = virtualNode;
11528
+ }
11529
+ var labelContext = _extends({
11530
+ inControlContext: true
11531
+ }, context);
11532
+ var explicitLabels = getExplicitLabels(virtualNode);
11533
+ var implicitLabel = closest_default(virtualNode, 'label');
11534
+ var labels;
11535
+ if (implicitLabel) {
11536
+ labels = [].concat(_toConsumableArray(explicitLabels), [ implicitLabel.actualNode ]);
11537
+ labels.sort(node_sorter_default);
11505
11538
  } else {
11506
- return domNode.textContent;
11539
+ labels = explicitLabels;
11507
11540
  }
11541
+ return labels.map(function(label3) {
11542
+ return accessible_text_default(label3, labelContext);
11543
+ }).filter(function(text) {
11544
+ return text !== '';
11545
+ }).join(' ');
11508
11546
  }
11509
- function ariaListboxValue(node, context) {
11510
- var _nodeLookup15 = _nodeLookup(node), vNode = _nodeLookup15.vNode;
11511
- if (!is_aria_listbox_default(vNode)) {
11512
- return '';
11547
+ function getExplicitLabels(virtualNode) {
11548
+ if (!virtualNode.attr('id')) {
11549
+ return [];
11513
11550
  }
11514
- var selected = get_owned_virtual_default(vNode).filter(function(owned) {
11515
- return get_role_default(owned) === 'option' && owned.attr('aria-selected') === 'true';
11516
- });
11517
- if (selected.length === 0) {
11518
- return '';
11551
+ if (!virtualNode.actualNode) {
11552
+ throw new TypeError('Cannot resolve explicit label reference for non-DOM nodes');
11519
11553
  }
11520
- return _accessibleTextVirtual(selected[0], context);
11554
+ return find_elms_in_context_default({
11555
+ elm: 'label',
11556
+ attr: 'for',
11557
+ value: virtualNode.attr('id'),
11558
+ context: virtualNode.actualNode
11559
+ });
11521
11560
  }
11522
- function ariaComboboxValue(node, context) {
11523
- var _nodeLookup16 = _nodeLookup(node), vNode = _nodeLookup16.vNode;
11524
- if (!is_aria_combobox_default(vNode)) {
11561
+ var label_text_default = labelText;
11562
+ var defaultButtonValues = {
11563
+ submit: 'Submit',
11564
+ image: 'Submit',
11565
+ reset: 'Reset',
11566
+ button: ''
11567
+ };
11568
+ var nativeTextMethods = {
11569
+ valueText: function valueText(_ref34) {
11570
+ var actualNode = _ref34.actualNode;
11571
+ return actualNode.value || '';
11572
+ },
11573
+ buttonDefaultText: function buttonDefaultText(_ref35) {
11574
+ var actualNode = _ref35.actualNode;
11575
+ return defaultButtonValues[actualNode.type] || '';
11576
+ },
11577
+ tableCaptionText: descendantText.bind(null, 'caption'),
11578
+ figureText: descendantText.bind(null, 'figcaption'),
11579
+ svgTitleText: descendantText.bind(null, 'title'),
11580
+ fieldsetLegendText: descendantText.bind(null, 'legend'),
11581
+ altText: attrText.bind(null, 'alt'),
11582
+ tableSummaryText: attrText.bind(null, 'summary'),
11583
+ titleText: title_text_default,
11584
+ subtreeText: subtree_text_default,
11585
+ labelText: label_text_default,
11586
+ singleSpace: function singleSpace() {
11587
+ return ' ';
11588
+ },
11589
+ placeholderText: attrText.bind(null, 'placeholder')
11590
+ };
11591
+ function attrText(attr, vNode) {
11592
+ return vNode.attr(attr) || '';
11593
+ }
11594
+ function descendantText(nodeName2, _ref36, context) {
11595
+ var actualNode = _ref36.actualNode;
11596
+ nodeName2 = nodeName2.toLowerCase();
11597
+ var nodeNames2 = [ nodeName2, actualNode.nodeName.toLowerCase() ].join(',');
11598
+ var candidate = actualNode.querySelector(nodeNames2);
11599
+ if (!candidate || candidate.nodeName.toLowerCase() !== nodeName2) {
11525
11600
  return '';
11526
11601
  }
11527
- var listbox = get_owned_virtual_default(vNode).filter(function(elm) {
11528
- return get_role_default(elm) === 'listbox';
11529
- })[0];
11530
- return listbox ? ariaListboxValue(listbox, context) : '';
11602
+ return accessible_text_default(candidate, context);
11531
11603
  }
11532
- function ariaRangeValue(node) {
11533
- var _nodeLookup17 = _nodeLookup(node), vNode = _nodeLookup17.vNode;
11534
- if (!is_aria_range_default(vNode) || !vNode.hasAttr('aria-valuenow')) {
11604
+ var native_text_methods_default = nativeTextMethods;
11605
+ function _nativeTextAlternative(virtualNode) {
11606
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
11607
+ var actualNode = virtualNode.actualNode;
11608
+ if (virtualNode.props.nodeType !== 1 || [ 'presentation', 'none' ].includes(get_role_default(virtualNode))) {
11535
11609
  return '';
11536
11610
  }
11537
- var valueNow = +vNode.attr('aria-valuenow');
11538
- return !isNaN(valueNow) ? String(valueNow) : '0';
11611
+ var textMethods = findTextMethods(virtualNode);
11612
+ var accessibleName = textMethods.reduce(function(accName, step) {
11613
+ return accName || step(virtualNode, context);
11614
+ }, '');
11615
+ if (context.debug) {
11616
+ axe.log(accessibleName || '{empty-value}', actualNode, context);
11617
+ }
11618
+ return accessibleName;
11619
+ }
11620
+ function findTextMethods(virtualNode) {
11621
+ var elmSpec = get_element_spec_default(virtualNode, {
11622
+ noMatchAccessibleName: true
11623
+ });
11624
+ var methods = elmSpec.namingMethods || [];
11625
+ return methods.map(function(methodName) {
11626
+ return native_text_methods_default[methodName];
11627
+ });
11539
11628
  }
11540
- var form_control_value_default = formControlValue;
11541
11629
  function getUnicodeNonBmpRegExp() {
11542
11630
  return /[\u1D00-\u1D7F\u1D80-\u1DBF\u1DC0-\u1DFF\u20A0-\u20CF\u20D0-\u20FF\u2100-\u214F\u2150-\u218F\u2190-\u21FF\u2200-\u22FF\u2300-\u23FF\u2400-\u243F\u2440-\u245F\u2460-\u24FF\u2500-\u257F\u2580-\u259F\u25A0-\u25FF\u2600-\u26FF\u2700-\u27BF\uE000-\uF8FF]/g;
11543
11631
  }
@@ -11996,7 +12084,7 @@
11996
12084
  var get_text_element_stack_default = getTextElementStack;
11997
12085
  var visualRoles = [ 'checkbox', 'img', 'meter', 'progressbar', 'scrollbar', 'radio', 'slider', 'spinbutton', 'textbox' ];
11998
12086
  function isVisualContent(el) {
11999
- var _nodeLookup18 = _nodeLookup(el), vNode = _nodeLookup18.vNode;
12087
+ var _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.vNode;
12000
12088
  var role = axe.commons.aria.getExplicitRole(vNode);
12001
12089
  if (role) {
12002
12090
  return visualRoles.indexOf(role) !== -1;
@@ -12064,7 +12152,7 @@
12064
12152
  }
12065
12153
  var inserted_into_focus_order_default = insertedIntoFocusOrder;
12066
12154
  function isHiddenWithCSS(el, descendentVisibilityValue) {
12067
- var _nodeLookup19 = _nodeLookup(el), vNode = _nodeLookup19.vNode, domNode = _nodeLookup19.domNode;
12155
+ var _nodeLookup20 = _nodeLookup(el), vNode = _nodeLookup20.vNode, domNode = _nodeLookup20.domNode;
12068
12156
  if (!vNode) {
12069
12157
  return _isHiddenWithCSS(domNode, descendentVisibilityValue);
12070
12158
  }
@@ -12114,17 +12202,6 @@
12114
12202
  return node.name === 'html' && !node.publicId && !node.systemId;
12115
12203
  }
12116
12204
  var is_html5_default = isHTML5;
12117
- function _isInTabOrder(el) {
12118
- var _nodeLookup20 = _nodeLookup(el), vNode = _nodeLookup20.vNode;
12119
- if (vNode.props.nodeType !== 1) {
12120
- return false;
12121
- }
12122
- var tabindex = parseInt(vNode.attr('tabindex', 10));
12123
- if (tabindex <= -1) {
12124
- return false;
12125
- }
12126
- return _isFocusable(vNode);
12127
- }
12128
12205
  function getRoleType(role) {
12129
12206
  var _window3;
12130
12207
  if (role instanceof abstract_virtual_node_default || (_window3 = window) !== null && _window3 !== void 0 && _window3.Node && role instanceof window.Node) {
@@ -12232,8 +12309,8 @@
12232
12309
  var stacks = points.map(function(point) {
12233
12310
  return Array.from(document.elementsFromPoint(point.x, point.y));
12234
12311
  });
12235
- var _loop4 = function _loop4(_i9) {
12236
- var modalElement = stacks[_i9].find(function(elm) {
12312
+ var _loop4 = function _loop4(_i10) {
12313
+ var modalElement = stacks[_i10].find(function(elm) {
12237
12314
  var style = window.getComputedStyle(elm);
12238
12315
  return parseInt(style.width, 10) >= percentWidth && parseInt(style.height, 10) >= percentHeight && style.getPropertyValue('pointer-events') !== 'none' && (style.position === 'absolute' || style.position === 'fixed');
12239
12316
  });
@@ -12246,8 +12323,8 @@
12246
12323
  };
12247
12324
  }
12248
12325
  };
12249
- for (var _i9 = 0; _i9 < stacks.length; _i9++) {
12250
- var _ret = _loop4(_i9);
12326
+ for (var _i10 = 0; _i10 < stacks.length; _i10++) {
12327
+ var _ret = _loop4(_i10);
12251
12328
  if (_typeof(_ret) === 'object') {
12252
12329
  return _ret.v;
12253
12330
  }
@@ -12263,10 +12340,10 @@
12263
12340
  range2.setEnd(domNode, domNode.childNodes.length);
12264
12341
  var lastLineEnd = 0;
12265
12342
  var lineCount = 0;
12266
- var _iterator4 = _createForOfIteratorHelper(range2.getClientRects()), _step4;
12343
+ var _iterator5 = _createForOfIteratorHelper(range2.getClientRects()), _step5;
12267
12344
  try {
12268
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {
12269
- var rect = _step4.value;
12345
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) {
12346
+ var rect = _step5.value;
12270
12347
  if (rect.height <= margin) {
12271
12348
  continue;
12272
12349
  }
@@ -12280,9 +12357,9 @@
12280
12357
  }
12281
12358
  }
12282
12359
  } catch (err) {
12283
- _iterator4.e(err);
12360
+ _iterator5.e(err);
12284
12361
  } finally {
12285
- _iterator4.f();
12362
+ _iterator5.f();
12286
12363
  }
12287
12364
  return false;
12288
12365
  }
@@ -12371,21 +12448,21 @@
12371
12448
  return B_cols.map(function(col) {
12372
12449
  var ret = 0;
12373
12450
  if (!Array.isArray(row)) {
12374
- var _iterator5 = _createForOfIteratorHelper(col), _step5;
12451
+ var _iterator6 = _createForOfIteratorHelper(col), _step6;
12375
12452
  try {
12376
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done; ) {
12377
- var c4 = _step5.value;
12453
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) {
12454
+ var c4 = _step6.value;
12378
12455
  ret += row * c4;
12379
12456
  }
12380
12457
  } catch (err) {
12381
- _iterator5.e(err);
12458
+ _iterator6.e(err);
12382
12459
  } finally {
12383
- _iterator5.f();
12460
+ _iterator6.f();
12384
12461
  }
12385
12462
  return ret;
12386
12463
  }
12387
- for (var _i10 = 0; _i10 < row.length; _i10++) {
12388
- ret += row[_i10] * (col[_i10] || 0);
12464
+ for (var _i11 = 0; _i11 < row.length; _i11++) {
12465
+ ret += row[_i11] * (col[_i11] || 0);
12389
12466
  }
12390
12467
  return ret;
12391
12468
  });
@@ -12697,10 +12774,10 @@
12697
12774
  var myPath = _classPrivateFieldGet(this, _path);
12698
12775
  var otherPath = _classPrivateFieldGet(space, _path);
12699
12776
  var connectionSpace, connectionSpaceIndex;
12700
- for (var _i11 = 0; _i11 < myPath.length; _i11++) {
12701
- if (myPath[_i11] === otherPath[_i11]) {
12702
- connectionSpace = myPath[_i11];
12703
- connectionSpaceIndex = _i11;
12777
+ for (var _i12 = 0; _i12 < myPath.length; _i12++) {
12778
+ if (myPath[_i12] === otherPath[_i12]) {
12779
+ connectionSpace = myPath[_i12];
12780
+ connectionSpaceIndex = _i12;
12704
12781
  } else {
12705
12782
  break;
12706
12783
  }
@@ -12708,11 +12785,11 @@
12708
12785
  if (!connectionSpace) {
12709
12786
  throw new Error('Cannot convert between color spaces '.concat(this, ' and ').concat(space, ': no connection space was found'));
12710
12787
  }
12711
- for (var _i12 = myPath.length - 1; _i12 > connectionSpaceIndex; _i12--) {
12712
- coords = myPath[_i12].toBase(coords);
12788
+ for (var _i13 = myPath.length - 1; _i13 > connectionSpaceIndex; _i13--) {
12789
+ coords = myPath[_i13].toBase(coords);
12713
12790
  }
12714
- for (var _i13 = connectionSpaceIndex + 1; _i13 < otherPath.length; _i13++) {
12715
- coords = otherPath[_i13].fromBase(coords);
12791
+ for (var _i14 = connectionSpaceIndex + 1; _i14 < otherPath.length; _i14++) {
12792
+ coords = otherPath[_i14].fromBase(coords);
12716
12793
  }
12717
12794
  return coords;
12718
12795
  }
@@ -12762,16 +12839,16 @@
12762
12839
  }
12763
12840
  this.registry[id] = space;
12764
12841
  if (arguments.length === 1 && space.aliases) {
12765
- var _iterator6 = _createForOfIteratorHelper(space.aliases), _step6;
12842
+ var _iterator7 = _createForOfIteratorHelper(space.aliases), _step7;
12766
12843
  try {
12767
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done; ) {
12768
- var alias = _step6.value;
12844
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) {
12845
+ var alias = _step7.value;
12769
12846
  this.register(alias, space);
12770
12847
  }
12771
12848
  } catch (err) {
12772
- _iterator6.e(err);
12849
+ _iterator7.e(err);
12773
12850
  } finally {
12774
- _iterator6.f();
12851
+ _iterator7.f();
12775
12852
  }
12776
12853
  }
12777
12854
  return space;
@@ -12864,8 +12941,8 @@
12864
12941
  format.type || (format.type = 'function');
12865
12942
  format.name || (format.name = 'color');
12866
12943
  format.coordGrammar = parseCoordGrammar(format.coords);
12867
- var coordFormats = Object.entries(this.coords).map(function(_ref156, i) {
12868
- var _ref157 = _slicedToArray(_ref156, 2), id = _ref157[0], coordMeta = _ref157[1];
12944
+ var coordFormats = Object.entries(this.coords).map(function(_ref151, i) {
12945
+ var _ref152 = _slicedToArray(_ref151, 2), id = _ref152[0], coordMeta = _ref152[1];
12869
12946
  var outputType = format.coordGrammar[i][0];
12870
12947
  var fromRange = coordMeta.range || coordMeta.refRange;
12871
12948
  var toRange = outputType.range, suffix = '';
@@ -12993,10 +13070,10 @@
12993
13070
  if (name === 'color') {
12994
13071
  var id = env.parsed.args.shift();
12995
13072
  var alpha = env.parsed.rawArgs.indexOf('/') > 0 ? env.parsed.args.pop() : 1;
12996
- var _iterator7 = _createForOfIteratorHelper(ColorSpace.all), _step7;
13073
+ var _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;
12997
13074
  try {
12998
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done; ) {
12999
- var space = _step7.value;
13075
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {
13076
+ var space = _step8.value;
13000
13077
  var colorSpec = space.getFormat('color');
13001
13078
  if (colorSpec) {
13002
13079
  var _colorSpec$ids;
@@ -13024,9 +13101,9 @@
13024
13101
  }
13025
13102
  }
13026
13103
  } catch (err) {
13027
- _iterator7.e(err);
13104
+ _iterator8.e(err);
13028
13105
  } finally {
13029
- _iterator7.f();
13106
+ _iterator8.f();
13030
13107
  }
13031
13108
  var didYouMean = '';
13032
13109
  if (id in ColorSpace.registry) {
@@ -13038,10 +13115,10 @@
13038
13115
  }
13039
13116
  throw new TypeError('Cannot parse color('.concat(id, '). ') + (didYouMean || 'Missing a plugin?'));
13040
13117
  } else {
13041
- var _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;
13118
+ var _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;
13042
13119
  try {
13043
13120
  var _loop5 = function _loop5() {
13044
- var space = _step8.value;
13121
+ var space = _step9.value;
13045
13122
  var format = space.getFormat(name);
13046
13123
  if (format && format.type === 'function') {
13047
13124
  var _alpha = 1;
@@ -13083,16 +13160,16 @@
13083
13160
  };
13084
13161
  }
13085
13162
  };
13086
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {
13163
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {
13087
13164
  var _ret4 = _loop5();
13088
13165
  if (_typeof(_ret4) === 'object') {
13089
13166
  return _ret4.v;
13090
13167
  }
13091
13168
  }
13092
13169
  } catch (err) {
13093
- _iterator8.e(err);
13170
+ _iterator9.e(err);
13094
13171
  } finally {
13095
- _iterator8.f();
13172
+ _iterator9.f();
13096
13173
  }
13097
13174
  }
13098
13175
  }();
@@ -13100,10 +13177,10 @@
13100
13177
  return _ret2.v;
13101
13178
  }
13102
13179
  } else {
13103
- var _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;
13180
+ var _iterator10 = _createForOfIteratorHelper(ColorSpace.all), _step10;
13104
13181
  try {
13105
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {
13106
- var space = _step9.value;
13182
+ for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) {
13183
+ var space = _step10.value;
13107
13184
  for (var formatId in space.formats) {
13108
13185
  var format = space.formats[formatId];
13109
13186
  if (format.type !== 'custom') {
@@ -13121,9 +13198,9 @@
13121
13198
  }
13122
13199
  }
13123
13200
  } catch (err) {
13124
- _iterator9.e(err);
13201
+ _iterator10.e(err);
13125
13202
  } finally {
13126
- _iterator9.f();
13203
+ _iterator10.f();
13127
13204
  }
13128
13205
  }
13129
13206
  throw new TypeError('Could not parse '.concat(str, ' as a color. Missing a plugin?'));
@@ -13509,7 +13586,7 @@
13509
13586
  function serialize(color) {
13510
13587
  var _ref51, _color$space$getForma;
13511
13588
  var _ref50 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
13512
- var _ref50$precision = _ref50.precision, precision = _ref50$precision === void 0 ? defaults.precision : _ref50$precision, _ref50$format = _ref50.format, format = _ref50$format === void 0 ? 'default' : _ref50$format, _ref50$inGamut = _ref50.inGamut, inGamut$1 = _ref50$inGamut === void 0 ? true : _ref50$inGamut, customOptions = _objectWithoutProperties(_ref50, _excluded7);
13589
+ var _ref50$precision = _ref50.precision, precision = _ref50$precision === void 0 ? defaults.precision : _ref50$precision, _ref50$format = _ref50.format, format = _ref50$format === void 0 ? 'default' : _ref50$format, _ref50$inGamut = _ref50.inGamut, inGamut$1 = _ref50$inGamut === void 0 ? true : _ref50$inGamut, customOptions = _objectWithoutProperties(_ref50, _excluded9);
13513
13590
  var ret;
13514
13591
  color = getColor(color);
13515
13592
  var formatId = format;
@@ -13890,8 +13967,8 @@
13890
13967
  });
13891
13968
  defaults.display_space = sRGB;
13892
13969
  if (typeof CSS !== 'undefined' && CSS.supports) {
13893
- for (var _i14 = 0, _arr2 = [ lab, REC2020, P3 ]; _i14 < _arr2.length; _i14++) {
13894
- var space = _arr2[_i14];
13970
+ for (var _i15 = 0, _arr3 = [ lab, REC2020, P3 ]; _i15 < _arr3.length; _i15++) {
13971
+ var space = _arr3[_i15];
13895
13972
  var coords = space.getMinCoords();
13896
13973
  var color = {
13897
13974
  space: space,
@@ -13907,7 +13984,7 @@
13907
13984
  }
13908
13985
  function _display(color) {
13909
13986
  var _ref53 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
13910
- var _ref53$space = _ref53.space, space = _ref53$space === void 0 ? defaults.display_space : _ref53$space, options = _objectWithoutProperties(_ref53, _excluded8);
13987
+ var _ref53$space = _ref53.space, space = _ref53$space === void 0 ? defaults.display_space : _ref53$space, options = _objectWithoutProperties(_ref53, _excluded10);
13911
13988
  var ret = serialize(color, options);
13912
13989
  if (typeof CSS === 'undefined' || CSS.supports('color', ret) || !defaults.display_space) {
13913
13990
  ret = new String(ret);
@@ -14142,7 +14219,7 @@
14142
14219
  algorithm: o
14143
14220
  };
14144
14221
  }
14145
- var _o = o, algorithm = _o.algorithm, rest = _objectWithoutProperties(_o, _excluded9);
14222
+ var _o = o, algorithm = _o.algorithm, rest = _objectWithoutProperties(_o, _excluded11);
14146
14223
  if (!algorithm) {
14147
14224
  var algorithms = Object.keys(contrastMethods).map(function(a2) {
14148
14225
  return a2.replace(/^contrast/, '');
@@ -14506,7 +14583,7 @@
14506
14583
  method: o
14507
14584
  };
14508
14585
  }
14509
- var _o2 = o, _o2$method = _o2.method, method = _o2$method === void 0 ? defaults.deltaE : _o2$method, rest = _objectWithoutProperties(_o2, _excluded10);
14586
+ var _o2 = o, _o2$method = _o2.method, method = _o2$method === void 0 ? defaults.deltaE : _o2$method, rest = _objectWithoutProperties(_o2, _excluded12);
14510
14587
  c12 = getColor(c12);
14511
14588
  c22 = getColor(c22);
14512
14589
  for (var m3 in deltaEMethods) {
@@ -14566,7 +14643,7 @@
14566
14643
  c12 = _colorRange$rangeArgs[0];
14567
14644
  c22 = _colorRange$rangeArgs[1];
14568
14645
  }
14569
- var _options = options, maxDeltaE = _options.maxDeltaE, deltaEMethod = _options.deltaEMethod, _options$steps = _options.steps, steps2 = _options$steps === void 0 ? 2 : _options$steps, _options$maxSteps = _options.maxSteps, maxSteps = _options$maxSteps === void 0 ? 1e3 : _options$maxSteps, rangeOptions = _objectWithoutProperties(_options, _excluded11);
14646
+ var _options = options, maxDeltaE = _options.maxDeltaE, deltaEMethod = _options.deltaEMethod, _options$steps = _options.steps, steps2 = _options$steps === void 0 ? 2 : _options$steps, _options$maxSteps = _options.maxSteps, maxSteps = _options$maxSteps === void 0 ? 1e3 : _options$maxSteps, rangeOptions = _objectWithoutProperties(_options, _excluded13);
14570
14647
  if (!colorRange) {
14571
14648
  var _ref60 = [ getColor(c12), getColor(c22) ];
14572
14649
  c12 = _ref60[0];
@@ -14606,17 +14683,17 @@
14606
14683
  }, 0);
14607
14684
  while (maxDelta > maxDeltaE) {
14608
14685
  maxDelta = 0;
14609
- for (var _i15 = 1; _i15 < ret.length && ret.length < maxSteps; _i15++) {
14610
- var prev = ret[_i15 - 1];
14611
- var cur = ret[_i15];
14686
+ for (var _i16 = 1; _i16 < ret.length && ret.length < maxSteps; _i16++) {
14687
+ var prev = ret[_i16 - 1];
14688
+ var cur = ret[_i16];
14612
14689
  var p2 = (cur.p + prev.p) / 2;
14613
14690
  var _color = colorRange(p2);
14614
14691
  maxDelta = Math.max(maxDelta, deltaE(_color, prev.color), deltaE(_color, cur.color));
14615
- ret.splice(_i15, 0, {
14692
+ ret.splice(_i16, 0, {
14616
14693
  p: p2,
14617
14694
  color: colorRange(p2)
14618
14695
  });
14619
- _i15++;
14696
+ _i16++;
14620
14697
  }
14621
14698
  }
14622
14699
  }
@@ -15235,9 +15312,9 @@
15235
15312
  _classPrivateFieldSet(this, _space, ColorSpace.get(space));
15236
15313
  this.coords = coords ? coords.slice() : [ 0, 0, 0 ];
15237
15314
  this.alpha = alpha < 1 ? alpha : 1;
15238
- for (var _i16 = 0; _i16 < this.coords.length; _i16++) {
15239
- if (this.coords[_i16] === 'NaN') {
15240
- this.coords[_i16] = NaN;
15315
+ for (var _i17 = 0; _i17 < this.coords.length; _i17++) {
15316
+ if (this.coords[_i17] === 'NaN') {
15317
+ this.coords[_i17] = NaN;
15241
15318
  }
15242
15319
  }
15243
15320
  var _loop6 = function _loop6(id) {
@@ -15376,8 +15453,8 @@
15376
15453
  parse: parse2,
15377
15454
  defaults: defaults
15378
15455
  });
15379
- for (var _i17 = 0, _Object$keys2 = Object.keys(spaces); _i17 < _Object$keys2.length; _i17++) {
15380
- var key = _Object$keys2[_i17];
15456
+ for (var _i18 = 0, _Object$keys2 = Object.keys(spaces); _i18 < _Object$keys2.length; _i18++) {
15457
+ var key = _Object$keys2[_i18];
15381
15458
  ColorSpace.register(spaces[key]);
15382
15459
  }
15383
15460
  for (var id in ColorSpace.registry) {
@@ -16051,8 +16128,8 @@
16051
16128
  return;
16052
16129
  }
16053
16130
  var shadowId = domTree[0].shadowId;
16054
- for (var _i18 = 0; _i18 < expressions.length; _i18++) {
16055
- if (expressions[_i18].length > 1 && expressions[_i18].some(function(expression) {
16131
+ for (var _i19 = 0; _i19 < expressions.length; _i19++) {
16132
+ if (expressions[_i19].length > 1 && expressions[_i19].some(function(expression) {
16056
16133
  return isGlobalSelector(expression);
16057
16134
  })) {
16058
16135
  return;
@@ -16113,9 +16190,9 @@
16113
16190
  nodes = nodes ? getSharedValues(_cachedNodes, nodes) : _cachedNodes;
16114
16191
  }
16115
16192
  if (exp.attributes) {
16116
- for (var _i19 = 0; _i19 < exp.attributes.length; _i19++) {
16193
+ for (var _i20 = 0; _i20 < exp.attributes.length; _i20++) {
16117
16194
  var _selectorMap;
16118
- var attr = exp.attributes[_i19];
16195
+ var attr = exp.attributes[_i20];
16119
16196
  if (attr.type === 'attrValue') {
16120
16197
  isComplexSelector = true;
16121
16198
  }
@@ -16301,19 +16378,8 @@
16301
16378
  if (Array.isArray(ruleResult.nodes) && ruleResult.nodes.length > 0) {
16302
16379
  ruleResult.nodes = ruleResult.nodes.map(function(subResult) {
16303
16380
  if (_typeof(subResult.node) === 'object') {
16304
- subResult.html = subResult.node.source;
16305
- if (options.elementRef && !subResult.node.fromFrame) {
16306
- subResult.element = subResult.node.element;
16307
- }
16308
- if (options.selectors !== false || subResult.node.fromFrame) {
16309
- subResult.target = subResult.node.selector;
16310
- }
16311
- if (options.ancestry) {
16312
- subResult.ancestry = subResult.node.ancestry;
16313
- }
16314
- if (options.xpath) {
16315
- subResult.xpath = subResult.node.xpath;
16316
- }
16381
+ var serialElm = trimElementSpec(subResult.node, options);
16382
+ Object.assign(subResult, serialElm);
16317
16383
  }
16318
16384
  delete subResult.result;
16319
16385
  delete subResult.node;
@@ -16340,31 +16406,40 @@
16340
16406
  return Array.isArray(checkRes.relatedNodes);
16341
16407
  }).forEach(function(checkRes) {
16342
16408
  checkRes.relatedNodes = checkRes.relatedNodes.map(function(relatedNode) {
16343
- var _relatedNode$source;
16344
- var res = {
16345
- html: (_relatedNode$source = relatedNode === null || relatedNode === void 0 ? void 0 : relatedNode.source) !== null && _relatedNode$source !== void 0 ? _relatedNode$source : 'Undefined'
16346
- };
16347
- if (options.elementRef && !(relatedNode !== null && relatedNode !== void 0 && relatedNode.fromFrame)) {
16348
- var _relatedNode$element;
16349
- res.element = (_relatedNode$element = relatedNode === null || relatedNode === void 0 ? void 0 : relatedNode.element) !== null && _relatedNode$element !== void 0 ? _relatedNode$element : null;
16350
- }
16351
- if (options.selectors !== false || relatedNode !== null && relatedNode !== void 0 && relatedNode.fromFrame) {
16352
- var _relatedNode$selector;
16353
- res.target = (_relatedNode$selector = relatedNode === null || relatedNode === void 0 ? void 0 : relatedNode.selector) !== null && _relatedNode$selector !== void 0 ? _relatedNode$selector : [ ':root' ];
16354
- }
16355
- if (options.ancestry) {
16356
- var _relatedNode$ancestry;
16357
- res.ancestry = (_relatedNode$ancestry = relatedNode === null || relatedNode === void 0 ? void 0 : relatedNode.ancestry) !== null && _relatedNode$ancestry !== void 0 ? _relatedNode$ancestry : [ ':root' ];
16358
- }
16359
- if (options.xpath) {
16360
- var _relatedNode$xpath;
16361
- res.xpath = (_relatedNode$xpath = relatedNode === null || relatedNode === void 0 ? void 0 : relatedNode.xpath) !== null && _relatedNode$xpath !== void 0 ? _relatedNode$xpath : [ '/' ];
16362
- }
16363
- return res;
16409
+ return trimElementSpec(relatedNode, options);
16364
16410
  });
16365
16411
  });
16366
16412
  });
16367
16413
  }
16414
+ function trimElementSpec() {
16415
+ var elmSpec = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16416
+ var runOptions = arguments.length > 1 ? arguments[1] : undefined;
16417
+ elmSpec = node_serializer_default.dqElmToSpec(elmSpec, runOptions);
16418
+ var serialElm = {};
16419
+ if (axe._audit.noHtml) {
16420
+ serialElm.html = null;
16421
+ } else {
16422
+ var _elmSpec$source;
16423
+ serialElm.html = (_elmSpec$source = elmSpec.source) !== null && _elmSpec$source !== void 0 ? _elmSpec$source : 'Undefined';
16424
+ }
16425
+ if (runOptions.elementRef && !elmSpec.fromFrame) {
16426
+ var _elmSpec$element;
16427
+ serialElm.element = (_elmSpec$element = elmSpec.element) !== null && _elmSpec$element !== void 0 ? _elmSpec$element : null;
16428
+ }
16429
+ if (runOptions.selectors !== false || elmSpec.fromFrame) {
16430
+ var _elmSpec$selector;
16431
+ serialElm.target = (_elmSpec$selector = elmSpec.selector) !== null && _elmSpec$selector !== void 0 ? _elmSpec$selector : [ ':root' ];
16432
+ }
16433
+ if (runOptions.ancestry) {
16434
+ var _elmSpec$ancestry;
16435
+ serialElm.ancestry = (_elmSpec$ancestry = elmSpec.ancestry) !== null && _elmSpec$ancestry !== void 0 ? _elmSpec$ancestry : [ ':root' ];
16436
+ }
16437
+ if (runOptions.xpath) {
16438
+ var _elmSpec$xpath;
16439
+ serialElm.xpath = (_elmSpec$xpath = elmSpec.xpath) !== null && _elmSpec$xpath !== void 0 ? _elmSpec$xpath : [ '/' ];
16440
+ }
16441
+ return serialElm;
16442
+ }
16368
16443
  var dataRegex = /\$\{\s?data\s?\}/g;
16369
16444
  function substitute(str, data) {
16370
16445
  if (typeof data === 'string') {
@@ -16552,8 +16627,8 @@
16552
16627
  if (!isArrayLike(selectorList)) {
16553
16628
  selectorList = [ selectorList ];
16554
16629
  }
16555
- for (var _i20 = 0; _i20 < selectorList.length; _i20++) {
16556
- var normalizedSelector = normalizeContextSelector(selectorList[_i20]);
16630
+ for (var _i21 = 0; _i21 < selectorList.length; _i21++) {
16631
+ var normalizedSelector = normalizeContextSelector(selectorList[_i21]);
16557
16632
  if (normalizedSelector) {
16558
16633
  normalizedList.push(normalizedSelector);
16559
16634
  }
@@ -16580,10 +16655,10 @@
16580
16655
  return;
16581
16656
  }
16582
16657
  var normalizedSelectors = [];
16583
- var _iterator10 = _createForOfIteratorHelper(frameSelectors), _step10;
16658
+ var _iterator11 = _createForOfIteratorHelper(frameSelectors), _step11;
16584
16659
  try {
16585
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done; ) {
16586
- var selector = _step10.value;
16660
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done; ) {
16661
+ var selector = _step11.value;
16587
16662
  if (isLabelledShadowDomSelector(selector)) {
16588
16663
  assertLabelledShadowDomSelector(selector);
16589
16664
  selector = selector.fromShadowDom;
@@ -16594,9 +16669,9 @@
16594
16669
  normalizedSelectors.push(selector);
16595
16670
  }
16596
16671
  } catch (err) {
16597
- _iterator10.e(err);
16672
+ _iterator11.e(err);
16598
16673
  } finally {
16599
- _iterator10.f();
16674
+ _iterator11.f();
16600
16675
  }
16601
16676
  return normalizedSelectors;
16602
16677
  }
@@ -16649,8 +16724,8 @@
16649
16724
  }
16650
16725
  function parseSelectorArray(context, type2) {
16651
16726
  var result = [];
16652
- for (var _i21 = 0, l = context[type2].length; _i21 < l; _i21++) {
16653
- var item = context[type2][_i21];
16727
+ for (var _i22 = 0, l = context[type2].length; _i22 < l; _i22++) {
16728
+ var item = context[type2][_i22];
16654
16729
  if (item instanceof window.Node) {
16655
16730
  if (item.documentElement instanceof window.Node) {
16656
16731
  result.push(context.flatTree[0]);
@@ -16737,8 +16812,8 @@
16737
16812
  function getRootNode2(_ref69) {
16738
16813
  var include = _ref69.include, exclude = _ref69.exclude;
16739
16814
  var selectors = Array.from(include).concat(Array.from(exclude));
16740
- for (var _i22 = 0; _i22 < selectors.length; _i22++) {
16741
- var item = selectors[_i22];
16815
+ for (var _i23 = 0; _i23 < selectors.length; _i23++) {
16816
+ var item = selectors[_i23];
16742
16817
  if (item instanceof window.Element) {
16743
16818
  return item.ownerDocument.documentElement;
16744
16819
  }
@@ -16755,7 +16830,7 @@
16755
16830
  }
16756
16831
  var _Context = new Context(context), frames = _Context.frames;
16757
16832
  return frames.map(function(_ref70) {
16758
- var node = _ref70.node, frameContext = _objectWithoutProperties(_ref70, _excluded12);
16833
+ var node = _ref70.node, frameContext = _objectWithoutProperties(_ref70, _excluded14);
16759
16834
  frameContext.initiator = false;
16760
16835
  var frameSelector = _getAncestry(node);
16761
16836
  return {
@@ -16925,18 +17000,18 @@
16925
17000
  }
16926
17001
  function getDeepest(collection) {
16927
17002
  var deepest;
16928
- var _iterator11 = _createForOfIteratorHelper(collection), _step11;
17003
+ var _iterator12 = _createForOfIteratorHelper(collection), _step12;
16929
17004
  try {
16930
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done; ) {
16931
- var node = _step11.value;
17005
+ for (_iterator12.s(); !(_step12 = _iterator12.n()).done; ) {
17006
+ var node = _step12.value;
16932
17007
  if (!deepest || !_contains(node, deepest)) {
16933
17008
  deepest = node;
16934
17009
  }
16935
17010
  }
16936
17011
  } catch (err) {
16937
- _iterator11.e(err);
17012
+ _iterator12.e(err);
16938
17013
  } finally {
16939
- _iterator11.f();
17014
+ _iterator12.f();
16940
17015
  }
16941
17016
  return deepest;
16942
17017
  }
@@ -17426,9 +17501,9 @@
17426
17501
  var childAny = null;
17427
17502
  var combinedLength = (((_currentLevel$anyLeve = currentLevel.anyLevel) === null || _currentLevel$anyLeve === void 0 ? void 0 : _currentLevel$anyLeve.length) || 0) + (((_currentLevel$thisLev = currentLevel.thisLevel) === null || _currentLevel$thisLev === void 0 ? void 0 : _currentLevel$thisLev.length) || 0);
17428
17503
  var added = false;
17429
- for (var _i23 = 0; _i23 < combinedLength; _i23++) {
17504
+ for (var _i24 = 0; _i24 < combinedLength; _i24++) {
17430
17505
  var _currentLevel$anyLeve2, _currentLevel$anyLeve3, _currentLevel$anyLeve4;
17431
- var exp = _i23 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i23] : currentLevel.thisLevel[_i23 - (((_currentLevel$anyLeve3 = currentLevel.anyLevel) === null || _currentLevel$anyLeve3 === void 0 ? void 0 : _currentLevel$anyLeve3.length) || 0)];
17506
+ var exp = _i24 < (((_currentLevel$anyLeve2 = currentLevel.anyLevel) === null || _currentLevel$anyLeve2 === void 0 ? void 0 : _currentLevel$anyLeve2.length) || 0) ? currentLevel.anyLevel[_i24] : currentLevel.thisLevel[_i24 - (((_currentLevel$anyLeve3 = currentLevel.anyLevel) === null || _currentLevel$anyLeve3 === void 0 ? void 0 : _currentLevel$anyLeve3.length) || 0)];
17432
17507
  if ((!exp[0].id || vNode.shadowId === currentLevel.parentShadowId) && _matchesExpression(vNode, exp[0])) {
17433
17508
  if (exp.length === 1) {
17434
17509
  if (!added && (!filter || filter(vNode))) {
@@ -17549,7 +17624,9 @@
17549
17624
  isLink: isLink,
17550
17625
  root: rootNode
17551
17626
  });
17552
- out.push(stylesheet.sheet);
17627
+ if (stylesheet.sheet) {
17628
+ out.push(stylesheet.sheet);
17629
+ }
17553
17630
  return out;
17554
17631
  }, []);
17555
17632
  }
@@ -17853,8 +17930,8 @@
17853
17930
  }
17854
17931
  var outerIncludes = getOuterIncludes(context.include);
17855
17932
  var isInContext = getContextFilter(context);
17856
- for (var _i24 = 0; _i24 < outerIncludes.length; _i24++) {
17857
- candidate = outerIncludes[_i24];
17933
+ for (var _i25 = 0; _i25 < outerIncludes.length; _i25++) {
17934
+ candidate = outerIncludes[_i25];
17858
17935
  var nodes = query_selector_all_filter_default(candidate, selector, isInContext);
17859
17936
  result = mergeArrayUniques(result, nodes);
17860
17937
  }
@@ -17891,9 +17968,9 @@
17891
17968
  arr1 = arr2;
17892
17969
  arr2 = temp;
17893
17970
  }
17894
- for (var _i25 = 0, l = arr2.length; _i25 < l; _i25++) {
17895
- if (!arr1.includes(arr2[_i25])) {
17896
- arr1.push(arr2[_i25]);
17971
+ for (var _i26 = 0, l = arr2.length; _i26 < l; _i26++) {
17972
+ if (!arr1.includes(arr2[_i26])) {
17973
+ arr1.push(arr2[_i26]);
17897
17974
  }
17898
17975
  }
17899
17976
  return arr1;
@@ -17943,18 +18020,18 @@
17943
18020
  return Array.from(elms);
17944
18021
  }
17945
18022
  var selected = [];
17946
- var _iterator12 = _createForOfIteratorHelper(elms), _step12;
18023
+ var _iterator13 = _createForOfIteratorHelper(elms), _step13;
17947
18024
  try {
17948
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done; ) {
17949
- var elm = _step12.value;
18025
+ for (_iterator13.s(); !(_step13 = _iterator13.n()).done; ) {
18026
+ var elm = _step13.value;
17950
18027
  if (elm !== null && elm !== void 0 && elm.shadowRoot) {
17951
18028
  selected.push.apply(selected, _toConsumableArray(selectAllRecursive(restSelector, elm.shadowRoot)));
17952
18029
  }
17953
18030
  }
17954
18031
  } catch (err) {
17955
- _iterator12.e(err);
18032
+ _iterator13.e(err);
17956
18033
  } finally {
17957
- _iterator12.f();
18034
+ _iterator13.f();
17958
18035
  }
17959
18036
  return selected;
17960
18037
  }
@@ -17968,8 +18045,8 @@
17968
18045
  while (lang.length < 3) {
17969
18046
  lang += '`';
17970
18047
  }
17971
- for (var _i26 = 0; _i26 <= lang.length - 1; _i26++) {
17972
- var index = lang.charCodeAt(_i26) - 96;
18048
+ for (var _i27 = 0; _i27 <= lang.length - 1; _i27++) {
18049
+ var index = lang.charCodeAt(_i27) - 96;
17973
18050
  array = array[index];
17974
18051
  if (!array) {
17975
18052
  return false;
@@ -18357,16 +18434,16 @@
18357
18434
  idRefs.get(_id2).push(node);
18358
18435
  }
18359
18436
  }
18360
- for (var _i27 = 0; _i27 < refAttrs.length; ++_i27) {
18361
- var attr = refAttrs[_i27];
18437
+ for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {
18438
+ var attr = refAttrs[_i28];
18362
18439
  var attrValue = sanitize_default(node.getAttribute(attr) || '');
18363
18440
  if (!attrValue) {
18364
18441
  continue;
18365
18442
  }
18366
- var _iterator13 = _createForOfIteratorHelper(token_list_default(attrValue)), _step13;
18443
+ var _iterator14 = _createForOfIteratorHelper(token_list_default(attrValue)), _step14;
18367
18444
  try {
18368
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done; ) {
18369
- var token = _step13.value;
18445
+ for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {
18446
+ var token = _step14.value;
18370
18447
  if (!idRefs.has(token)) {
18371
18448
  idRefs.set(token, [ node ]);
18372
18449
  } else {
@@ -18374,15 +18451,15 @@
18374
18451
  }
18375
18452
  }
18376
18453
  } catch (err) {
18377
- _iterator13.e(err);
18454
+ _iterator14.e(err);
18378
18455
  } finally {
18379
- _iterator13.f();
18456
+ _iterator14.f();
18380
18457
  }
18381
18458
  }
18382
18459
  }
18383
- for (var _i28 = 0; _i28 < node.childNodes.length; _i28++) {
18384
- if (node.childNodes[_i28].nodeType === 1) {
18385
- cacheIdRefs(node.childNodes[_i28], idRefs, refAttrs);
18460
+ for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {
18461
+ if (node.childNodes[_i29].nodeType === 1) {
18462
+ cacheIdRefs(node.childNodes[_i29], idRefs, refAttrs);
18386
18463
  }
18387
18464
  }
18388
18465
  }
@@ -20483,18 +20560,18 @@
20483
20560
  if (Array.isArray(options[role])) {
20484
20561
  allowed = unique_array_default(options[role].concat(allowed));
20485
20562
  }
20486
- var _iterator14 = _createForOfIteratorHelper(virtualNode.attrNames), _step14;
20563
+ var _iterator15 = _createForOfIteratorHelper(virtualNode.attrNames), _step15;
20487
20564
  try {
20488
- for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {
20489
- var attrName = _step14.value;
20565
+ for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {
20566
+ var attrName = _step15.value;
20490
20567
  if (validate_attr_default(attrName) && !allowed.includes(attrName)) {
20491
20568
  invalid.push(attrName);
20492
20569
  }
20493
20570
  }
20494
20571
  } catch (err) {
20495
- _iterator14.e(err);
20572
+ _iterator15.e(err);
20496
20573
  } finally {
20497
- _iterator14.f();
20574
+ _iterator15.f();
20498
20575
  }
20499
20576
  if (!invalid.length) {
20500
20577
  return true;
@@ -20926,8 +21003,8 @@
20926
21003
  }
20927
21004
  var owners = getAriaOwners(node);
20928
21005
  if (owners) {
20929
- for (var _i29 = 0, l = owners.length; _i29 < l; _i29++) {
20930
- missingParents = getMissingContext(get_node_from_tree_default(owners[_i29]), ownGroupRoles, missingParents, true);
21006
+ for (var _i30 = 0, l = owners.length; _i30 < l; _i30++) {
21007
+ missingParents = getMissingContext(get_node_from_tree_default(owners[_i30]), ownGroupRoles, missingParents, true);
20931
21008
  if (!missingParents) {
20932
21009
  return true;
20933
21010
  }
@@ -20957,11 +21034,11 @@
20957
21034
  if (!validate_attr_default(name)) {
20958
21035
  return false;
20959
21036
  }
20960
- var unsupported2 = attribute.unsupported;
20961
- if (_typeof(unsupported2) !== 'object') {
20962
- return !!unsupported2;
21037
+ var unsupported = attribute.unsupported;
21038
+ if (_typeof(unsupported) !== 'object') {
21039
+ return !!unsupported;
20963
21040
  }
20964
- return !matches_default2(node, unsupported2.exceptions);
21041
+ return !matches_default2(node, unsupported.exceptions);
20965
21042
  });
20966
21043
  if (unsupportedAttrs.length) {
20967
21044
  this.data(unsupportedAttrs);
@@ -21529,11 +21606,11 @@
21529
21606
  }
21530
21607
  function getShadowColorsMap(parsedShadows) {
21531
21608
  var colorMap = {};
21532
- var _iterator15 = _createForOfIteratorHelper(parsedShadows), _step15;
21609
+ var _iterator16 = _createForOfIteratorHelper(parsedShadows), _step16;
21533
21610
  try {
21534
- for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {
21611
+ for (_iterator16.s(); !(_step16 = _iterator16.n()).done; ) {
21535
21612
  var _colorMap$colorStr;
21536
- var _step15$value = _step15.value, colorStr = _step15$value.colorStr, pixels = _step15$value.pixels;
21613
+ var _step16$value = _step16.value, colorStr = _step16$value.colorStr, pixels = _step16$value.pixels;
21537
21614
  (_colorMap$colorStr = colorMap[colorStr]) !== null && _colorMap$colorStr !== void 0 ? _colorMap$colorStr : colorMap[colorStr] = {
21538
21615
  top: [],
21539
21616
  right: [],
@@ -21554,9 +21631,9 @@
21554
21631
  }
21555
21632
  }
21556
21633
  } catch (err) {
21557
- _iterator15.e(err);
21634
+ _iterator16.e(err);
21558
21635
  } finally {
21559
- _iterator15.f();
21636
+ _iterator16.f();
21560
21637
  }
21561
21638
  return colorMap;
21562
21639
  }
@@ -21633,10 +21710,10 @@
21633
21710
  assert_default(isNaN(fontSize) === false, 'Unable to determine font-size value '.concat(fontSizeStr));
21634
21711
  var thinShadows = [];
21635
21712
  var shadows = _parseTextShadows(textShadow);
21636
- var _iterator16 = _createForOfIteratorHelper(shadows), _step16;
21713
+ var _iterator17 = _createForOfIteratorHelper(shadows), _step17;
21637
21714
  try {
21638
- for (_iterator16.s(); !(_step16 = _iterator16.n()).done; ) {
21639
- var shadow = _step16.value;
21715
+ for (_iterator17.s(); !(_step17 = _iterator17.n()).done; ) {
21716
+ var shadow = _step17.value;
21640
21717
  var colorStr = shadow.colorStr || style.getPropertyValue('color');
21641
21718
  var _shadow$pixels = _slicedToArray(shadow.pixels, 3), offsetX = _shadow$pixels[0], offsetY = _shadow$pixels[1], _shadow$pixels$ = _shadow$pixels[2], blurRadius = _shadow$pixels$ === void 0 ? 0 : _shadow$pixels$;
21642
21719
  if (maxRatio && blurRadius >= fontSize * maxRatio) {
@@ -21669,9 +21746,9 @@
21669
21746
  shadowColors.push(_color3);
21670
21747
  }
21671
21748
  } catch (err) {
21672
- _iterator16.e(err);
21749
+ _iterator17.e(err);
21673
21750
  } finally {
21674
- _iterator16.f();
21751
+ _iterator17.f();
21675
21752
  }
21676
21753
  if (thinShadows.length > 0) {
21677
21754
  var strokeColors = _getStrokeColorsFromShadows(thinShadows, {
@@ -21828,8 +21905,8 @@
21828
21905
  color: bgColors.reduce(_flattenShadowColors)
21829
21906
  } ];
21830
21907
  }
21831
- for (var _i30 = 0; _i30 < elmStack.length; _i30++) {
21832
- var bgElm = elmStack[_i30];
21908
+ for (var _i31 = 0; _i31 < elmStack.length; _i31++) {
21909
+ var bgElm = elmStack[_i31];
21833
21910
  var bgElmStyle = window.getComputedStyle(bgElm);
21834
21911
  if (element_has_image_default(bgElm, bgElmStyle)) {
21835
21912
  bgElms.push(bgElm);
@@ -21929,8 +22006,8 @@
21929
22006
  });
21930
22007
  } ];
21931
22008
  var fgColors = [];
21932
- for (var _i31 = 0, _colorStack = colorStack; _i31 < _colorStack.length; _i31++) {
21933
- var colorFn = _colorStack[_i31];
22009
+ for (var _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {
22010
+ var colorFn = _colorStack[_i32];
21934
22011
  var _color4 = colorFn();
21935
22012
  if (!_color4) {
21936
22013
  continue;
@@ -21999,11 +22076,11 @@
21999
22076
  return fgColor;
22000
22077
  }
22001
22078
  function findNodeInContexts(contexts, node) {
22002
- var _iterator17 = _createForOfIteratorHelper(contexts), _step17;
22079
+ var _iterator18 = _createForOfIteratorHelper(contexts), _step18;
22003
22080
  try {
22004
- for (_iterator17.s(); !(_step17 = _iterator17.n()).done; ) {
22081
+ for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {
22005
22082
  var _context$vNode;
22006
- var context = _step17.value;
22083
+ var context = _step18.value;
22007
22084
  if (((_context$vNode = context.vNode) === null || _context$vNode === void 0 ? void 0 : _context$vNode.actualNode) === node) {
22008
22085
  return context;
22009
22086
  }
@@ -22013,9 +22090,9 @@
22013
22090
  }
22014
22091
  }
22015
22092
  } catch (err) {
22016
- _iterator17.e(err);
22093
+ _iterator18.e(err);
22017
22094
  } finally {
22018
- _iterator17.f();
22095
+ _iterator18.f();
22019
22096
  }
22020
22097
  }
22021
22098
  function hasValidContrastRatio(bg, fg, fontSize, isBold) {
@@ -22289,8 +22366,8 @@
22289
22366
  return blockLike3.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
22290
22367
  }
22291
22368
  function hasPseudoContent(node) {
22292
- for (var _i32 = 0, _arr3 = [ 'before', 'after' ]; _i32 < _arr3.length; _i32++) {
22293
- var pseudo = _arr3[_i32];
22369
+ for (var _i33 = 0, _arr4 = [ 'before', 'after' ]; _i33 < _arr4.length; _i33++) {
22370
+ var pseudo = _arr4[_i33];
22294
22371
  var style = window.getComputedStyle(node, ':'.concat(pseudo));
22295
22372
  var content = style.getPropertyValue('content');
22296
22373
  if (content !== 'none') {
@@ -23270,7 +23347,7 @@
23270
23347
  var relatedElements = [];
23271
23348
  var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
23272
23349
  var _loop8 = function _loop8() {
23273
- var key = _Object$keys3[_i33];
23350
+ var key = _Object$keys3[_i34];
23274
23351
  var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
23275
23352
  var orientationRules = rules.filter(isMediaRuleWithOrientation);
23276
23353
  if (!orientationRules.length) {
@@ -23288,7 +23365,7 @@
23288
23365
  });
23289
23366
  });
23290
23367
  };
23291
- for (var _i33 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i33 < _Object$keys3.length; _i33++) {
23368
+ for (var _i34 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i34 < _Object$keys3.length; _i34++) {
23292
23369
  var _ret6 = _loop8();
23293
23370
  if (_ret6 === 'continue') {
23294
23371
  continue;
@@ -23475,29 +23552,29 @@
23475
23552
  return true;
23476
23553
  }
23477
23554
  var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;
23478
- var roundingMargin = .05;
23555
+ var roundingMargin2 = .05;
23479
23556
  function targetOffsetEvaluate(node, options, vNode) {
23480
23557
  var minOffset = (options === null || options === void 0 ? void 0 : options.minOffset) || 24;
23481
23558
  var closeNeighbors = [];
23482
23559
  var closestOffset = minOffset;
23483
- var _iterator18 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step18;
23560
+ var _iterator19 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step19;
23484
23561
  try {
23485
- for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {
23486
- var vNeighbor = _step18.value;
23562
+ for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {
23563
+ var vNeighbor = _step19.value;
23487
23564
  if (get_role_type_default(vNeighbor) !== 'widget' || !_isFocusable(vNeighbor)) {
23488
23565
  continue;
23489
23566
  }
23490
- var offset = roundToSingleDecimal(_getOffset(vNode, vNeighbor));
23491
- if (offset + roundingMargin >= minOffset) {
23567
+ var offset = roundToSingleDecimal(_getOffset(vNode, vNeighbor, minOffset / 2)) * 2;
23568
+ if (offset + roundingMargin2 >= minOffset) {
23492
23569
  continue;
23493
23570
  }
23494
23571
  closestOffset = Math.min(closestOffset, offset);
23495
23572
  closeNeighbors.push(vNeighbor);
23496
23573
  }
23497
23574
  } catch (err) {
23498
- _iterator18.e(err);
23575
+ _iterator19.e(err);
23499
23576
  } finally {
23500
- _iterator18.f();
23577
+ _iterator19.f();
23501
23578
  }
23502
23579
  if (closeNeighbors.length === 0) {
23503
23580
  this.data({
@@ -23527,11 +23604,10 @@
23527
23604
  function roundToSingleDecimal(num) {
23528
23605
  return Math.round(num * 10) / 10;
23529
23606
  }
23530
- var roundingMargin2 = .05;
23531
23607
  function targetSize(node, options, vNode) {
23532
23608
  var minSize = (options === null || options === void 0 ? void 0 : options.minSize) || 24;
23533
23609
  var nodeRect = vNode.boundingClientRect;
23534
- var hasMinimumSize = rectHasMinimumSize.bind(null, minSize);
23610
+ var hasMinimumSize = _rectHasMinimumSize.bind(null, minSize);
23535
23611
  var nearbyElms = _findNearbyElms(vNode);
23536
23612
  var overflowingContent = filterOverflowingContent(vNode, nearbyElms);
23537
23613
  var _filterByElmsOverlap = filterByElmsOverlap(vNode, nearbyElms), fullyObscuringElms = _filterByElmsOverlap.fullyObscuringElms, partialObscuringElms = _filterByElmsOverlap.partialObscuringElms;
@@ -23579,18 +23655,18 @@
23579
23655
  }
23580
23656
  function filterOverflowingContent(vNode, nearbyElms) {
23581
23657
  return nearbyElms.filter(function(nearbyElm) {
23582
- return !isEnclosedRect(nearbyElm, vNode) && isDescendantNotInTabOrder(vNode, nearbyElm);
23658
+ return !isEnclosedRect2(nearbyElm, vNode) && isDescendantNotInTabOrder2(vNode, nearbyElm);
23583
23659
  });
23584
23660
  }
23585
23661
  function filterByElmsOverlap(vNode, nearbyElms) {
23586
23662
  var fullyObscuringElms = [];
23587
23663
  var partialObscuringElms = [];
23588
- var _iterator19 = _createForOfIteratorHelper(nearbyElms), _step19;
23664
+ var _iterator20 = _createForOfIteratorHelper(nearbyElms), _step20;
23589
23665
  try {
23590
- for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {
23591
- var vNeighbor = _step19.value;
23592
- if (!isDescendantNotInTabOrder(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {
23593
- if (isEnclosedRect(vNode, vNeighbor)) {
23666
+ for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {
23667
+ var vNeighbor = _step20.value;
23668
+ if (!isDescendantNotInTabOrder2(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {
23669
+ if (isEnclosedRect2(vNode, vNeighbor)) {
23594
23670
  fullyObscuringElms.push(vNeighbor);
23595
23671
  } else {
23596
23672
  partialObscuringElms.push(vNeighbor);
@@ -23598,9 +23674,9 @@
23598
23674
  }
23599
23675
  }
23600
23676
  } catch (err) {
23601
- _iterator19.e(err);
23677
+ _iterator20.e(err);
23602
23678
  } finally {
23603
- _iterator19.f();
23679
+ _iterator20.f();
23604
23680
  }
23605
23681
  return {
23606
23682
  fullyObscuringElms: fullyObscuringElms,
@@ -23617,12 +23693,12 @@
23617
23693
  return rect;
23618
23694
  });
23619
23695
  var unobscuredRects = _splitRects(nodeRect, obscuringRects);
23620
- return getLargestRect(unobscuredRects);
23696
+ return getLargestRect2(unobscuredRects);
23621
23697
  }
23622
- function getLargestRect(rects, minSize) {
23698
+ function getLargestRect2(rects, minSize) {
23623
23699
  return rects.reduce(function(rectA, rectB) {
23624
- var rectAisMinimum = rectHasMinimumSize(minSize, rectA);
23625
- var rectBisMinimum = rectHasMinimumSize(minSize, rectB);
23700
+ var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);
23701
+ var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);
23626
23702
  if (rectAisMinimum !== rectBisMinimum) {
23627
23703
  return rectAisMinimum ? rectA : rectB;
23628
23704
  }
@@ -23636,7 +23712,7 @@
23636
23712
  return get_role_type_default(vNode) === 'widget' && _isFocusable(vNode);
23637
23713
  });
23638
23714
  }
23639
- function isEnclosedRect(vNodeA, vNodeB) {
23715
+ function isEnclosedRect2(vNodeA, vNodeB) {
23640
23716
  var rectA = vNodeA.boundingClientRect;
23641
23717
  var rectB = vNodeB.boundingClientRect;
23642
23718
  return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;
@@ -23650,16 +23726,12 @@
23650
23726
  height: Math.round(rect.height * 10) / 10
23651
23727
  };
23652
23728
  }
23653
- function isDescendantNotInTabOrder(vAncestor, vNode) {
23729
+ function isDescendantNotInTabOrder2(vAncestor, vNode) {
23654
23730
  return vAncestor.actualNode.contains(vNode.actualNode) && !_isInTabOrder(vNode);
23655
23731
  }
23656
- function rectHasMinimumSize(minSize, _ref129) {
23657
- var width = _ref129.width, height = _ref129.height;
23658
- return width + roundingMargin2 >= minSize && height + roundingMargin2 >= minSize;
23659
- }
23660
23732
  function mapActualNodes(vNodes) {
23661
- return vNodes.map(function(_ref130) {
23662
- var actualNode = _ref130.actualNode;
23733
+ return vNodes.map(function(_ref129) {
23734
+ var actualNode = _ref129.actualNode;
23663
23735
  return actualNode;
23664
23736
  });
23665
23737
  }
@@ -23685,14 +23757,14 @@
23685
23757
  }
23686
23758
  function getHeadingOrder(results) {
23687
23759
  results = _toConsumableArray(results);
23688
- results.sort(function(_ref131, _ref132) {
23689
- var nodeA = _ref131.node;
23690
- var nodeB = _ref132.node;
23760
+ results.sort(function(_ref130, _ref131) {
23761
+ var nodeA = _ref130.node;
23762
+ var nodeB = _ref131.node;
23691
23763
  return nodeA.ancestry.length - nodeB.ancestry.length;
23692
23764
  });
23693
23765
  var headingOrder = results.reduce(mergeHeadingOrder, []);
23694
- return headingOrder.filter(function(_ref133) {
23695
- var level = _ref133.level;
23766
+ return headingOrder.filter(function(_ref132) {
23767
+ var level = _ref132.level;
23696
23768
  return level !== -1;
23697
23769
  });
23698
23770
  }
@@ -23743,7 +23815,7 @@
23743
23815
  var headingRole = role && role.includes('heading');
23744
23816
  var ariaHeadingLevel = vNode.attr('aria-level');
23745
23817
  var ariaLevel = parseInt(ariaHeadingLevel, 10);
23746
- var _ref134 = vNode.props.nodeName.match(/h(\d)/) || [], _ref135 = _slicedToArray(_ref134, 2), headingLevel = _ref135[1];
23818
+ var _ref133 = vNode.props.nodeName.match(/h(\d)/) || [], _ref134 = _slicedToArray(_ref133, 2), headingLevel = _ref134[1];
23747
23819
  if (!headingRole) {
23748
23820
  return -1;
23749
23821
  }
@@ -23807,8 +23879,8 @@
23807
23879
  if (results.length < 2) {
23808
23880
  return results;
23809
23881
  }
23810
- var incompleteResults = results.filter(function(_ref136) {
23811
- var result = _ref136.result;
23882
+ var incompleteResults = results.filter(function(_ref135) {
23883
+ var result = _ref135.result;
23812
23884
  return result !== void 0;
23813
23885
  });
23814
23886
  var uniqueResults = [];
@@ -23820,12 +23892,12 @@
23820
23892
  if (nameMap[name]) {
23821
23893
  return 'continue';
23822
23894
  }
23823
- var sameNameResults = incompleteResults.filter(function(_ref137, resultNum) {
23824
- var data = _ref137.data;
23895
+ var sameNameResults = incompleteResults.filter(function(_ref136, resultNum) {
23896
+ var data = _ref136.data;
23825
23897
  return data.name === name && resultNum !== index;
23826
23898
  });
23827
- var isSameUrl = sameNameResults.every(function(_ref138) {
23828
- var data = _ref138.data;
23899
+ var isSameUrl = sameNameResults.every(function(_ref137) {
23900
+ var data = _ref137.data;
23829
23901
  return isIdenticalObject(data.urlProps, urlProps);
23830
23902
  });
23831
23903
  if (sameNameResults.length && !isSameUrl) {
@@ -24244,7 +24316,7 @@
24244
24316
  var separatorRegex = /[;,\s]/;
24245
24317
  var validRedirectNumRegex = /^[0-9.]+$/;
24246
24318
  function metaRefreshEvaluate(node, options, virtualNode) {
24247
- var _ref139 = options || {}, minDelay = _ref139.minDelay, maxDelay = _ref139.maxDelay;
24319
+ var _ref138 = options || {}, minDelay = _ref138.minDelay, maxDelay = _ref138.maxDelay;
24248
24320
  var content = (virtualNode.attr('content') || '').trim();
24249
24321
  var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];
24250
24322
  if (!redirectStr.match(validRedirectNumRegex)) {
@@ -24284,16 +24356,16 @@
24284
24356
  var outerText = elm.textContent.trim();
24285
24357
  var innerText = outerText;
24286
24358
  while (innerText === outerText && nextNode !== void 0) {
24287
- var _i34 = -1;
24359
+ var _i35 = -1;
24288
24360
  elm = nextNode;
24289
24361
  if (elm.children.length === 0) {
24290
24362
  return elm;
24291
24363
  }
24292
24364
  do {
24293
- _i34++;
24294
- innerText = elm.children[_i34].textContent.trim();
24295
- } while (innerText === '' && _i34 + 1 < elm.children.length);
24296
- nextNode = elm.children[_i34];
24365
+ _i35++;
24366
+ innerText = elm.children[_i35].textContent.trim();
24367
+ } while (innerText === '' && _i35 + 1 < elm.children.length);
24368
+ nextNode = elm.children[_i35];
24297
24369
  }
24298
24370
  return elm;
24299
24371
  }
@@ -24356,19 +24428,19 @@
24356
24428
  return;
24357
24429
  }
24358
24430
  var frameAncestry = r.node.ancestry.slice(0, -1);
24359
- var _iterator20 = _createForOfIteratorHelper(iframeResults), _step20;
24431
+ var _iterator21 = _createForOfIteratorHelper(iframeResults), _step21;
24360
24432
  try {
24361
- for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {
24362
- var iframeResult = _step20.value;
24433
+ for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {
24434
+ var iframeResult = _step21.value;
24363
24435
  if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {
24364
24436
  r.result = iframeResult.result;
24365
24437
  break;
24366
24438
  }
24367
24439
  }
24368
24440
  } catch (err) {
24369
- _iterator20.e(err);
24441
+ _iterator21.e(err);
24370
24442
  } finally {
24371
- _iterator20.f();
24443
+ _iterator21.f();
24372
24444
  }
24373
24445
  });
24374
24446
  iframeResults.forEach(function(r) {
@@ -24415,8 +24487,8 @@
24415
24487
  } else if (node !== document.body && has_content_default(node, true)) {
24416
24488
  return [ virtualNode ];
24417
24489
  } else {
24418
- return virtualNode.children.filter(function(_ref140) {
24419
- var actualNode = _ref140.actualNode;
24490
+ return virtualNode.children.filter(function(_ref139) {
24491
+ var actualNode = _ref139.actualNode;
24420
24492
  return actualNode.nodeType === 1;
24421
24493
  }).map(function(vNode) {
24422
24494
  return findRegionlessElms(vNode, options);
@@ -24570,8 +24642,8 @@
24570
24642
  }
24571
24643
  return false;
24572
24644
  }
24573
- function getNumberValue(domNode, _ref141) {
24574
- var cssProperty = _ref141.cssProperty, absoluteValues = _ref141.absoluteValues, normalValue = _ref141.normalValue;
24645
+ function getNumberValue(domNode, _ref140) {
24646
+ var cssProperty = _ref140.cssProperty, absoluteValues = _ref140.absoluteValues, normalValue = _ref140.normalValue;
24575
24647
  var computedStyle = window.getComputedStyle(domNode);
24576
24648
  var cssPropValue = computedStyle.getPropertyValue(cssProperty);
24577
24649
  if (cssPropValue === 'normal') {
@@ -24648,8 +24720,8 @@
24648
24720
  if (!virtualNode.children) {
24649
24721
  return void 0;
24650
24722
  }
24651
- var titleNode = virtualNode.children.find(function(_ref142) {
24652
- var props = _ref142.props;
24723
+ var titleNode = virtualNode.children.find(function(_ref141) {
24724
+ var props = _ref141.props;
24653
24725
  return props.nodeName === 'title';
24654
24726
  });
24655
24727
  if (!titleNode) {
@@ -24849,8 +24921,8 @@
24849
24921
  var aria = /^aria-/;
24850
24922
  var attrs = virtualNode.attrNames;
24851
24923
  if (attrs.length) {
24852
- for (var _i35 = 0, l = attrs.length; _i35 < l; _i35++) {
24853
- if (aria.test(attrs[_i35])) {
24924
+ for (var _i36 = 0, l = attrs.length; _i36 < l; _i36++) {
24925
+ if (aria.test(attrs[_i36])) {
24854
24926
  return true;
24855
24927
  }
24856
24928
  }
@@ -25240,7 +25312,7 @@
25240
25312
  if (!role || [ 'none', 'presentation' ].includes(role)) {
25241
25313
  return true;
25242
25314
  }
25243
- var _ref143 = aria_roles_default[role] || {}, accessibleNameRequired = _ref143.accessibleNameRequired;
25315
+ var _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.accessibleNameRequired;
25244
25316
  if (accessibleNameRequired || _isFocusable(virtualNode)) {
25245
25317
  return true;
25246
25318
  }
@@ -25583,7 +25655,7 @@
25583
25655
  result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);
25584
25656
  } catch (e) {
25585
25657
  if (node && node.actualNode) {
25586
- e.errorNode = new dq_element_default(node).toJSON();
25658
+ e.errorNode = node_serializer_default.toSpec(node);
25587
25659
  }
25588
25660
  reject(e);
25589
25661
  return;
@@ -25613,7 +25685,7 @@
25613
25685
  result = this.evaluate.call(helper, node.actualNode, checkOptions, node, context);
25614
25686
  } catch (e) {
25615
25687
  if (node && node.actualNode) {
25616
- e.errorNode = new dq_element_default(node).toJSON();
25688
+ e.errorNode = node_serializer_default.toSpec(node);
25617
25689
  }
25618
25690
  throw e;
25619
25691
  }
@@ -25780,7 +25852,7 @@
25780
25852
  checkQueue.then(function(results) {
25781
25853
  var result = getResult(results);
25782
25854
  if (result) {
25783
- result.node = new dq_element_default(node, options);
25855
+ result.node = new dq_element_default(node);
25784
25856
  ruleResult.nodes.push(result);
25785
25857
  if (_this9.reviewOnFail) {
25786
25858
  [ 'any', 'all' ].forEach(function(type2) {
@@ -25841,7 +25913,7 @@
25841
25913
  });
25842
25914
  var result = getResult(results);
25843
25915
  if (result) {
25844
- result.node = node.actualNode ? new dq_element_default(node, options) : null;
25916
+ result.node = node.actualNode ? new dq_element_default(node) : null;
25845
25917
  ruleResult.nodes.push(result);
25846
25918
  if (_this10.reviewOnFail) {
25847
25919
  [ 'any', 'all' ].forEach(function(type2) {
@@ -26053,8 +26125,8 @@
26053
26125
  lang: this.lang
26054
26126
  };
26055
26127
  var checkIDs = Object.keys(this.data.checks);
26056
- for (var _i36 = 0; _i36 < checkIDs.length; _i36++) {
26057
- var _id6 = checkIDs[_i36];
26128
+ for (var _i37 = 0; _i37 < checkIDs.length; _i37++) {
26129
+ var _id6 = checkIDs[_i37];
26058
26130
  var check = this.data.checks[_id6];
26059
26131
  var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;
26060
26132
  locale.checks[_id6] = {
@@ -26064,8 +26136,8 @@
26064
26136
  };
26065
26137
  }
26066
26138
  var ruleIDs = Object.keys(this.data.rules);
26067
- for (var _i37 = 0; _i37 < ruleIDs.length; _i37++) {
26068
- var _id7 = ruleIDs[_i37];
26139
+ for (var _i38 = 0; _i38 < ruleIDs.length; _i38++) {
26140
+ var _id7 = ruleIDs[_i38];
26069
26141
  var rule = this.data.rules[_id7];
26070
26142
  var description = rule.description, help = rule.help;
26071
26143
  locale.rules[_id7] = {
@@ -26074,8 +26146,8 @@
26074
26146
  };
26075
26147
  }
26076
26148
  var failureSummaries = Object.keys(this.data.failureSummaries);
26077
- for (var _i38 = 0; _i38 < failureSummaries.length; _i38++) {
26078
- var type2 = failureSummaries[_i38];
26149
+ for (var _i39 = 0; _i39 < failureSummaries.length; _i39++) {
26150
+ var type2 = failureSummaries[_i39];
26079
26151
  var failureSummary2 = this.data.failureSummaries[type2];
26080
26152
  var failureMessage = failureSummary2.failureMessage;
26081
26153
  locale.failureSummaries[type2] = {
@@ -26098,8 +26170,8 @@
26098
26170
  key: '_applyCheckLocale',
26099
26171
  value: function _applyCheckLocale(checks) {
26100
26172
  var keys = Object.keys(checks);
26101
- for (var _i39 = 0; _i39 < keys.length; _i39++) {
26102
- var _id8 = keys[_i39];
26173
+ for (var _i40 = 0; _i40 < keys.length; _i40++) {
26174
+ var _id8 = keys[_i40];
26103
26175
  if (!this.data.checks[_id8]) {
26104
26176
  throw new Error('Locale provided for unknown check: "'.concat(_id8, '"'));
26105
26177
  }
@@ -26110,8 +26182,8 @@
26110
26182
  key: '_applyRuleLocale',
26111
26183
  value: function _applyRuleLocale(rules) {
26112
26184
  var keys = Object.keys(rules);
26113
- for (var _i40 = 0; _i40 < keys.length; _i40++) {
26114
- var _id9 = keys[_i40];
26185
+ for (var _i41 = 0; _i41 < keys.length; _i41++) {
26186
+ var _id9 = keys[_i41];
26115
26187
  if (!this.data.rules[_id9]) {
26116
26188
  throw new Error('Locale provided for unknown rule: "'.concat(_id9, '"'));
26117
26189
  }
@@ -26122,8 +26194,8 @@
26122
26194
  key: '_applyFailureSummaries',
26123
26195
  value: function _applyFailureSummaries(messages) {
26124
26196
  var keys = Object.keys(messages);
26125
- for (var _i41 = 0; _i41 < keys.length; _i41++) {
26126
- var _key8 = keys[_i41];
26197
+ for (var _i42 = 0; _i42 < keys.length; _i42++) {
26198
+ var _key8 = keys[_i42];
26127
26199
  if (!this.data.failureSummaries[_key8]) {
26128
26200
  throw new Error('Locale provided for unknown failureMessage: "'.concat(_key8, '"'));
26129
26201
  }
@@ -26155,10 +26227,10 @@
26155
26227
  value: function setAllowedOrigins(allowedOrigins) {
26156
26228
  var defaultOrigin = getDefaultOrigin();
26157
26229
  this.allowedOrigins = [];
26158
- var _iterator21 = _createForOfIteratorHelper(allowedOrigins), _step21;
26230
+ var _iterator22 = _createForOfIteratorHelper(allowedOrigins), _step22;
26159
26231
  try {
26160
- for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {
26161
- var origin = _step21.value;
26232
+ for (_iterator22.s(); !(_step22 = _iterator22.n()).done; ) {
26233
+ var origin = _step22.value;
26162
26234
  if (origin === constants_default.allOrigins) {
26163
26235
  this.allowedOrigins = [ '*' ];
26164
26236
  return;
@@ -26169,9 +26241,9 @@
26169
26241
  }
26170
26242
  }
26171
26243
  } catch (err) {
26172
- _iterator21.e(err);
26244
+ _iterator22.e(err);
26173
26245
  } finally {
26174
- _iterator21.f();
26246
+ _iterator22.f();
26175
26247
  }
26176
26248
  }
26177
26249
  }, {
@@ -26241,6 +26313,7 @@
26241
26313
  key: 'run',
26242
26314
  value: function run(context, options, resolve, reject) {
26243
26315
  this.normalizeOptions(options);
26316
+ dq_element_default.setRunOptions(options);
26244
26317
  axe._selectCache = [];
26245
26318
  var allRulesToRun = getRulesToRun(this.rules, context, options);
26246
26319
  var runNowRules = allRulesToRun.now;
@@ -26553,8 +26626,8 @@
26553
26626
  });
26554
26627
  };
26555
26628
  }
26556
- function getHelpUrl(_ref144, ruleId, version) {
26557
- var brand = _ref144.brand, application = _ref144.application, lang = _ref144.lang;
26629
+ function getHelpUrl(_ref143, ruleId, version) {
26630
+ var brand = _ref143.brand, application = _ref143.application, lang = _ref143.lang;
26558
26631
  return constants_default.helpUrlBase + brand + '/' + (version || axe.version.substring(0, axe.version.lastIndexOf('.'))) + '/' + ruleId + '?application=' + encodeURIComponent(application) + (lang && lang !== 'en' ? '&lang=' + encodeURIComponent(lang) : '');
26559
26632
  }
26560
26633
  function setupGlobals(context) {
@@ -26667,6 +26740,7 @@
26667
26740
  switch (data.command) {
26668
26741
  case 'rules':
26669
26742
  return runRules(context, options, function(results, cleanupFn) {
26743
+ results = node_serializer_default.mapRawResults(results);
26670
26744
  resolve(results);
26671
26745
  cleanupFn();
26672
26746
  }, reject);
@@ -26767,9 +26841,9 @@
26767
26841
  toolOptions: options
26768
26842
  });
26769
26843
  }
26770
- function normalizeRunParams(_ref145) {
26771
- var _ref147, _options$reporter, _axe$_audit;
26772
- var _ref146 = _slicedToArray(_ref145, 3), context = _ref146[0], options = _ref146[1], callback = _ref146[2];
26844
+ function normalizeRunParams(_ref144) {
26845
+ var _ref146, _options$reporter, _axe$_audit;
26846
+ var _ref145 = _slicedToArray(_ref144, 3), context = _ref145[0], options = _ref145[1], callback = _ref145[2];
26773
26847
  var typeErr = new TypeError('axe.run arguments are invalid');
26774
26848
  if (!isContextSpec(context)) {
26775
26849
  if (callback !== void 0) {
@@ -26790,7 +26864,7 @@
26790
26864
  throw typeErr;
26791
26865
  }
26792
26866
  options = _clone(options);
26793
- options.reporter = (_ref147 = (_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 && _ref147 !== void 0 ? _ref147 : 'v1';
26867
+ options.reporter = (_ref146 = (_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 && _ref146 !== void 0 ? _ref146 : 'v1';
26794
26868
  return {
26795
26869
  context: context,
26796
26870
  options: options,
@@ -26900,18 +26974,14 @@
26900
26974
  axe._tree = contextObj.flatTree;
26901
26975
  axe._selectorData = _getSelectorData(contextObj.flatTree);
26902
26976
  axe._running = true;
26977
+ options.elementRef = false;
26903
26978
  return new Promise(function(res, rej) {
26904
26979
  axe._audit.run(contextObj, options, res, rej);
26905
26980
  }).then(function(results) {
26906
- results = results.map(function(_ref148) {
26907
- var nodes = _ref148.nodes, result = _objectWithoutProperties(_ref148, _excluded13);
26908
- return _extends({
26909
- nodes: nodes.map(serializeNode)
26910
- }, result);
26911
- });
26912
- var frames = contextObj.frames.map(function(_ref149) {
26913
- var node = _ref149.node;
26914
- return new dq_element_default(node, options).toJSON();
26981
+ results = node_serializer_default.mapRawResults(results);
26982
+ var frames = contextObj.frames.map(function(_ref147) {
26983
+ var node = _ref147.node;
26984
+ return node_serializer_default.toSpec(node);
26915
26985
  });
26916
26986
  var environmentData;
26917
26987
  if (contextObj.initiator) {
@@ -26930,31 +27000,15 @@
26930
27000
  return Promise.reject(err2);
26931
27001
  });
26932
27002
  }
26933
- function serializeNode(_ref150) {
26934
- var node = _ref150.node, nodeResult = _objectWithoutProperties(_ref150, _excluded14);
26935
- nodeResult.node = node.toJSON();
26936
- for (var _i42 = 0, _arr4 = [ 'any', 'all', 'none' ]; _i42 < _arr4.length; _i42++) {
26937
- var type2 = _arr4[_i42];
26938
- nodeResult[type2] = nodeResult[type2].map(function(_ref151) {
26939
- var relatedNodes = _ref151.relatedNodes, checkResult = _objectWithoutProperties(_ref151, _excluded15);
26940
- return _extends({}, checkResult, {
26941
- relatedNodes: relatedNodes.map(function(relatedNode) {
26942
- return relatedNode.toJSON();
26943
- })
26944
- });
26945
- });
26946
- }
26947
- return nodeResult;
26948
- }
26949
27003
  function finishRun(partialResults) {
26950
- var _ref153, _options$reporter2, _axe$_audit2;
27004
+ var _ref149, _options$reporter2, _axe$_audit2;
26951
27005
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26952
27006
  options = _clone(options);
26953
- var _ref152 = partialResults.find(function(r) {
27007
+ var _ref148 = partialResults.find(function(r) {
26954
27008
  return r.environmentData;
26955
- }) || {}, environmentData = _ref152.environmentData;
27009
+ }) || {}, environmentData = _ref148.environmentData;
26956
27010
  axe._audit.normalizeOptions(options);
26957
- options.reporter = (_ref153 = (_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 && _ref153 !== void 0 ? _ref153 : 'v1';
27011
+ options.reporter = (_ref149 = (_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 && _ref149 !== void 0 ? _ref149 : 'v1';
26958
27012
  setFrameSpec(partialResults);
26959
27013
  var results = merge_results_default(partialResults);
26960
27014
  results = axe._audit.after(results, options);
@@ -26966,10 +27020,10 @@
26966
27020
  }
26967
27021
  function setFrameSpec(partialResults) {
26968
27022
  var frameStack = [];
26969
- var _iterator22 = _createForOfIteratorHelper(partialResults), _step22;
27023
+ var _iterator23 = _createForOfIteratorHelper(partialResults), _step23;
26970
27024
  try {
26971
- for (_iterator22.s(); !(_step22 = _iterator22.n()).done; ) {
26972
- var partialResult = _step22.value;
27025
+ for (_iterator23.s(); !(_step23 = _iterator23.n()).done; ) {
27026
+ var partialResult = _step23.value;
26973
27027
  var frameSpec = frameStack.shift();
26974
27028
  if (!partialResult) {
26975
27029
  continue;
@@ -26979,18 +27033,18 @@
26979
27033
  frameStack.unshift.apply(frameStack, _toConsumableArray(frameSpecs));
26980
27034
  }
26981
27035
  } catch (err) {
26982
- _iterator22.e(err);
27036
+ _iterator23.e(err);
26983
27037
  } finally {
26984
- _iterator22.f();
27038
+ _iterator23.f();
26985
27039
  }
26986
27040
  }
26987
- function getMergedFrameSpecs(_ref154) {
26988
- var childFrameSpecs = _ref154.frames, parentFrameSpec = _ref154.frameSpec;
27041
+ function getMergedFrameSpecs(_ref150) {
27042
+ var childFrameSpecs = _ref150.frames, parentFrameSpec = _ref150.frameSpec;
26989
27043
  if (!parentFrameSpec) {
26990
27044
  return childFrameSpecs;
26991
27045
  }
26992
27046
  return childFrameSpecs.map(function(childFrameSpec) {
26993
- return dq_element_default.mergeSpecs(childFrameSpec, parentFrameSpec);
27047
+ return node_serializer_default.mergeSpecs(childFrameSpec, parentFrameSpec);
26994
27048
  });
26995
27049
  }
26996
27050
  function createReport2(results, options) {
@@ -27018,7 +27072,7 @@
27018
27072
  callback = options;
27019
27073
  options = {};
27020
27074
  }
27021
- var _options3 = options, environmentData = _options3.environmentData, toolOptions = _objectWithoutProperties(_options3, _excluded16);
27075
+ var _options3 = options, environmentData = _options3.environmentData, toolOptions = _objectWithoutProperties(_options3, _excluded15);
27022
27076
  callback(_extends({}, _getEnvironmentData(environmentData), {
27023
27077
  toolOptions: toolOptions
27024
27078
  }, processAggregate(results, options)));
@@ -27029,7 +27083,7 @@
27029
27083
  callback = options;
27030
27084
  options = {};
27031
27085
  }
27032
- var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded17);
27086
+ var _options4 = options, environmentData = _options4.environmentData, toolOptions = _objectWithoutProperties(_options4, _excluded16);
27033
27087
  options.resultTypes = [ 'violations' ];
27034
27088
  var _processAggregate = processAggregate(results, options), violations = _processAggregate.violations;
27035
27089
  callback(_extends({}, _getEnvironmentData(environmentData), {
@@ -27051,16 +27105,7 @@
27051
27105
  var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];
27052
27106
  for (var _i43 = 0, _types = types; _i43 < _types.length; _i43++) {
27053
27107
  var type2 = _types[_i43];
27054
- if (transformedResult[type2] && Array.isArray(transformedResult[type2])) {
27055
- transformedResult[type2] = transformedResult[type2].map(function(_ref155) {
27056
- var _node;
27057
- var node = _ref155.node, typeResult = _objectWithoutProperties(_ref155, _excluded18);
27058
- node = typeof ((_node = node) === null || _node === void 0 ? void 0 : _node.toJSON) === 'function' ? node.toJSON() : node;
27059
- return _extends({
27060
- node: node
27061
- }, typeResult);
27062
- });
27063
- }
27108
+ transformedResult[type2] = node_serializer_default.mapRawNodeResults(transformedResult[type2]);
27064
27109
  }
27065
27110
  return transformedResult;
27066
27111
  });
@@ -27072,7 +27117,7 @@
27072
27117
  callback = options;
27073
27118
  options = {};
27074
27119
  }
27075
- var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded19);
27120
+ var _options5 = options, environmentData = _options5.environmentData, toolOptions = _objectWithoutProperties(_options5, _excluded17);
27076
27121
  raw_default(results, toolOptions, function(raw) {
27077
27122
  var env = _getEnvironmentData(environmentData);
27078
27123
  callback({
@@ -27087,7 +27132,7 @@
27087
27132
  callback = options;
27088
27133
  options = {};
27089
27134
  }
27090
- var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded20);
27135
+ var _options6 = options, environmentData = _options6.environmentData, toolOptions = _objectWithoutProperties(_options6, _excluded18);
27091
27136
  var out = processAggregate(results, options);
27092
27137
  var addFailureSummaries = function addFailureSummaries(result) {
27093
27138
  result.nodes.forEach(function(nodeResult) {
@@ -27106,7 +27151,7 @@
27106
27151
  callback = options;
27107
27152
  options = {};
27108
27153
  }
27109
- var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded21);
27154
+ var _options7 = options, environmentData = _options7.environmentData, toolOptions = _objectWithoutProperties(_options7, _excluded19);
27110
27155
  var out = processAggregate(results, options);
27111
27156
  callback(_extends({}, _getEnvironmentData(environmentData), {
27112
27157
  toolOptions: toolOptions
@@ -27231,8 +27276,8 @@
27231
27276
  help: 'ARIA dialog and alertdialog nodes should have an accessible name'
27232
27277
  },
27233
27278
  'aria-hidden-body': {
27234
- description: 'Ensures aria-hidden=\'true\' is not present on the document body.',
27235
- help: 'aria-hidden=\'true\' must not be present on the document body'
27279
+ description: 'Ensures aria-hidden="true" is not present on the document body.',
27280
+ help: 'aria-hidden="true" must not be present on the document body'
27236
27281
  },
27237
27282
  'aria-hidden-focus': {
27238
27283
  description: 'Ensures aria-hidden elements are not focusable nor contain focusable elements',
@@ -27275,7 +27320,7 @@
27275
27320
  help: 'ARIA roles used must conform to valid values'
27276
27321
  },
27277
27322
  'aria-text': {
27278
- description: 'Ensures "role=text" is used on elements with no focusable descendants',
27323
+ description: 'Ensures role="text" is used on elements with no focusable descendants',
27279
27324
  help: '"role=text" should have no focusable descendants'
27280
27325
  },
27281
27326
  'aria-toggle-field-name': {
@@ -27543,8 +27588,8 @@
27543
27588
  help: 'All page content should be contained by landmarks'
27544
27589
  },
27545
27590
  'role-img-alt': {
27546
- description: 'Ensures [role=\'img\'] elements have alternate text',
27547
- help: '[role=\'img\'] elements must have an alternative text'
27591
+ description: 'Ensures [role="img"] elements have alternate text',
27592
+ help: '[role="img"] elements must have an alternative text'
27548
27593
  },
27549
27594
  'scope-attr-valid': {
27550
27595
  description: 'Ensures the scope attribute is used correctly on tables',
@@ -27797,7 +27842,7 @@
27797
27842
  'braille-roledescription-equivalent': {
27798
27843
  impact: 'serious',
27799
27844
  messages: {
27800
- pass: 'aria-brailleroledescription is not used on an element with no accessible text',
27845
+ pass: 'aria-brailleroledescription is used on an element with aria-roledescription',
27801
27846
  fail: {
27802
27847
  noRoleDescription: 'aria-brailleroledescription is used on an element with no aria-roledescription',
27803
27848
  emptyRoleDescription: 'aria-brailleroledescription is used on an element with an empty aria-roledescription'
@@ -28022,7 +28067,7 @@
28022
28067
  messages: {
28023
28068
  pass: 'No focusable elements contained within element',
28024
28069
  incomplete: 'Check if the focusable elements immediately move the focus indicator',
28025
- fail: 'Focusable content should have tabindex=\'-1\' or be removed from the DOM'
28070
+ fail: 'Focusable content should have tabindex="-1" or be removed from the DOM'
28026
28071
  }
28027
28072
  },
28028
28073
  'frame-focusable-content': {
@@ -28046,7 +28091,7 @@
28046
28091
  pass: 'Element does not have focusable descendants',
28047
28092
  fail: {
28048
28093
  default: 'Element has focusable descendants',
28049
- notHidden: 'Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with \'aria-hidden=true\')'
28094
+ notHidden: 'Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with aria-hidden="true")'
28050
28095
  },
28051
28096
  incomplete: 'Could not determine if element has descendants'
28052
28097
  }
@@ -28276,11 +28321,11 @@
28276
28321
  'target-offset': {
28277
28322
  impact: 'serious',
28278
28323
  messages: {
28279
- pass: 'Target has sufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px)',
28280
- fail: 'Target has insufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px)',
28324
+ pass: 'Target has sufficient space from its closest neighbors (${data.closestOffset}px should be at least ${data.minOffset}px)',
28325
+ fail: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px)',
28281
28326
  incomplete: {
28282
- default: 'Element with negative tabindex has insufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px). Is this a target?',
28283
- nonTabbableNeighbor: 'Target has insufficient offset from a neighbor with negative tabindex (${data.closestOffset}px should be at least ${data.minOffset}px). Is the neighbor a target?'
28327
+ default: 'Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px). Is this a target?',
28328
+ nonTabbableNeighbor: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px). Is the neighbor a target?'
28284
28329
  }
28285
28330
  }
28286
28331
  },
@@ -28736,6 +28781,7 @@
28736
28781
  none: []
28737
28782
  }, {
28738
28783
  id: 'aria-braille-equivalent',
28784
+ reviewOnFail: true,
28739
28785
  impact: 'serious',
28740
28786
  selector: '[aria-brailleroledescription], [aria-braillelabel]',
28741
28787
  tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],