UNPKG

@qualweb/util

Version:
43 lines (42 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function getOwnedElements(element) { const children = element.getElementChildren(); const result = new Array(); const ariaOwnedElements = getAriaOwnedElements(element); result.push(...ariaOwnedElements); for (const child of children !== null && children !== void 0 ? children : []) { result.push(...getOwnedElementsAux(child, element.getElementSelector())); } return result; } function getOwnedElementsAux(element, ownerSelector) { let ariaOwner = window.AccessibilityUtils.getAriaOwner(element); if (window.AccessibilityUtils.isElementInAT(element) && (!ariaOwner || (!!ariaOwner && ariaOwner.getElementSelector() === ownerSelector))) { return [element]; } else { let children = element.getElementChildren(); let result = new Array(); for (const child of children !== null && children !== void 0 ? children : []) { result.push(...getOwnedElementsAux(child, ownerSelector)); } return result; } } function getAriaOwnedElements(element) { const ariaOwns = element.getElementAttribute('aria-owns'); const elements = new Array(); if (ariaOwns) { const splitted = ariaOwns.split(','); for (const id of splitted !== null && splitted !== void 0 ? splitted : []) { const elem = window.qwPage.getElementByID(id); if (!!elem) { elements.push(elem); } } } return elements; } exports.default = getOwnedElements;