blob: d29577f5a0c2fb358fa490efee6a4cfc59098bf1 [file] [edit]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta charset="utf-8">
<script src="../resources/accessibility-helper.js"></script>
<script src="../resources/js-test.js"></script>
</head>
<body>
<div id="content" hidden="until-found">
<p>Revealed paragraph text.</p>
</div>
<script>
var output = "This test ensures content revealed by programmatically removing hidden='until-found' becomes reachable by assistive technologies (and becomes unreachable again when re-hidden).\n\n";
if (window.accessibilityController) {
window.jsTestIsAsync = true;
var webArea = accessibilityController.rootElement.childAtIndex(0);
function revealedTextIsReachable() {
return dumpAXSearchTraversal(webArea).includes("Revealed paragraph text.");
}
var content = document.getElementById("content");
output += "While hidden='until-found', the revealed text should not be reachable:\n";
output += expect("revealedTextIsReachable()", "false");
setTimeout(async function() {
content.hidden = false;
output += "\nAfter programmatically removing hidden='until-found', the revealed text should be reachable:\n";
output += await expectAsync("revealedTextIsReachable()", "true");
content.hidden = "until-found";
output += "\nAfter programmatically re-applying hidden='until-found', the revealed text should not be reachable:\n";
output += await expectAsync("revealedTextIsReachable()", "false");
debug(output);
finishJSTest();
}, 0);
}
</script>
</body>
</html>