| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| </head> |
| <body> |
| <div>This tests that the AXValueChanged notification is correctly reported for non-native text boxes when content is changed.</div> |
| <div role="textbox" id="ariaTextBox" aria-multiline="false" tabindex="0">Some text in a textbox.</div> |
| <div id="console"</div> |
| <script> |
| var textboxAxElement; |
| if (window.testRunner && window.accessibilityController) { |
| jsTestIsAsync = true; |
| accessibilityController.logAccessibilityEvents(); |
| |
| var ariaTextBox = document.getElementById("ariaTextBox"); |
| ariaTextBox.focus(); |
| textboxAxElement = accessibilityController.focusedElement; |
| textboxAxElement.addNotificationListener(logNotification); |
| pendingNotifications = 3; |
| ariaTextBox.firstChild.deleteData(0, 5); |
| ariaTextBox.offsetWidth; |
| ariaTextBox.textContent = "changed textContent"; |
| ariaTextBox.offsetWidth; |
| ariaTextBox.innerText = "changed innerText"; |
| } |
| |
| function logNotification(notification) { |
| if (notification == "AXValueChanged") { |
| debug("Successfully received AXValueChanged."); |
| pendingNotifications--; |
| if (pendingNotifications == 0) { |
| textboxAxElement.removeNotificationListener(); |
| finishJSTest(); |
| } |
| } |
| } |
| |
| </script> |
| </body> |
| </html> |