| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div id="menu" role="menu"> |
| <div role="menuitem" id="item1" aria-label="item1" tabindex="0">Menu item 1</div> |
| <div role="menuitemradio" id="item2" aria-label="item2" tabindex="0">Menu item 2</div> |
| <div role="menuitemcheckbox" id="item3" aria-label="item3" tabindex="0">Menu item 3</div> |
| </div> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that a AXMenuItemSelected notification gets fired when a menuitem is focused."); |
| |
| var element = 0; |
| var notification = 0; |
| var notificationCount = 0; |
| function ariaCallback(element, notification) { |
| if (notification == "AXMenuItemSelected") { |
| notificationCount++; |
| |
| debug("Received menu item selected notification: " + notification); |
| debug("Menu item selected element: " + element.role); |
| debug("Menu item selected element description: " + element.description + "\n"); |
| if (notificationCount == 3) { |
| accessibilityController.removeNotificationListener(); |
| finishJSTest(); |
| } |
| } |
| } |
| |
| if (window.accessibilityController) { |
| window.jsTestIsAsync = true; |
| |
| var addedNotification = accessibilityController.addNotificationListener(ariaCallback); |
| accessibilityController.accessibleElementById("menu"); |
| |
| shouldBe("addedNotification", "true"); |
| |
| // Trigger notification through focus. |
| document.getElementById("item1").focus(); |
| |
| setTimeout(function() { |
| // Trigger notification through aria-selected. |
| document.getElementById("item2").setAttribute("aria-selected", "true"); |
| |
| setTimeout(function() { |
| // Ensure we don't get a notification when aria-selected is false. |
| document.getElementById("item2").setAttribute("aria-selected", "false"); |
| |
| setTimeout(function() { |
| // Trigger another notification through focus to ensure we don't |
| document.getElementById("item3").focus(); |
| }, 1); |
| }, 1); |
| }, 1); |
| } |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |