axe-core
Version:
Accessibility engine for automated Web UI testing
18 lines (14 loc) • 557 B
JavaScript
const children = Array.from(node.parentNode.childNodes);
const nodeText = node.textContent.trim();
const isSentence = /[.!?:;](?![.!?:;])/g;
// Check that there is text, and it is not more than a single sentence
if (nodeText.length === 0 || (nodeText.match(isSentence) || []).length >= 2) {
return false;
}
// Grab sibling p element following the current node
const siblingsAfter = children
.slice(children.indexOf(node) + 1)
.filter(
elm => elm.nodeName.toUpperCase() === 'P' && elm.textContent.trim() !== ''
);
return siblingsAfter.length !== 0;