| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| |
| <a id="link1" href="#">link1</a> |
| |
| <h1 id="heading1" tabindex=0>heading1</h1> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that accessibilityElementDidBecomeFocused will be propagated to the correct parent and cause DOM focus to fire on the correct elements."); |
| |
| |
| if (window.accessibilityController) { |
| |
| var body = accessibilityController.rootElement; |
| |
| // Get access to the text inside the link. |
| var textInsideLink = accessibilityController.accessibleElementById("link1").childAtIndex(0); |
| shouldBe("textInsideLink.description", "'AXLabel: link1'"); |
| |
| // Simulate VoiceOver focus onto the element. |
| textInsideLink.assistiveTechnologySimulatedFocus(); |
| |
| // The new focused element should now be the link itself. |
| shouldBeTrue("accessibilityController.focusedElement.childAtIndex(0).isEqual(textInsideLink)"); |
| |
| // Repeat for text inside link inside heading. |
| |
| // Get access to the text inside the link. |
| var textInsideHeading = accessibilityController.accessibleElementById("heading1").childAtIndex(0); |
| shouldBe("textInsideHeading.description", "'AXLabel: heading1'"); |
| |
| // Simulate VoiceOver focus onto the element. |
| textInsideHeading.assistiveTechnologySimulatedFocus(); |
| |
| // The new focused element should now be the link itself. |
| shouldBeTrue("accessibilityController.focusedElement.childAtIndex(0).isEqual(textInsideHeading)"); |
| } |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |