@qualweb/util
Version:
Utilities module for qualweb
46 lines (45 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function getLinkContext(element) {
const context = new Array();
const parent = element.getElementParent();
const ariaDescribedByATT = element.getElementAttribute('aria-describedby');
let ariaDescribedBy = new Array();
if (ariaDescribedByATT)
ariaDescribedBy = ariaDescribedByATT.split(' ');
if (parent) {
const role = window.AccessibilityUtils.getElementRole(parent);
const inAT = window.AccessibilityUtils.isElementInAT(parent);
const tagName = parent.getElementTagName();
const id = parent.getElementAttribute('id');
if (inAT &&
(tagName === 'p' ||
role === 'cell' ||
role === 'gridcell' ||
role === 'listitem' ||
(id && ariaDescribedBy.includes(id)))) {
context.push(parent.getElementSelector());
}
getLinkContextAux(parent, ariaDescribedBy, context);
}
return context;
}
function getLinkContextAux(element, ariaDescribedBy, context) {
const parent = element.getElementParent();
if (parent) {
const role = window.AccessibilityUtils.getElementRole(parent);
const inAT = window.AccessibilityUtils.isElementInAT(parent);
const tagName = parent.getElementTagName();
const id = parent.getElementAttribute('id');
if (inAT &&
(tagName === 'p' ||
role === 'cell' ||
role === 'gridcell' ||
role === 'listitem' ||
(id && ariaDescribedBy.includes(id)))) {
context.push(parent.getElementSelector());
}
getLinkContextAux(parent, ariaDescribedBy, context);
}
}
exports.default = getLinkContext;