1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
5 <script src=
"../resources/js-test.js"></script>
9 <!-- Note: the xxxxxx... should wrap onto another line on all platforms. -->
10 <p id=
"paragraph" style=
"width: 8em; word-wrap: break-word;">
11 Ace ten twenty-one thirty-five. xxxxxxxxxxxxxxxxxxx
14 <p id=
"description"></p>
16 <div id=
"console"></div>
20 description("Tests that we can compute word boundaries for any character index from the accessibility tree.");
22 // Note: all that matters is that characters within actual words are mapped correctly.
23 // Whether a character between words is mapped to the previous or next word is arbitrary;
24 // all that matters is that we expose the start and end of real words.
25 if (window
.accessibilityController
) {
26 var axParagraph
= accessibilityController
.accessibleElementById('paragraph');
27 var axStaticText
= axParagraph
.childAtIndex(0);
28 var text
= axStaticText
.stringValue
.substr(9);
29 debug("Accessible text: \"" + text
+ "\"");
31 for (var i
= 0; i
< text
.length
; i
++) {
32 // Get the bounds from the accessibility tree.
33 var wordStart
= axStaticText
.wordStart(i
);
34 var wordEnd
= axStaticText
.wordEnd(i
);
35 debug("Character " + i
+ ": '" + text
.substr(i
, 1) +
36 "' word=(" + wordStart
+ ", " + wordEnd
+ "): '" +
37 text
.substr(wordStart
, wordEnd
- wordStart
) + "'");