@uuv/a11y
Version:
A javascript lib for running a11y validation based on multiple reference(RGAA, etc)
38 lines (37 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccessibleNameQuery = void 0;
const dom_accessibility_api_1 = require("dom-accessibility-api");
const lodash_1 = require("lodash");
class AccessibleNameQuery {
subQuery;
shouldBeEmpty;
constructor(subQuery, shouldBeEmpty) {
this.subQuery = subQuery;
this.shouldBeEmpty = shouldBeEmpty;
}
execute() {
return this.subQuery.execute().filter(element => {
const accessibleName = (0, dom_accessibility_api_1.computeAccessibleName)(element.domNode);
if (this.shouldBeEmpty && this.isNullOrEmpty(accessibleName)) {
return true;
}
else if (!this.shouldBeEmpty && this.isNotNullAndNotEmpty(accessibleName)) {
return true;
}
else {
return false;
}
});
}
isNullOrEmpty(accessibleName) {
return (0, lodash_1.isNull)(accessibleName) || (0, lodash_1.isEmpty)(accessibleName);
}
isNotNullAndNotEmpty(accessibleName) {
return !(0, lodash_1.isNull)(accessibleName) && !(0, lodash_1.isEmpty)(accessibleName);
}
getSelector() {
return `AccessibleName: ${this.subQuery.getSelector()}`;
}
}
exports.AccessibleNameQuery = AccessibleNameQuery;