| Index: LayoutTests/accessibility/listbox-focus.html
|
| diff --git a/LayoutTests/accessibility/listbox-focus.html b/LayoutTests/accessibility/listbox-focus.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c8977dceb0d5554e1fac08dbacc61dc9522c4902
|
| --- /dev/null
|
| +++ b/LayoutTests/accessibility/listbox-focus.html
|
| @@ -0,0 +1,45 @@
|
| +<!DOCTYPE HTML>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<select id="listbox" size="3">
|
| + <option id="item0">Alicia</option>
|
| + <option id="item1">Peter</option>
|
| + <option id="item2">Kalinda</option>
|
| +</select>
|
| +<script>
|
| +async_test(function(t)
|
| +{
|
| + var listbox = document.getElementById("listbox");
|
| + listbox.selectedIndex = 0;
|
| + listbox.focus();
|
| +
|
| + accessibilityController.accessibleElementById('dummy');
|
| +
|
| + var gotCheckedStateChanged = false;
|
| + var gotSelectedChildrenChanged = false;
|
| + var gotFocus = false;
|
| +
|
| + window.setTimeout(function() {
|
| + var result = "";
|
| + accessibilityController.addNotificationListener(t.step_func(function listener(element, notification) {
|
| + if (notification == "CheckedStateChanged") {
|
| + assert_equals(element.role, "AXRole: AXListBoxOption");
|
| + gotCheckedStateChanged = true;
|
| + }
|
| + if (notification == "SelectedChildrenChanged") {
|
| + assert_equals(element.role, "AXRole: AXListBox");
|
| + gotSelectedChildrenChanged = true;
|
| + }
|
| + if (notification == "Focus") {
|
| + assert_equals(element.role, "AXRole: AXListBoxOption");
|
| + gotFocus = true;
|
| + }
|
| + if (gotCheckedStateChanged && gotSelectedChildrenChanged && gotFocus) {
|
| + t.done();
|
| + }
|
| + }));
|
| +
|
| + listbox.selectedIndex = 1;
|
| + }, 0);
|
| +}, "menu list fires focus event on close");
|
| +</script>
|
|
|