| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div id="test">First line of text<br> |
| <button id="button" aria-hidden="true">button</button> |
| <br>Third line of text</div> |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| description("This tests the ability to search for accessible elements from an ignored element."); |
| |
| if (window.accessibilityController) { |
| |
| document.getElementById("body").focus(); |
| var containerElement = accessibilityController.focusedElement; |
| |
| var element = accessibilityController.accessibleElementById("test").childAtIndex(0); |
| var markerRange = element.textMarkerRangeForElement(element); |
| shouldBe("element.stringForTextMarkerRange(markerRange)", "'First line of text'"); |
| |
| // Try to get the ignored element using line text marker calls |
| var textMarker = element.endTextMarkerForTextMarkerRange(markerRange); |
| textMarker = element.nextTextMarker(textMarker); |
| textMarker = element.nextTextMarker(textMarker); |
| var lineRange = element.lineTextMarkerRangeForTextMarker(textMarker); |
| shouldBe("element.stringForTextMarkerRange(lineRange)", "'button'"); |
| |
| textMarker = element.startTextMarkerForTextMarkerRange(lineRange); |
| var startElement = element.accessibilityElementForTextMarker(textMarker); |
| |
| // Search forward |
| var resultElement = containerElement.uiElementForSearchPredicate(startElement, true, "AXAnyTypeSearchKey", "", false); |
| shouldBe("resultElement.stringValue", "'AXValue: Third line of text'"); |
| |
| // Search backward |
| resultElement = containerElement.uiElementForSearchPredicate(startElement, false, "AXAnyTypeSearchKey", "", false); |
| shouldBe("resultElement.stringValue", "'AXValue: First line of text'"); |
| } |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |