| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <script src="../resources/js-test.js"></script> |
| </head> |
| <body id="static_eventTarget"> |
| |
| <div id="ariaTextbox" role="textbox" tabIndex="0"> |
| <p>Before</p> |
| <p id="p">One paragraph in an ARIA textbox</p> |
| <p>After</p> |
| </div> |
| |
| <div id="console"></div> |
| <script> |
| description("Tests that a 'selected text changed' notification fires on a focusable element with role=textbox when the user moves the cursor within it."); |
| window.jsTestIsAsync = true; |
| |
| function runTest() { |
| // This forces building the accessibility tree, because selection change |
| // events only fire on elements that already exist. |
| accessibilityController.accessibleElementById('dummy'); |
| |
| var element = document.getElementById('ariaTextbox'); |
| var axElement = accessibilityController.accessibleElementById('ariaTextbox'); |
| element.focus(); |
| |
| axElement.addNotificationListener(function(notification) { |
| if (notification == 'SelectedTextChanged') { |
| debug('Got SelectedTextChanged notification on focusable element with role=textbox.'); |
| axElement.removeNotificationListener(); |
| finishJSTest(); |
| } |
| }); |
| |
| var p = document.getElementById('p'); |
| var range = document.createRange(); |
| range.setStart(p.firstChild, 0); |
| range.setEnd(p.firstChild, 1); |
| window.getSelection().removeAllRanges(); |
| window.getSelection().addRange(range); |
| } |
| |
| if (window.testRunner && window.accessibilityController) { |
| testRunner.dumpAsText(); |
| window.onload = runTest(); |
| } |
| |
| </script> |
| |
| </body> |
| </html> |