You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When an assistive technology uses its platform's acessibility API to request a change of focus, user agents MUST do the following:
Remove the platform's focused state from the previously focused object.
Set the DOM focus:
If the element can take DOM focus, the user agent MUST set the DOM focus to it.
Otherwise, if the current element has an ID and an ancestor with the aria-activedescendant attribute present, and that ancestor is focusable, the user agent MUST set DOM focus to that ancestor.
NOTE
The inability to set DOM focus to the containing element indicates an author error.
Otherwise, the user agent MAY attempt to set DOM focus to the child element itself.
If the current element has an ID and an ancestor with the aria-activedescendant attribute present, the user agent MUST set the accessibility API focused state and fire an accessibility API focus event on the new active descendant.
If you agree that this is needed, I can create a PR.
The text was updated successfully, but these errors were encountered:
Good catch @carmacleod! I agree, except that the wording has to be slightly more complex to be accurate:
if the current element has an ID and either has an ancestor with the aria-activedescendant attribute present or is owned by an element that is controlled by a textbox with the aria-activedescendant attribute present
In this case, "owned by" means is contained by or owned via aria-owns. I think we have it defined that way but that should be double-checked.
if the current element has an ID and either has an ancestor with the aria-activedescendant attribute present or is owned by an element that is controlled by a textbox with the aria-activedescendant attribute present
Should we say "combobox" instead of "textbox"? That would cover select-only comboboxes as well.
Actually, maybe we need to say, "combobox, textbox or searchbox" to also cover the case where a textbox or searchbox supports autocomplete behavior?
Are there any more cases where a controller could use aria-activedescendant? i.e. can a role="application" aria-roledescription="map" aria-controls="map" use aria-activedescendant to focus cities on a controlled map? Just wondering if we need to use more generic language?
In this case, "owned by" means is contained by or owned via aria-owns. I think we have it defined that way but that should be double-checked.
@mcking65 Please correct me if I am wrong, but I believe that every instance of "ancestor" (4 of them) should be replaced with "ancestor or controller" in the following portion of the Managing Focus "Information for User Agents" section of the ARIA spec:
If you agree that this is needed, I can create a PR.
The text was updated successfully, but these errors were encountered: