54 lines
1.6 KiB
HTML
54 lines
1.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="../../resources/accessibility-helper.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<button id="button" aria-expanded="false">
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This tests that aria-expanded changes will send notifications.");
|
|
|
|
var notificationCount = 0;
|
|
function notificationCallback(element, notification) {
|
|
if (notification == "AXExpandedChanged") {
|
|
notificationCount++;
|
|
|
|
debug("Received notification: " + notification);
|
|
debug("Expanded status: " + element.isExpanded);
|
|
if (notificationCount == 2) {
|
|
accessibilityController.removeNotificationListener();
|
|
finishJSTest();
|
|
}
|
|
}
|
|
}
|
|
|
|
if (window.accessibilityController) {
|
|
window.jsTestIsAsync = true;
|
|
|
|
accessibilityController.addNotificationListener(notificationCallback);
|
|
var button = accessibilityController.accessibleElementById("button");
|
|
debug("Initial expanded status: " + button.isExpanded);
|
|
|
|
document.getElementById("button").setAttribute("aria-expanded", "true");
|
|
setTimeout(async () => {
|
|
await waitFor(() => {
|
|
return button.isExpanded;
|
|
});
|
|
|
|
document.getElementById("button").setAttribute("aria-expanded", "false");
|
|
await waitFor(() => {
|
|
return !button.isExpanded;
|
|
});
|
|
}, 0);
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|