forked from Pissandshittium/pissandshittium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaccessibility-helper.js
33 lines (28 loc) · 1.27 KB
/
accessibility-helper.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function buildAccessibilityTree(accessibilityObject, indent, allAttributesRequired, rolesToIgnore, targetObject, targetString) {
if (rolesToIgnore) {
for (var i = 0; i < rolesToIgnore.length; i++) {
if (accessibilityObject.role == 'AXRole: ' + rolesToIgnore[i])
return true;
}
}
var str = "";
for (var i = 0; i < indent; i++)
str += " ";
str += accessibilityObject.role;
if (accessibilityObject.value)
str += " AXValue: " + accessibilityObject.value;
else if (accessibilityObject.name)
str += " \"" + accessibilityObject.name + "\"";
str += allAttributesRequired && accessibilityObject.role == '' ? accessibilityObject.allAttributes() : '';
str += targetObject && accessibilityObject.isEqual(targetObject) ? " " + targetString : '';
str += "\n";
document.getElementById("console").innerText += str;
if (accessibilityObject.name.indexOf('End of test') >= 0)
return false;
var count = accessibilityObject.childrenCount;
for (var i = 0; i < count; i++) {
if (!buildAccessibilityTree(accessibilityObject.childAtIndex(i), indent + 1, allAttributesRequired, rolesToIgnore, targetObject, targetString))
return false;
}
return true;
}