axe-core
Version:
Accessibility engine for automated Web UI testing
20 lines (17 loc) • 592 B
JavaScript
const resolve = this.async();
const { isViolation, timeout } = Object.assign({ isViolation: false, timeout: 500 }, options);
// give the frame .5s to respond to 'axe.ping', else log failed response
let timer = setTimeout(function() {
// This double timeout is important for allowing iframes to respond
// DO NOT REMOVE
timer = setTimeout(function() {
timer = null;
resolve(isViolation ? false : undefined);
}, 0);
}, timeout);
axe.utils.respondable(node.contentWindow, 'axe.ping', null, undefined, function () {
if (timer !== null) {
clearTimeout(timer);
resolve(true);
}
});