1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
4 <script src="../fast/js/resources/js-test-pre.js"></script>
9 <input type="text" id="text1" aria-invalid="true">
10 <input type="text" id="text2" aria-invalid="grammar">
11 <input type="text" id="text3" aria-invalid="">
12 <input type="text" id="text4">
14 <p id="description"></p>
15 <div id="console"></div>
16 <div id="notifications"></div>
20 description("This tests that aria-invalid causes the right attribute to be returned and it ensures a notification is sent when it changes.");
22 var notificationElement = 0;
23 function notificationCallback(notification) {
24 if (notification == "AXInvalidStatusChanged") {
25 document.getElementById("notifications").innerHTML += "Notification received successfully.";
26 notificationElement.removeNotificationListener();
27 window.testRunner.notifyDone();
31 if (window.accessibilityController) {
32 window.testRunner.waitUntilDone();
34 document.getElementById("text1").focus();
35 shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXInvalid')", "'true'");
37 document.getElementById("text2").focus();
38 shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXInvalid')", "'grammar'");
40 document.getElementById("text3").focus();
41 shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXInvalid')", "'false'");
43 document.getElementById("text4").focus();
44 shouldBe("accessibilityController.focusedElement.stringAttributeValue('AXInvalid')", "'false'");
46 notificationElement = accessibilityController.focusedElement;
47 var addedNotification = notificationElement.addNotificationListener(notificationCallback);
48 shouldBeTrue("addedNotification");
50 document.getElementById("text4").setAttribute("aria-invalid", "spelling");
55 <script src="../fast/js/resources/js-test-post.js"></script>