This test makes sure that an ARIA active descendant change does not change focus, because focus should remain in the textfield portion of the combo box.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


The ComboBox should start out as the focused element.
PASS combo.isEqual(accessibilityController.focusedElement) is true

The ComboBox should still be the focused element even after the aria-activedescendant was changed.
PASS combo.isEqual(accessibilityController.focusedElement) is true
Received notification: AXSelectedChildrenChanged
PASS successfullyParsed is true

TEST COMPLETE

