UNPKG

@qualweb/util

Version:
46 lines (45 loc) 1.8 kB
"use strict"; 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;