blob: 0e926647eb9f9ef79f645d11a737d56c5f3b8b96 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body id="body">
<div tabindex=0 id="listbox" role="listbox">
<div id="option1" role="option" aria-selected="true">Option</div>
<div id="option2" role="option">Option</div>
<div id="option3" role="option">Option</div>
</div>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that when aria-selected is changed in a listbox, the correct notification is sent.");
var listbox = 0;
var notificationCount = 0;
function ariaCallback(element, notification) {
if (notification == "AXSelectedChildrenChanged") {
notificationCount++;
// We should get a total of 4 live region changes.
if (notificationCount == 2) {
window.accessibilityController.removeNotificationListener();
finishJSTest();
}
}
}
if (window.accessibilityController) {
jsTestIsAsync = true;
listbox = accessibilityController.accessibleElementById("listbox");
var addedNotification = window.accessibilityController.addNotificationListener(ariaCallback);
shouldBe("addedNotification", "true");
// These should each trigger a notification that the selected children changed.
document.getElementById("option2").setAttribute("aria-selected", "true");
setTimeout(function() {
document.getElementById("option2").setAttribute("aria-selected", "false");
}, 1);
}
</script>
</body>
</html>