<!DOCTYPE HTML>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<select id="menulist">
<option id="item0">Alicia</option>
<option id="item1">Peter</option>
<option id="item2">Kalinda</option>
</select>
<script>
async_test((t) => {
var menulist = document.getElementById("menulist");
menulist.selectedIndex = 0;
var axMenuList = accessibilityController.accessibleElementById("menulist");
var axMenuListPopup = axMenuList.childAtIndex(0);
assert_equals(axMenuListPopup.role, "AXRole: AXMenuListPopup");
var axMenuListOption = axMenuListPopup.childAtIndex(0);
assert_equals(axMenuListOption.role, "AXRole: AXMenuListOption");
accessibilityController.addNotificationListener(
t.step_func(function(element, notification) {
if (element.name != axMenuListOption.name)
return;
window.element = element;
assert_equals(element.isEqual(axMenuListOption), true);
assert_equals(element.parentElement(), axMenuListPopup);
t.done();
})
);
menulist.selectedIndex = 1;
}, "This test makes sure menu lists fire events on both the option that lost selection and the one that gained selection.");
</script>