Various fixes for aria-activedescendant.
1. Elements with an ARIA role and an ancestor that exposes an active descendant should be marked focusable according to the ARIA Spec.
2. Elements that are the target of an active descendant should be marked focused if the element that exposes the active descendant attribute is also focused.
3. If an active descendant is removed an event should fire.
4. According to the ARIA Spec, composite widgets, text boxes and ARIA groups should be permitted to expose an active descendant. We were not permitting text boxes to do that whilst we were permitting other widgets that should not have been, such as outlines.
5. ARIA list box options should be marked selectable in the accessibility API if they have an ancestor that exposes an aria-activedescendant attribute.
6. ARIA list box options that are focused via aria-activedescendant should also be marked as selected.
7. Focus and blur events should not fire from Bllink when the active descendant changes or when it is removed. Only an active descendant changed event should fire. The browser should handle any platform specific focus changed events and not Blink.
BUG=
593646
R=dmazzoni@chromium.org
TESTED=layout test, manually with Jaws and NVDA
Committed:
https://crrev.com/1c568219380053695ef94b4372c4911df9c05c99
Cr-Commit-Position: refs/heads/master@{#386489}