UNPKG

@acot/utils

Version:
35 lines (34 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isElementHidden = void 0; /** * @see https://chromedevtools.github.io/devtools-protocol/tot/Accessibility/#method-queryAXTree */ const isElementHidden = async (element) => { const [{ node: { backendNodeId }, }, { nodes },] = await Promise.all([ element._client.send('DOM.describeNode', { objectId: element._remoteObject.objectId, }), element._client.send('Accessibility.queryAXTree', { objectId: element._remoteObject.objectId, }), ]); const node = nodes.find((o) => o.backendDOMNodeId === backendNodeId); if (node == null) { return false; } // Even if it is ignored for accessibility, it is judged to be hidden. if (node.ignored) { return true; } if (node.properties == null) { return false; } for (const prop of node.properties) { if (prop.name === 'hidden') { return prop.value.value === true; } } return false; }; exports.isElementHidden = isElementHidden;