Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / forms / calendar-picker / date-picker-ax.html
blob048f2b033d907ec620bd43bdf4ff712c7e5aef6d
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="../../../resources/js-test.js"></script>
5 <script src="../../forms/resources/picker-common.js"></script>
6 <script src="resources/calendar-picker-common.js"></script>
7 <p id="description"></p>
8 <div id="console"></div>
9 <input type="date" id="date1" value="2000-01-02">
11 <script>
12 description('Tests if typing an arrow key dispatches |Focus| and |ActiveDescendantChanged| a11y events.');
14 window.accessibilityController.setNotificationListener(function(axnode, type) {
15 if (type == 'Focus') {
16 // Remove ',' to reduce platform differences.
17 debug('Focused: ' + escapeHTML(accessibilityController.focusedElement.description.replace(/,/g, '')));
18 } else if (type == 'ActiveDescendantChanged') {
19 testPassed('Received ActiveDescendantChanged');
20 if (++activeDescendantCounter == 2) {
21 testButtonDescription();
22 } else if (activeDescendantCounter == 3) {
23 // Highlight 2000-02 in the month popup.
24 setTimeout(function() { eventSender.keyDown('rightArrow'); }, 0);
25 } else if (activeDescendantCounter == 4) {
26 // Highlight 1999-10 in the month popup.
27 setTimeout(function() { eventSender.keyDown('upArrow'); }, 0);
28 } else if (activeDescendantCounter == 5) {
29 finishJSTest();
32 });
33 var activeDescendantCounter = 0;
34 var date1 = document.getElementById('date1');
35 openPicker(date1, test1);
37 function test1() {
38 eventSender.keyDown('rightArrow');
41 function testButtonDescription() {
42 // Focus on 'next month' button.
43 eventSender.keyDown('\t', ['shiftKey']);
44 // Focus on the today button.
45 eventSender.keyDown('\t', ['shiftKey']);
46 // Focus on 'previous month' button.
47 eventSender.keyDown('\t', ['shiftKey']);
48 // Focus on the month selector button.
49 eventSender.keyDown('\t', ['shiftKey']);
51 debug('Open the month popup. This should notify the third ActiveDescendantChanged.');
52 eventSender.keyDown(' ');
54 </script>
55 </body>
56 </html>