| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div tabindex="0" id="text1">text</div> |
| <img src='resources/cake.png' width=5000 height=5000> |
| <br> |
| <div tabindex="0" id="text2">text</div> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that the WebKit generated scroll areas are correct."); |
| |
| if (window.accessibilityController) { |
| testRunner.waitUntilDone(); |
| |
| // Cause scroll position to be at the top. |
| document.getElementById("text1").focus(); |
| |
| var scroll = accessibilityController.rootElement; |
| var web = scroll.childAtIndex(0); |
| shouldBe("scroll.role", "'AXRole: AXScrollArea'"); |
| shouldBe("web.role", "'AXRole: AXWebArea'"); |
| |
| var initialWebY = web.y; |
| |
| // Cause focus to scroll down. |
| document.getElementById("text2").focus(); |
| |
| setTimeout(() => { |
| // Since focus() should have scrolled down, the web.y should be greater than scroll.y since the content (web area) has moved. |
| // The web position should also be greater than when it started. |
| shouldBeTrue("scroll.y < web.y"); |
| shouldBeTrue("web.y > initialWebY"); |
| finishJSTest(); |
| }, 0); |
| } |
| |
| jsTestIsAsync = true; |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |