67 lines
2.2 KiB
HTML
67 lines
2.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<div role="group" tabindex=0 id="liveregion1" aria-live="polite" aria-relevant="additions">
|
|
Test
|
|
</div>
|
|
<div role="group" tabindex=0 id="liveregion2" aria-live="polite" aria-relevant="additions"></div>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
var jsTestIsAsync = true;
|
|
|
|
description("This tests that ARIA live region notifications are sent even when an assistive technology is not accessing them directly on each update.");
|
|
|
|
if (window.accessibilityController) {
|
|
|
|
var liveRegion1 = accessibilityController.accessibleElementById("liveregion1");
|
|
var liveRegion2 = accessibilityController.accessibleElementById("liveregion2");
|
|
|
|
var liveRegion1Changed = false;
|
|
var liveRegion2Changed = false;
|
|
function ariaCallback1(notification) {
|
|
if (notification == "AXLiveRegionChanged") {
|
|
liveRegion1Changed = true;
|
|
finishTest();
|
|
}
|
|
}
|
|
function ariaCallback2(notification) {
|
|
if (notification == "AXLiveRegionChanged") {
|
|
liveRegion2Changed = true;
|
|
finishTest();
|
|
}
|
|
}
|
|
|
|
addedNotification1 = liveRegion1.addNotificationListener(ariaCallback1);
|
|
shouldBe("addedNotification1", "true");
|
|
addedNotification2 = liveRegion2.addNotificationListener(ariaCallback2);
|
|
shouldBe("addedNotification2", "true");
|
|
|
|
// this should trigger our live region callback for a new element.
|
|
for (var k = 1; k < 3; k++) {
|
|
var textNode = document.createTextNode("test" + k);
|
|
document.getElementById("liveregion" + k).appendChild(textNode);
|
|
}
|
|
}
|
|
|
|
function finishTest() {
|
|
// We should get a total of two live region changes.
|
|
if (liveRegion1Changed && liveRegion2Changed) {
|
|
liveRegion1.removeNotificationListener();
|
|
liveRegion2.removeNotificationListener();
|
|
finishJSTest();
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|