Update checked-in dependencies

This commit is contained in:
github-actions[bot] 2025-02-03 17:20:53 +00:00
parent 3e913ef09d
commit 9660df3fcc
990 changed files with 74805 additions and 60149 deletions

View file

@ -30,6 +30,5 @@ function attributesComparator() {
});
});
}
var _default = attributesComparator;
exports["default"] = _default;
var _default = exports["default"] = attributesComparator;
module.exports = exports.default;

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getAccessibleChildText;
var _jsxAstUtils = require("jsx-ast-utils");
var _isHiddenFromScreenReader = _interopRequireDefault(require("./isHiddenFromScreenReader"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns a new "standardized" string: all whitespace is collapsed to one space,
* and the string is lowercase

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getComputedRole;
var _getExplicitRole = _interopRequireDefault(require("./getExplicitRole"));
var _getImplicitRole = _interopRequireDefault(require("./getImplicitRole"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns an element's computed role, which is
*

View file

@ -1,24 +1,30 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _has = _interopRequireDefault(require("has"));
var _hasown = _interopRequireDefault(require("hasown"));
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _jsxAstUtils = require("jsx-ast-utils");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var getElementType = function getElementType(context) {
var _settings$jsxA11y;
var _settings$jsxA11y, _settings$jsxA11y2, _settings$jsxA11y3;
var settings = context.settings;
var componentMap = (_settings$jsxA11y = settings['jsx-a11y']) === null || _settings$jsxA11y === void 0 ? void 0 : _settings$jsxA11y.components;
if (!componentMap) {
return _jsxAstUtils.elementType;
}
var polymorphicPropName = (_settings$jsxA11y = settings['jsx-a11y']) === null || _settings$jsxA11y === void 0 ? void 0 : _settings$jsxA11y.polymorphicPropName;
var polymorphicAllowList = (_settings$jsxA11y2 = settings['jsx-a11y']) === null || _settings$jsxA11y2 === void 0 ? void 0 : _settings$jsxA11y2.polymorphicAllowList;
var componentMap = (_settings$jsxA11y3 = settings['jsx-a11y']) === null || _settings$jsxA11y3 === void 0 ? void 0 : _settings$jsxA11y3.components;
return function (node) {
var polymorphicProp = polymorphicPropName ? (0, _jsxAstUtils.getLiteralPropValue)((0, _jsxAstUtils.getProp)(node.attributes, polymorphicPropName)) : undefined;
var rawType = (0, _jsxAstUtils.elementType)(node);
return (0, _has["default"])(componentMap, rawType) ? componentMap[rawType] : rawType;
if (polymorphicProp && (!polymorphicAllowList || (0, _arrayIncludes["default"])(polymorphicAllowList, rawType))) {
rawType = polymorphicProp;
}
if (!componentMap) {
return rawType;
}
return (0, _hasown["default"])(componentMap, rawType) ? componentMap[rawType] : rawType;
};
};
var _default = getElementType;
exports["default"] = _default;
var _default = exports["default"] = getElementType;
module.exports = exports.default;

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getImplicitRole;
var _ariaQuery = require("aria-query");
var _implicitRoles = _interopRequireDefault(require("./implicitRoles"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns an element's implicit role given its attributes and type.
* Some elements only have an implicit role when certain props are defined.

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getSuggestion;
var _damerauLevenshtein = _interopRequireDefault(require("damerau-levenshtein"));
var _object = _interopRequireDefault(require("object.fromentries"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// Minimum edit distance to be considered a good suggestion.
var THRESHOLD = 2;

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = hasAccessibleChild;
var _jsxAstUtils = require("jsx-ast-utils");
var _isHiddenFromScreenReader = _interopRequireDefault(require("./isHiddenFromScreenReader"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function hasAccessibleChild(node, elementType) {
return node.children.some(function (child) {
switch (child.type) {

View file

@ -9,10 +9,23 @@ var _jsxAstUtils = require("jsx-ast-utils");
* Returns the implicit role for an img tag.
*/
function getImplicitRoleForImg(attributes) {
var _getLiteralPropValue;
var alt = (0, _jsxAstUtils.getProp)(attributes, 'alt');
if (alt && (0, _jsxAstUtils.getLiteralPropValue)(alt) === '') {
return '';
}
/**
* If the src attribute can be determined to be an svg, allow the role to be set to 'img'
* so that VoiceOver on Safari can be better supported.
*
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#identifying_svg_as_an_image
* @see https://bugs.webkit.org/show_bug.cgi?id=216364
*/
var src = (0, _jsxAstUtils.getProp)(attributes, 'src');
if (src && (_getLiteralPropValue = (0, _jsxAstUtils.getLiteralPropValue)(src)) !== null && _getLiteralPropValue !== void 0 && _getLiteralPropValue.includes('.svg')) {
return '';
}
return 'img';
}
module.exports = exports.default;

View file

@ -1,6 +1,5 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
@ -41,7 +40,8 @@ var _textarea = _interopRequireDefault(require("./textarea"));
var _tfoot = _interopRequireDefault(require("./tfoot"));
var _thead = _interopRequireDefault(require("./thead"));
var _ul = _interopRequireDefault(require("./ul"));
var _default = {
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var _default = exports["default"] = {
a: _a["default"],
area: _area["default"],
article: _article["default"],
@ -79,5 +79,4 @@ var _default = {
thead: _thead["default"],
ul: _ul["default"]
};
exports["default"] = _default;
module.exports = exports.default;

View file

@ -1,26 +1,23 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _jsxAstUtils = require("jsx-ast-utils");
var abstractRoles = new Set((0, _toConsumableArray2["default"])(_ariaQuery.roles.keys()).filter(function (role) {
var abstractRoles = new Set(_ariaQuery.roles.keys().filter(function (role) {
return _ariaQuery.roles.get(role)["abstract"];
}));
var DOMElements = (0, _toConsumableArray2["default"])(_ariaQuery.dom.keys());
var DOMElements = new Set(_ariaQuery.dom.keys());
var isAbstractRole = function isAbstractRole(tagName, attributes) {
// Do not test higher level JSX components, as we do not know what
// low-level DOM element this maps to.
if (DOMElements.indexOf(tagName) === -1) {
if (!DOMElements.has(tagName)) {
return false;
}
var role = (0, _jsxAstUtils.getLiteralPropValue)((0, _jsxAstUtils.getProp)(attributes, 'role'));
return abstractRoles.has(role);
};
var _default = isAbstractRole;
exports["default"] = _default;
var _default = exports["default"] = isAbstractRole;
module.exports = exports.default;

View file

@ -1,21 +1,15 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var domElements = (0, _toConsumableArray2["default"])(_ariaQuery.dom.keys());
/**
* Returns boolean indicating whether the given element is a DOM element.
*/
var isDOMElement = function isDOMElement(tagName) {
return (0, _arrayIncludes["default"])(domElements, tagName);
return _ariaQuery.dom.has(tagName);
};
var _default = isDOMElement;
exports["default"] = _default;
var _default = exports["default"] = isDOMElement;
module.exports = exports.default;

View file

@ -19,6 +19,5 @@ var isDisabledElement = function isDisabledElement(attributes) {
}
return false;
};
var _default = isDisabledElement;
exports["default"] = _default;
var _default = exports["default"] = isDisabledElement;
module.exports = exports.default;

View file

@ -1,6 +1,5 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
@ -8,6 +7,7 @@ exports["default"] = void 0;
var _jsxAstUtils = require("jsx-ast-utils");
var _getTabIndex = _interopRequireDefault(require("./getTabIndex"));
var _isInteractiveElement = _interopRequireDefault(require("./isInteractiveElement"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns boolean indicating whether an element appears in tab focus.
* Identifies an element as focusable if it is an interactive element, or an element with a tabIndex greater than or equal to 0.
@ -19,6 +19,5 @@ function isFocusable(type, attributes) {
}
return tabIndex >= 0;
}
var _default = isFocusable;
exports["default"] = _default;
var _default = exports["default"] = isFocusable;
module.exports = exports.default;

View file

@ -22,6 +22,5 @@ var isHiddenFromScreenReader = function isHiddenFromScreenReader(type, attribute
var ariaHidden = (0, _jsxAstUtils.getPropValue)((0, _jsxAstUtils.getProp)(attributes, 'aria-hidden'));
return ariaHidden === true;
};
var _default = isHiddenFromScreenReader;
exports["default"] = _default;
var _default = exports["default"] = isHiddenFromScreenReader;
module.exports = exports.default;

View file

@ -1,20 +1,27 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _axobjectQuery = require("axobject-query");
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _arrayPrototype = _interopRequireDefault(require("array.prototype.flatmap"));
var _attributesComparator = _interopRequireDefault(require("./attributesComparator"));
var domKeys = (0, _toConsumableArray2["default"])(_ariaQuery.dom.keys());
var roleKeys = (0, _toConsumableArray2["default"])(_ariaQuery.roles.keys());
var elementRoleEntries = (0, _toConsumableArray2["default"])(_ariaQuery.elementRoles);
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
var roleKeys = _ariaQuery.roles.keys();
var elementRoleEntries = _toConsumableArray(_ariaQuery.elementRoles);
var nonInteractiveRoles = new Set(roleKeys.filter(function (name) {
var role = _ariaQuery.roles.get(name);
return !role["abstract"]
@ -39,30 +46,30 @@ var interactiveRoles = new Set(roleKeys.filter(function (name) {
// 'toolbar' does not descend from widget, but it does support
// aria-activedescendant, thus in practice we treat it as a widget.
'toolbar'));
var nonInteractiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref) {
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
var interactiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
elementSchema = _ref2[0],
roleSet = _ref2[1];
return (0, _toConsumableArray2["default"])(roleSet).every(function (role) {
return nonInteractiveRoles.has(role);
}) ? [elementSchema] : [];
});
var interactiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref3) {
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
elementSchema = _ref4[0],
roleSet = _ref4[1];
return (0, _toConsumableArray2["default"])(roleSet).some(function (role) {
rolesArr = _ref2[1];
return rolesArr.some(function (role) {
return interactiveRoles.has(role);
}) ? [elementSchema] : [];
});
var interactiveAXObjects = new Set((0, _toConsumableArray2["default"])(_axobjectQuery.AXObjects.keys()).filter(function (name) {
var nonInteractiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
elementSchema = _ref4[0],
rolesArr = _ref4[1];
return rolesArr.every(function (role) {
return nonInteractiveRoles.has(role);
}) ? [elementSchema] : [];
});
var interactiveAXObjects = new Set(_axobjectQuery.AXObjects.keys().filter(function (name) {
return _axobjectQuery.AXObjects.get(name).type === 'widget';
}));
var interactiveElementAXObjectSchemas = (0, _arrayPrototype["default"])((0, _toConsumableArray2["default"])(_axobjectQuery.elementAXObjects), function (_ref5) {
var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
var interactiveElementAXObjectSchemas = (0, _arrayPrototype["default"])(_toConsumableArray(_axobjectQuery.elementAXObjects), function (_ref5) {
var _ref6 = _slicedToArray(_ref5, 2),
elementSchema = _ref6[0],
AXObjectSet = _ref6[1];
return (0, _toConsumableArray2["default"])(AXObjectSet).every(function (role) {
AXObjectsArr = _ref6[1];
return AXObjectsArr.every(function (role) {
return interactiveAXObjects.has(role);
}) ? [elementSchema] : [];
});
@ -70,6 +77,7 @@ function checkIsInteractiveElement(tagName, attributes) {
function elementSchemaMatcher(elementSchema) {
return tagName === elementSchema.name && (0, _attributesComparator["default"])(elementSchema.attributes, attributes);
}
// Check in elementRoles for inherent interactive role associations for
// this element.
var isInherentInteractiveElement = interactiveElementRoleSchemas.some(elementSchemaMatcher);
@ -99,11 +107,10 @@ function checkIsInteractiveElement(tagName, attributes) {
var isInteractiveElement = function isInteractiveElement(tagName, attributes) {
// Do not test higher level JSX components, as we do not know what
// low-level DOM element this maps to.
if (!(0, _arrayIncludes["default"])(domKeys, tagName)) {
if (!_ariaQuery.dom.has(tagName)) {
return false;
}
return checkIsInteractiveElement(tagName, attributes);
};
var _default = isInteractiveElement;
exports["default"] = _default;
var _default = exports["default"] = isInteractiveElement;
module.exports = exports.default;

View file

@ -1,16 +1,15 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _jsxAstUtils = require("jsx-ast-utils");
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _arrayPrototype = _interopRequireDefault(require("array.prototype.flatmap"));
var roles = (0, _toConsumableArray2["default"])(_ariaQuery.roles.keys());
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var roles = _ariaQuery.roles.keys();
var interactiveRoles = roles.filter(function (name) {
return !_ariaQuery.roles.get(name)["abstract"] && _ariaQuery.roles.get(name).superClass.some(function (klasses) {
return (0, _arrayIncludes["default"])(klasses, 'widget');
@ -51,6 +50,5 @@ var isInteractiveRole = function isInteractiveRole(tagName, attributes) {
}
return isInteractive;
};
var _default = isInteractiveRole;
exports["default"] = _default;
var _default = exports["default"] = isInteractiveRole;
module.exports = exports.default;

View file

@ -1,19 +1,27 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _axobjectQuery = require("axobject-query");
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _arrayPrototype = _interopRequireDefault(require("array.prototype.flatmap"));
var _attributesComparator = _interopRequireDefault(require("./attributesComparator"));
var roleKeys = (0, _toConsumableArray2["default"])(_ariaQuery.roles.keys());
var elementRoleEntries = (0, _toConsumableArray2["default"])(_ariaQuery.elementRoles);
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
var roleKeys = _ariaQuery.roles.keys();
var elementRoleEntries = _toConsumableArray(_ariaQuery.elementRoles);
var nonInteractiveRoles = new Set(roleKeys.filter(function (name) {
var role = _ariaQuery.roles.get(name);
return !role["abstract"]
@ -44,36 +52,37 @@ var interactiveRoles = new Set(roleKeys.filter(function (name) {
// 'toolbar' does not descend from widget, but it does support
// aria-activedescendant, thus in practice we treat it as a widget.
'toolbar'));
var nonInteractiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref) {
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
var interactiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
elementSchema = _ref2[0],
roleSet = _ref2[1];
return (0, _toConsumableArray2["default"])(roleSet).every(function (role) {
return nonInteractiveRoles.has(role);
}) ? [elementSchema] : [];
});
var interactiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref3) {
var _ref4 = (0, _slicedToArray2["default"])(_ref3, 2),
elementSchema = _ref4[0],
roleSet = _ref4[1];
return (0, _toConsumableArray2["default"])(roleSet).some(function (role) {
rolesArr = _ref2[1];
return rolesArr.some(function (role) {
return interactiveRoles.has(role);
}) ? [elementSchema] : [];
});
var nonInteractiveAXObjects = new Set((0, _toConsumableArray2["default"])(_axobjectQuery.AXObjects.keys()).filter(function (name) {
var nonInteractiveElementRoleSchemas = (0, _arrayPrototype["default"])(elementRoleEntries, function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
elementSchema = _ref4[0],
rolesArr = _ref4[1];
return rolesArr.every(function (role) {
return nonInteractiveRoles.has(role);
}) ? [elementSchema] : [];
});
var nonInteractiveAXObjects = new Set(_axobjectQuery.AXObjects.keys().filter(function (name) {
return (0, _arrayIncludes["default"])(['window', 'structure'], _axobjectQuery.AXObjects.get(name).type);
}));
var nonInteractiveElementAXObjectSchemas = (0, _arrayPrototype["default"])((0, _toConsumableArray2["default"])(_axobjectQuery.elementAXObjects), function (_ref5) {
var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
var nonInteractiveElementAXObjectSchemas = (0, _arrayPrototype["default"])(_toConsumableArray(_axobjectQuery.elementAXObjects), function (_ref5) {
var _ref6 = _slicedToArray(_ref5, 2),
elementSchema = _ref6[0],
AXObjectSet = _ref6[1];
return (0, _toConsumableArray2["default"])(AXObjectSet).every(function (role) {
AXObjectsArr = _ref6[1];
return AXObjectsArr.every(function (role) {
return nonInteractiveAXObjects.has(role);
}) ? [elementSchema] : [];
});
function checkIsNonInteractiveElement(tagName, attributes) {
function elementSchemaMatcher(elementSchema) {
return tagName === elementSchema.name && (0, _attributesComparator["default"])(elementSchema.attributes, attributes);
return tagName === elementSchema.name && tagName !== 'td' // TODO: investigate why this is needed
&& (0, _attributesComparator["default"])(elementSchema.attributes, attributes);
}
// Check in elementRoles for inherent non-interactive role associations for
// this element.
@ -118,6 +127,5 @@ var isNonInteractiveElement = function isNonInteractiveElement(tagName, attribut
}
return checkIsNonInteractiveElement(tagName, attributes);
};
var _default = isNonInteractiveElement;
exports["default"] = _default;
var _default = exports["default"] = isNonInteractiveElement;
module.exports = exports.default;

View file

@ -1,17 +1,15 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _ariaQuery = require("aria-query");
var _jsxAstUtils = require("jsx-ast-utils");
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _arrayPrototype = _interopRequireDefault(require("array.prototype.flatmap"));
var roles = (0, _toConsumableArray2["default"])(_ariaQuery.roles.keys());
var nonInteractiveRoles = roles.filter(function (name) {
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var nonInteractiveRoles = _ariaQuery.roles.keys().filter(function (name) {
return !_ariaQuery.roles.get(name)["abstract"] && !_ariaQuery.roles.get(name).superClass.some(function (klasses) {
return (0, _arrayIncludes["default"])(klasses, 'widget');
});
@ -45,7 +43,7 @@ var isNonInteractiveRole = function isNonInteractiveRole(tagName, attributes) {
var isNonInteractive = false;
var normalizedValues = String(role).toLowerCase().split(' ');
var validRoles = (0, _arrayPrototype["default"])(normalizedValues, function (name) {
return (0, _arrayIncludes["default"])(roles, name) ? [name] : [];
return _ariaQuery.roles.has(name) ? [name] : [];
});
if (validRoles.length > 0) {
// The first role value is a series takes precedence.
@ -53,6 +51,5 @@ var isNonInteractiveRole = function isNonInteractiveRole(tagName, attributes) {
}
return isNonInteractive;
};
var _default = isNonInteractiveRole;
exports["default"] = _default;
var _default = exports["default"] = isNonInteractiveRole;
module.exports = exports.default;

View file

@ -25,6 +25,5 @@ var isNonLiteralProperty = function isNonLiteralProperty(attributes, propName) {
}
return true;
};
var _default = isNonLiteralProperty;
exports["default"] = _default;
var _default = exports["default"] = isNonLiteralProperty;
module.exports = exports.default;

View file

@ -9,6 +9,5 @@ var presentationRoles = new Set(['presentation', 'none']);
var isPresentationRole = function isPresentationRole(tagName, attributes) {
return presentationRoles.has((0, _jsxAstUtils.getLiteralPropValue)((0, _jsxAstUtils.getProp)(attributes, 'role')));
};
var _default = isPresentationRole;
exports["default"] = _default;
var _default = exports["default"] = isPresentationRole;
module.exports = exports.default;

View file

@ -50,6 +50,5 @@ var isSemanticRoleElement = function isSemanticRoleElement(elementType, attribut
});
return res;
};
var _default = isSemanticRoleElement;
exports["default"] = _default;
var _default = exports["default"] = isSemanticRoleElement;
module.exports = exports.default;

View file

@ -1,12 +1,12 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = mayContainChildComponent;
var _jsxAstUtils = require("jsx-ast-utils");
var _minimatch = _interopRequireDefault(require("minimatch"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns true if it can positively determine that the element lacks an
* accessible label. If no determination is possible, it returns false. Treat
@ -34,7 +34,7 @@ function mayContainChildComponent(root, componentName) {
if (childNode.type === 'JSXExpressionContainer') {
return true;
}
// Check for comonents with the provided name.
// Check for components with the provided name.
if (childNode.type === 'JSXElement' && childNode.openingElement && (0, _minimatch["default"])(elementType(childNode.openingElement), componentName)) {
return true;
}

View file

@ -1,12 +1,13 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = mayHaveAccessibleLabel;
var _arrayIncludes = _interopRequireDefault(require("array-includes"));
var _jsxAstUtils = require("jsx-ast-utils");
var _minimatch = _interopRequireDefault(require("minimatch"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Returns true if a labelling element is found or if it cannot determine if
* a label is present because of expression containers or spread attributes.
@ -17,6 +18,9 @@ var _jsxAstUtils = require("jsx-ast-utils");
*
*/
function tryTrim(value) {
return typeof value === 'string' ? value.trim() : value;
}
function hasLabellingProp(openingElement) {
var additionalLabellingProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
var labellingProps = [].concat('alt',
@ -28,7 +32,7 @@ function hasLabellingProp(openingElement) {
return true;
}
// Attribute matches.
if ((0, _arrayIncludes["default"])(labellingProps, (0, _jsxAstUtils.propName)(attribute)) && !!(0, _jsxAstUtils.getPropValue)(attribute)) {
if ((0, _arrayIncludes["default"])(labellingProps, (0, _jsxAstUtils.propName)(attribute)) && !!tryTrim((0, _jsxAstUtils.getPropValue)(attribute))) {
return true;
}
return false;
@ -37,13 +41,15 @@ function hasLabellingProp(openingElement) {
function mayHaveAccessibleLabel(root) {
var maxDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
var additionalLabellingProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
var getElementType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _jsxAstUtils.elementType;
var controlComponents = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
function checkElement(node, depth) {
// Bail when maxDepth is exceeded.
if (depth > maxDepth) {
return false;
}
// Check for literal text.
if (node.type === 'Literal' && !!node.value) {
if (node.type === 'Literal' && !!tryTrim(node.value)) {
return true;
}
// Assume an expression container renders a label. It is the best we can
@ -53,7 +59,7 @@ function mayHaveAccessibleLabel(root) {
}
// Check for JSXText.
// $FlowFixMe Remove after updating ast-types-flow
if (node.type === 'JSXText' && !!node.value) {
if (node.type === 'JSXText' && !!tryTrim(node.value)) {
return true;
}
// Check for labelling props.
@ -61,6 +67,17 @@ function mayHaveAccessibleLabel(root) {
/* $FlowFixMe */ && hasLabellingProp(node.openingElement, additionalLabellingProps)) {
return true;
}
if (node.type === 'JSXElement' && node.children.length === 0 && node.openingElement) {
// $FlowFixMe `node.openingElement` has `unknown` type
var name = getElementType(node.openingElement);
var isReactComponent = name.length > 0 && name[0] === name[0].toUpperCase();
if (isReactComponent && !controlComponents.some(function (control) {
return (0, _minimatch["default"])(name, control);
})) {
return true;
}
}
// Recurse into the child element nodes.
if (node.children) {
/* $FlowFixMe */

View file

@ -1,17 +1,18 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.generateObjSchema = exports.enumArraySchema = exports.arraySchema = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* JSON schema to accept an array of unique strings
*/
var arraySchema = {
var arraySchema = exports.arraySchema = {
type: 'array',
items: {
type: 'string'
@ -23,8 +24,7 @@ var arraySchema = {
/**
* JSON schema to accept an array of unique strings from an enumerated list.
*/
exports.arraySchema = arraySchema;
var enumArraySchema = function enumArraySchema() {
var enumArraySchema = exports.enumArraySchema = function enumArraySchema() {
var enumeratedList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var minItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
return _objectSpread(_objectSpread({}, arraySchema), {}, {
@ -40,8 +40,7 @@ var enumArraySchema = function enumArraySchema() {
* Factory function to generate an object schema
* with specified properties object
*/
exports.enumArraySchema = enumArraySchema;
var generateObjSchema = function generateObjSchema() {
var generateObjSchema = exports.generateObjSchema = function generateObjSchema() {
var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
return {
@ -49,5 +48,4 @@ var generateObjSchema = function generateObjSchema() {
properties,
required
};
};
exports.generateObjSchema = generateObjSchema;
};