| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test.js"></script> |
| <script src="../../resources/accessibility-helper.js"></script> |
| </head> |
| <body id="body" role="group"> |
| |
| <script> |
| description("This tests that a scroll area will return scroll bars when asked."); |
| |
| // Cause the web page to gain scrollbars. |
| for (var k = 0; k < 100; k++) { |
| document.getElementById("body").innerHTML += "<br><br><br>"; |
| } |
| |
| var scrollArea; |
| if (window.accessibilityController) { |
| window.jsTestIsAsync = true; |
| |
| setTimeout(async function() { |
| // Iterate up from the body AX element to the scrollarea AX element. |
| let maybeScrollArea = scrollArea = accessibilityController.accessibleElementById("body"); |
| while (maybeScrollArea) { |
| if (maybeScrollArea.role === "AXRole: AXScrollArea") { |
| scrollArea = maybeScrollArea; |
| break; |
| } |
| maybeScrollArea = maybeScrollArea.parentElement(); |
| } |
| |
| // Wait for scrollbar to be created. |
| await waitFor(() => { |
| return scrollArea.verticalScrollbar; |
| }); |
| |
| shouldBe("scrollArea.role", "'AXRole: AXScrollArea'"); |
| shouldBe("scrollArea.verticalScrollbar.role", "'AXRole: AXScrollBar'"); |
| |
| finishJSTest(); |
| }, 0); |
| } |
| </script> |
| </body> |
| </html> |
| |