OLD | NEW |
1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <select id="listbox" size="3"> | 4 <select id="listbox" size="3"> |
5 <option id="item0">Alicia</option> | 5 <option id="item0">Alicia</option> |
6 <option id="item1">Peter</option> | 6 <option id="item1">Peter</option> |
7 <option id="item2">Kalinda</option> | 7 <option id="item2">Kalinda</option> |
8 </select> | 8 </select> |
9 <script> | 9 <script> |
10 async_test(function(t) | 10 async_test(function(t) |
11 { | 11 { |
12 var listbox = document.getElementById("listbox"); | 12 var listbox = document.getElementById("listbox"); |
13 listbox.selectedIndex = 0; | 13 listbox.selectedIndex = 0; |
14 listbox.focus(); | 14 listbox.focus(); |
15 | 15 |
16 accessibilityController.accessibleElementById('dummy'); | 16 accessibilityController.accessibleElementById('dummy'); |
17 | 17 |
18 var gotCheckedStateChanged = false; | 18 var gotCheckedStateChanged = false; |
19 var gotSelectedChildrenChanged = false; | 19 var gotSelectedChildrenChanged = false; |
20 var gotFocus = false; | |
21 | 20 |
22 window.setTimeout(function() { | 21 window.setTimeout(function() { |
23 var result = ""; | 22 var result = ""; |
24 accessibilityController.addNotificationListener(t.step_func(function lis
tener(element, notification) { | 23 accessibilityController.addNotificationListener(t.step_func(function lis
tener(element, notification) { |
25 if (notification == "CheckedStateChanged") { | 24 if (notification == "CheckedStateChanged") { |
26 assert_equals(element.role, "AXRole: AXListBoxOption"); | 25 assert_equals(element.role, "AXRole: AXListBoxOption"); |
27 gotCheckedStateChanged = true; | 26 gotCheckedStateChanged = true; |
28 } | 27 } |
29 if (notification == "SelectedChildrenChanged") { | 28 if (notification == "SelectedChildrenChanged") { |
30 assert_equals(element.role, "AXRole: AXListBox"); | 29 assert_equals(element.role, "AXRole: AXListBox"); |
31 gotSelectedChildrenChanged = true; | 30 gotSelectedChildrenChanged = true; |
32 } | 31 } |
33 if (notification == "Focus") { | 32 if (gotCheckedStateChanged && gotSelectedChildrenChanged) { |
34 assert_equals(element.role, "AXRole: AXListBoxOption"); | |
35 gotFocus = true; | |
36 } | |
37 if (gotCheckedStateChanged && gotSelectedChildrenChanged && gotFocus
) { | |
38 t.done(); | 33 t.done(); |
39 } | 34 } |
40 })); | 35 })); |
41 | 36 |
42 listbox.selectedIndex = 1; | 37 listbox.selectedIndex = 1; |
43 }, 0); | 38 }, 0); |
44 }, "menu list fires focus event on close"); | 39 }, "menu list fires correct events when active index changes."); |
45 </script> | 40 </script> |
OLD | NEW |