Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
<html>
<head>
<title>Test hide/show events on event listener changes</title>
<link rel="stylesheet" type="text/css"
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../events.js"></script>
<script type="application/javascript">
function dummyListener() {}
async function doTest() {
is(getAccessible("parent", null, null, DONOTFAIL_IF_NO_ACC), null, "Check that parent is not accessible.");
is(getAccessible("child", null, null, DONOTFAIL_IF_NO_ACC), null, "Check that child is not accessible.");
let shown = waitForEvent(EVENT_SHOW, getNode("parent"));
getNode("parent").addEventListener("click", dummyListener);
await shown;
const tree = { TEXT: [] };
testAccessibleTree("parent", tree);
let unexpected = new UnexpectedEvents([[EVENT_HIDE, getNode("parent")]]);
getNode("parent").removeEventListener("click", dummyListener);
await unexpected.flush();
unexpected.stop();
ok(getAccessible("parent", null, null, DONOTFAIL_IF_NO_ACC),
"Parent stays accessible after click event listener is removed");
ok(!getAccessible("child", null, null, DONOTFAIL_IF_NO_ACC),
"Child stays inaccessible");
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<a target="_blank"
title="Crash in mozilla::a11y::DocAccessibleParent::RemoveAccessible(ProxyAccessible* aAccessible)">
</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
<span id="parent">
<span id="child">
</span>
</span>
</body>
</html>