67 lines
2.6 KiB
HTML
67 lines
2.6 KiB
HTML
<html>
|
|
<html>
|
|
<head>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<div role="group" tabindex="0" id="parent">
|
|
<div role="button" id="button1" tabindex="0">Button 1</div>
|
|
<div role="button" id="button2" tabindex="0">Button 2</div>
|
|
<div role="button" id="button3" tabindex="0">Button 3</div>
|
|
|
|
</div>
|
|
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
if (window.accessibilityController) {
|
|
jsTestIsAsync = true;
|
|
description("This test makes sure that when aria-hidden changes, the AX hierarchy is updated.");
|
|
|
|
// Get the parent element.
|
|
document.getElementById("parent").focus();
|
|
var parent = accessibilityController.focusedElement;
|
|
|
|
// Get all three children.
|
|
document.getElementById("button1").focus();
|
|
var button1 = accessibilityController.focusedElement;
|
|
document.getElementById("button2").focus();
|
|
var button2 = accessibilityController.focusedElement;
|
|
document.getElementById("button3").focus();
|
|
var button3 = accessibilityController.focusedElement;
|
|
|
|
// Verify that the 3 children are present.
|
|
shouldBeTrue("parent.childAtIndex(0).isEqual(button1)");
|
|
shouldBeTrue("parent.childAtIndex(1).isEqual(button2)");
|
|
shouldBeTrue("parent.childAtIndex(2).isEqual(button3)");
|
|
|
|
// Make the 2nd button hidden. Only 1 and 3 should be present.
|
|
document.getElementById("button2").setAttribute("aria-hidden", "true");
|
|
setTimeout(function() {
|
|
shouldBeTrue("parent.childAtIndex(0).isEqual(button1)");
|
|
shouldBeTrue("parent.childAtIndex(1).isEqual(button3)");
|
|
|
|
// Make the 1st button hidden. Only 3 should be present.
|
|
document.getElementById("button1").setAttribute("aria-hidden", "true");
|
|
setTimeout(function() {
|
|
shouldBeTrue("parent.childAtIndex(0).isEqual(button3)");
|
|
|
|
// Make the 2nd button not hidden. 2 and 3 should be present.
|
|
document.getElementById("button2").setAttribute("aria-hidden", "false");
|
|
setTimeout(function() {
|
|
shouldBeTrue("parent.childAtIndex(0).isEqual(button2)");
|
|
shouldBeTrue("parent.childAtIndex(1).isEqual(button3)");
|
|
finishJSTest();
|
|
}, 0);
|
|
}, 0);
|
|
}, 0);
|
|
}
|
|
</script>
|
|
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|