Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: LayoutTests/accessibility/inline-text-textarea.html

Issue 23983002: Expose InlineTextBoxes in the accessibility tree. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../fast/js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7
8 <textarea id="textarea" cols=30 rows=20>This textarea contains several lines of text. It demonstrates
9 how updating a single InlineTextBox is a lot more efficient than updating the wh ole TextArea.</textarea>
10
11 <p id="description"></p>
12
13 <div id="console"></div>
14
15 <script>
16
17 description("Demonstrates that when typing in a textarea, not all of the Inl ineTextBoxes need to be updated for every character pressed.");
18
19 if (window.accessibilityController) {
20
21 function findAllDescendantsWithRole(axObject, role) {
22 if (axObject.role == role)
23 return [axObject];
24 var result = [];
25 for (var i = 0; i < axObject.childrenCount; i++)
26 result = result.concat(findAllDescendantsWithRole(axObject.child AtIndex(i), role));
27 return result;
28 }
29
30 var axTextarea = accessibilityController.accessibleElementById('textarea ');
31 var inlineTextBoxesBefore = findAllDescendantsWithRole(axTextarea, 'AXRo le: AXInlineTextBox');
32 var firstInlineTextBoxBefore = inlineTextBoxesBefore[0];
33 var lastInlineTextBoxBefore = inlineTextBoxesBefore[inlineTextBoxesBefor e.length - 1];
34
35 document.getElementById("textarea").focus();
36 document.getElementById("textarea").setSelectionRange(45, 45);
37
38 // Insert a character in the first paragraph.
39 document.execCommand("InsertText", false, 'x');
40
41 // The inline text boxes in the first paragraph change, but the
42 // inline text boxes in the last paragraph are reused.
43 var inlineTextBoxesAfter = findAllDescendantsWithRole(axTextarea, 'AXRol e: AXInlineTextBox');
44 var firstInlineTextBoxAfter = inlineTextBoxesAfter[0];
45 var lastInlineTextBoxAfter = inlineTextBoxesAfter[inlineTextBoxesAfter.l ength - 1];
46
47 shouldBe("firstInlineTextBoxBefore.isEqual(firstInlineTextBoxAfter)", "f alse");
48 shouldBe("lastInlineTextBoxBefore.isEqual(lastInlineTextBoxAfter)", "tru e");
49 }
50 </script>
51
52 <script src="../fast/js/resources/js-test-post.js"></script>
53 </body>
54 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698