haikuwebkit/LayoutTests/accessibility/mac/resources/accessibility-helper.js

42 lines
1.4 KiB
JavaScript

function clearSelectionAndFocusOnWebArea() {
webArea = accessibilityController.rootElement.childAtIndex(0);
webArea.resetSelectedTextMarkerRange();
setCaretBrowsingEnabled(webArea, false);
shouldBe("webArea.role", "'AXRole: AXWebArea'");
shouldBe("caretBrowsingEnabled(webArea)", "false");
return webArea;
}
function elementAtStartMarkerOfSelectedTextMarkerRange(webArea) {
var range = webArea.selectedTextMarkerRange();
var start = webArea.startTextMarkerForTextMarkerRange(range);
var element = webArea.accessibilityElementForTextMarker(start);
return element;
}
function caretBrowsingEnabled(webArea) {
return webArea.boolAttributeValue("AXCaretBrowsingEnabled");
}
function setCaretBrowsingEnabled(webArea, value) {
webArea.setBoolAttributeValue("AXCaretBrowsingEnabled", value);
}
function selectTextInNode(nodeId) {
var node = document.getElementById(nodeId);
if (document.body.createTextRange) {
const range = document.body.createTextRange();
range.moveToElementText(node);
range.select();
} else if (window.getSelection) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(node);
selection.removeAllRanges();
selection.addRange(range);
} else {
console.warn("Could not select text in node: Unsupported browser.");
}
}