Sha256: b2655f2eb877263639d5484e1c8ad57802292165afc4324addecbeef59ef26dd
Contents?: true
Size: 1.2 KB
Versions: 375
Compression:
Stored size: 1.2 KB
Contents
const { dom, aria } = axe.commons; const ALLOWED_ROLES = ['definition', 'term', 'list']; let base = { badNodes: [], hasNonEmptyTextNode: false }; const content = virtualNode.children.reduce((content, child) => { const { actualNode } = child; if ( actualNode.nodeName.toUpperCase() === 'DIV' && aria.getRole(actualNode) === null ) { return content.concat(child.children); } return content.concat(child); }, []); const result = content.reduce((out, childNode) => { const { actualNode } = childNode; const tagName = actualNode.nodeName.toUpperCase(); if (actualNode.nodeType === 1 && dom.isVisible(actualNode, true, false)) { const explicitRole = aria.getRole(actualNode, { noImplicit: true }); if ((tagName !== 'DT' && tagName !== 'DD') || explicitRole) { if (!ALLOWED_ROLES.includes(explicitRole)) { // handle comment - https://github.com/dequelabs/axe-core/pull/518/files#r139284668 out.badNodes.push(actualNode); } } } else if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') { out.hasNonEmptyTextNode = true; } return out; }, base); if (result.badNodes.length) { this.relatedNodes(result.badNodes); } return !!result.badNodes.length || result.hasNonEmptyTextNode;
Version data entries
375 entries across 375 versions & 1 rubygems