axe-core 4.5.2-canary.2acd005 → 4.5.2-canary.5259e88

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.5.2-canary.2acd005
1
+ /*! axe v4.5.2-canary.5259e88
2
2
  * Copyright (c) 2022 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.5.2-canary.2acd005';
25
+ axe.version = '4.5.2-canary.5259e88';
26
26
  if (typeof define === 'function' && define.amd) {
27
27
  define('axe-core', [], function() {
28
28
  return axe;
@@ -9059,8 +9059,8 @@
9059
9059
  },
9060
9060
  meter: {
9061
9061
  type: 'structure',
9062
- allowedAttrs: [ 'aria-valuetext' ],
9063
- requiredAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuenow' ],
9062
+ requiredAttrs: [ 'aria-valuenow' ],
9063
+ allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuetext' ],
9064
9064
  superclassRole: [ 'range' ],
9065
9065
  accessibleNameRequired: true,
9066
9066
  childrenPresentational: true
@@ -9196,7 +9196,8 @@
9196
9196
  },
9197
9197
  separator: {
9198
9198
  type: 'structure',
9199
- allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-orientation', 'aria-valuetext' ],
9199
+ requiredAttrs: [ 'aria-valuenow' ],
9200
+ allowedAttrs: [ 'aria-valuemax', 'aria-valuemin', 'aria-orientation', 'aria-valuetext' ],
9200
9201
  superclassRole: [ 'structure', 'widget' ],
9201
9202
  childrenPresentational: true
9202
9203
  },
@@ -17101,40 +17102,43 @@
17101
17102
  function ariaRequiredAttrEvaluate(node) {
17102
17103
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
17103
17104
  var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
17104
- var missing = [];
17105
- var attrs = virtualNode.attrNames;
17106
17105
  var role = get_explicit_role_default(virtualNode);
17107
- if (attrs.length) {
17108
- var required = required_attr_default(role);
17109
- var elmSpec = get_element_spec_default(virtualNode);
17110
- if (Array.isArray(options[role])) {
17111
- required = unique_array_default(options[role], required);
17112
- }
17113
- if (role && required) {
17114
- for (var _i19 = 0, l = required.length; _i19 < l; _i19++) {
17115
- var attr = required[_i19];
17116
- if (!virtualNode.attr(attr) && !(elmSpec.implicitAttrs && typeof elmSpec.implicitAttrs[attr] !== 'undefined')) {
17117
- missing.push(attr);
17118
- }
17119
- }
17120
- }
17106
+ var attrs = virtualNode.attrNames;
17107
+ var requiredAttrs = required_attr_default(role);
17108
+ if (Array.isArray(options[role])) {
17109
+ requiredAttrs = unique_array_default(options[role], requiredAttrs);
17110
+ }
17111
+ if (!role || !attrs.length || !requiredAttrs.length) {
17112
+ return true;
17121
17113
  }
17122
- var comboboxMissingControls = role === 'combobox' && missing.includes('aria-controls');
17123
- if (comboboxMissingControls && (virtualNode.hasAttr('aria-owns') || virtualNode.attr('aria-expanded') !== 'true')) {
17124
- missing.splice(missing.indexOf('aria-controls', 1));
17114
+ if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {
17115
+ return true;
17125
17116
  }
17126
- if (missing.length) {
17127
- this.data(missing);
17117
+ var elmSpec = get_element_spec_default(virtualNode);
17118
+ var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {
17119
+ return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);
17120
+ });
17121
+ if (missingAttrs.length) {
17122
+ this.data(missingAttrs);
17128
17123
  return false;
17129
17124
  }
17130
17125
  return true;
17131
17126
  }
17132
- var aria_required_attr_evaluate_default = ariaRequiredAttrEvaluate;
17127
+ function isStaticSeparator(vNode, role) {
17128
+ return role === 'separator' && !_isFocusable(vNode);
17129
+ }
17130
+ function hasImplicitAttr(elmSpec, attr) {
17131
+ var _elmSpec$implicitAttr;
17132
+ return ((_elmSpec$implicitAttr = elmSpec.implicitAttrs) === null || _elmSpec$implicitAttr === void 0 ? void 0 : _elmSpec$implicitAttr[attr]) !== void 0;
17133
+ }
17134
+ function isClosedCombobox(vNode, role) {
17135
+ return role === 'combobox' && vNode.attr('aria-expanded') === 'false';
17136
+ }
17133
17137
  function getOwnedRoles(virtualNode, required) {
17134
17138
  var ownedRoles = [];
17135
17139
  var ownedElements = get_owned_virtual_default(virtualNode);
17136
- var _loop5 = function _loop5(_i20) {
17137
- var ownedElement = ownedElements[_i20];
17140
+ var _loop5 = function _loop5(_i19) {
17141
+ var ownedElement = ownedElements[_i19];
17138
17142
  var role = get_role_default(ownedElement, {
17139
17143
  noPresentational: true
17140
17144
  });
@@ -17153,14 +17157,14 @@
17153
17157
  });
17154
17158
  }
17155
17159
  };
17156
- for (var _i20 = 0; _i20 < ownedElements.length; _i20++) {
17157
- _loop5(_i20);
17160
+ for (var _i19 = 0; _i19 < ownedElements.length; _i19++) {
17161
+ _loop5(_i19);
17158
17162
  }
17159
17163
  return ownedRoles;
17160
17164
  }
17161
17165
  function missingRequiredChildren(virtualNode, role, required, ownedRoles) {
17162
- var _loop6 = function _loop6(_i21) {
17163
- var role2 = ownedRoles[_i21].role;
17166
+ var _loop6 = function _loop6(_i20) {
17167
+ var role2 = ownedRoles[_i20].role;
17164
17168
  if (required.includes(role2)) {
17165
17169
  required = required.filter(function(requiredRole) {
17166
17170
  return requiredRole !== role2;
@@ -17170,8 +17174,8 @@
17170
17174
  };
17171
17175
  }
17172
17176
  };
17173
- for (var _i21 = 0; _i21 < ownedRoles.length; _i21++) {
17174
- var _ret2 = _loop6(_i21);
17177
+ for (var _i20 = 0; _i20 < ownedRoles.length; _i20++) {
17178
+ var _ret2 = _loop6(_i20);
17175
17179
  if (_typeof(_ret2) === 'object') {
17176
17180
  return _ret2.v;
17177
17181
  }
@@ -17271,8 +17275,8 @@
17271
17275
  }
17272
17276
  var owners = getAriaOwners(node);
17273
17277
  if (owners) {
17274
- for (var _i22 = 0, l = owners.length; _i22 < l; _i22++) {
17275
- missingParents = getMissingContext(get_node_from_tree_default(owners[_i22]), ownGroupRoles, missingParents, true);
17278
+ for (var _i21 = 0, l = owners.length; _i21 < l; _i21++) {
17279
+ missingParents = getMissingContext(get_node_from_tree_default(owners[_i21]), ownGroupRoles, missingParents, true);
17276
17280
  if (!missingParents) {
17277
17281
  return true;
17278
17282
  }
@@ -17757,11 +17761,11 @@
17757
17761
  return position === 'static';
17758
17762
  }
17759
17763
  function calculateObscuringElement(elmIndex, elmStack, originalElm) {
17760
- for (var _i23 = elmIndex - 1; _i23 >= 0; _i23--) {
17761
- if (!isInlineDescendant(originalElm, elmStack[_i23])) {
17764
+ for (var _i22 = elmIndex - 1; _i22 >= 0; _i22--) {
17765
+ if (!isInlineDescendant(originalElm, elmStack[_i22])) {
17762
17766
  return true;
17763
17767
  }
17764
- elmStack.splice(_i23, 1);
17768
+ elmStack.splice(_i22, 1);
17765
17769
  }
17766
17770
  return false;
17767
17771
  }
@@ -19247,7 +19251,7 @@
19247
19251
  var relatedElements = [];
19248
19252
  var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
19249
19253
  var _loop7 = function _loop7() {
19250
- var key = _Object$keys2[_i24];
19254
+ var key = _Object$keys2[_i23];
19251
19255
  var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
19252
19256
  var orientationRules = rules.filter(isMediaRuleWithOrientation);
19253
19257
  if (!orientationRules.length) {
@@ -19265,7 +19269,7 @@
19265
19269
  });
19266
19270
  });
19267
19271
  };
19268
- for (var _i24 = 0, _Object$keys2 = Object.keys(rulesGroupByDocumentFragment); _i24 < _Object$keys2.length; _i24++) {
19272
+ for (var _i23 = 0, _Object$keys2 = Object.keys(rulesGroupByDocumentFragment); _i23 < _Object$keys2.length; _i23++) {
19269
19273
  var _ret3 = _loop7();
19270
19274
  if (_ret3 === 'continue') {
19271
19275
  continue;
@@ -20253,16 +20257,16 @@
20253
20257
  var outerText = elm.textContent.trim();
20254
20258
  var innerText = outerText;
20255
20259
  while (innerText === outerText && nextNode !== void 0) {
20256
- var _i25 = -1;
20260
+ var _i24 = -1;
20257
20261
  elm = nextNode;
20258
20262
  if (elm.children.length === 0) {
20259
20263
  return elm;
20260
20264
  }
20261
20265
  do {
20262
- _i25++;
20263
- innerText = elm.children[_i25].textContent.trim();
20264
- } while (innerText === '' && _i25 + 1 < elm.children.length);
20265
- nextNode = elm.children[_i25];
20266
+ _i24++;
20267
+ innerText = elm.children[_i24].textContent.trim();
20268
+ } while (innerText === '' && _i24 + 1 < elm.children.length);
20269
+ nextNode = elm.children[_i24];
20266
20270
  }
20267
20271
  return elm;
20268
20272
  }
@@ -20820,8 +20824,8 @@
20820
20824
  var aria = /^aria-/;
20821
20825
  var attrs = virtualNode.attrNames;
20822
20826
  if (attrs.length) {
20823
- for (var _i26 = 0, l = attrs.length; _i26 < l; _i26++) {
20824
- if (aria.test(attrs[_i26])) {
20827
+ for (var _i25 = 0, l = attrs.length; _i25 < l; _i25++) {
20828
+ if (aria.test(attrs[_i25])) {
20825
20829
  return true;
20826
20830
  }
20827
20831
  }
@@ -21373,7 +21377,7 @@
21373
21377
  'aria-labelledby-evaluate': aria_labelledby_evaluate_default,
21374
21378
  'aria-level-evaluate': aria_level_evaluate_default,
21375
21379
  'aria-prohibited-attr-evaluate': ariaProhibitedAttrEvaluate,
21376
- 'aria-required-attr-evaluate': aria_required_attr_evaluate_default,
21380
+ 'aria-required-attr-evaluate': ariaRequiredAttrEvaluate,
21377
21381
  'aria-required-children-evaluate': aria_required_children_evaluate_default,
21378
21382
  'aria-required-children-matches': aria_required_children_matches_default,
21379
21383
  'aria-required-parent-evaluate': aria_required_parent_evaluate_default,
@@ -22113,8 +22117,8 @@
22113
22117
  lang: this.lang
22114
22118
  };
22115
22119
  var checkIDs = Object.keys(this.data.checks);
22116
- for (var _i27 = 0; _i27 < checkIDs.length; _i27++) {
22117
- var id = checkIDs[_i27];
22120
+ for (var _i26 = 0; _i26 < checkIDs.length; _i26++) {
22121
+ var id = checkIDs[_i26];
22118
22122
  var check = this.data.checks[id];
22119
22123
  var _check$messages = check.messages, pass = _check$messages.pass, fail = _check$messages.fail, incomplete = _check$messages.incomplete;
22120
22124
  locale.checks[id] = {
@@ -22124,8 +22128,8 @@
22124
22128
  };
22125
22129
  }
22126
22130
  var ruleIDs = Object.keys(this.data.rules);
22127
- for (var _i28 = 0; _i28 < ruleIDs.length; _i28++) {
22128
- var _id = ruleIDs[_i28];
22131
+ for (var _i27 = 0; _i27 < ruleIDs.length; _i27++) {
22132
+ var _id = ruleIDs[_i27];
22129
22133
  var rule = this.data.rules[_id];
22130
22134
  var description = rule.description, help = rule.help;
22131
22135
  locale.rules[_id] = {
@@ -22134,8 +22138,8 @@
22134
22138
  };
22135
22139
  }
22136
22140
  var failureSummaries = Object.keys(this.data.failureSummaries);
22137
- for (var _i29 = 0; _i29 < failureSummaries.length; _i29++) {
22138
- var type = failureSummaries[_i29];
22141
+ for (var _i28 = 0; _i28 < failureSummaries.length; _i28++) {
22142
+ var type = failureSummaries[_i28];
22139
22143
  var failureSummary2 = this.data.failureSummaries[type];
22140
22144
  var failureMessage = failureSummary2.failureMessage;
22141
22145
  locale.failureSummaries[type] = {
@@ -22158,8 +22162,8 @@
22158
22162
  key: '_applyCheckLocale',
22159
22163
  value: function _applyCheckLocale(checks) {
22160
22164
  var keys = Object.keys(checks);
22161
- for (var _i30 = 0; _i30 < keys.length; _i30++) {
22162
- var id = keys[_i30];
22165
+ for (var _i29 = 0; _i29 < keys.length; _i29++) {
22166
+ var id = keys[_i29];
22163
22167
  if (!this.data.checks[id]) {
22164
22168
  throw new Error('Locale provided for unknown check: "'.concat(id, '"'));
22165
22169
  }
@@ -22170,8 +22174,8 @@
22170
22174
  key: '_applyRuleLocale',
22171
22175
  value: function _applyRuleLocale(rules) {
22172
22176
  var keys = Object.keys(rules);
22173
- for (var _i31 = 0; _i31 < keys.length; _i31++) {
22174
- var id = keys[_i31];
22177
+ for (var _i30 = 0; _i30 < keys.length; _i30++) {
22178
+ var id = keys[_i30];
22175
22179
  if (!this.data.rules[id]) {
22176
22180
  throw new Error('Locale provided for unknown rule: "'.concat(id, '"'));
22177
22181
  }
@@ -22182,8 +22186,8 @@
22182
22186
  key: '_applyFailureSummaries',
22183
22187
  value: function _applyFailureSummaries(messages) {
22184
22188
  var keys = Object.keys(messages);
22185
- for (var _i32 = 0; _i32 < keys.length; _i32++) {
22186
- var key = keys[_i32];
22189
+ for (var _i31 = 0; _i31 < keys.length; _i31++) {
22190
+ var key = keys[_i31];
22187
22191
  if (!this.data.failureSummaries[key]) {
22188
22192
  throw new Error('Locale provided for unknown failureMessage: "'.concat(key, '"'));
22189
22193
  }
@@ -22922,8 +22926,8 @@
22922
22926
  function serializeNode(_ref113) {
22923
22927
  var node = _ref113.node, nodeResult = _objectWithoutProperties(_ref113, _excluded9);
22924
22928
  nodeResult.node = node.toJSON();
22925
- for (var _i33 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i33 < _arr2.length; _i33++) {
22926
- var type = _arr2[_i33];
22929
+ for (var _i32 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i32 < _arr2.length; _i32++) {
22930
+ var type = _arr2[_i32];
22927
22931
  nodeResult[type] = nodeResult[type].map(function(_ref114) {
22928
22932
  var relatedNodes = _ref114.relatedNodes, checkResult = _objectWithoutProperties(_ref114, _excluded10);
22929
22933
  return _extends({}, checkResult, {
@@ -23034,8 +23038,8 @@
23034
23038
  var transformedResults = results.map(function(result) {
23035
23039
  var transformedResult = _extends({}, result);
23036
23040
  var types = [ 'passes', 'violations', 'incomplete', 'inapplicable' ];
23037
- for (var _i34 = 0, _types = types; _i34 < _types.length; _i34++) {
23038
- var type = _types[_i34];
23041
+ for (var _i33 = 0, _types = types; _i33 < _types.length; _i33++) {
23042
+ var type = _types[_i33];
23039
23043
  if (transformedResult[type] && Array.isArray(transformedResult[type])) {
23040
23044
  transformedResult[type] = transformedResult[type].map(function(_ref118) {
23041
23045
  var _node;