core-aam icon indicating copy to clipboard operation
core-aam copied to clipboard

May need to update UIA mappings for aria-expanded to address combobox (et al.)

Open joanmarie opened this issue 5 years ago • 0 comments

During today's face-to-face meeting we discussed the possibility of placing aria-expanded on the text input rather than on the object with role combobox. Text inputs are not traditionally expandable themselves so assistive technologies may need to adjust where they look for this state.

An additional change may be needed for UIA because unlike other platforms, "expandable" is not a state that can be applied to any object; there is an ExpandCollapse ControlPattern whose documentation states the following:

Aggregate controls—built with child objects that provide the UI with expand/collapse functionality—must support the ExpandCollapsePattern control pattern whereas their child elements do not. For example, a combo box control is built with a combination of list box, button, and edit controls, but it is only the parent combo box that must support the ExpandCollapsePattern.

Note

An exception is the menu control, which is an aggregate of individual MenuItem objects. The MenuItem objects can support the ExpandCollapsePattern control pattern, but the parent Menu control cannot. A similar exception applies to the Tree and Tree Item controls.

In other words, as I understand it, if authors place aria-expanded on the text input, the expandable nature and state will be lost for UIA implementations.

That said, I believe it will be easy for implementations (including Blink) to catch this condition, ascend the accessibility tree and/or check for aria-owns, and if they find an element with role combobox, expose aria-expanded on that ancestor/owner of the text input.

Assuming I am correct, we will need to do two things:

  1. Update Core-AAM to reflect the need for implementations to do this work
  2. File bugs against implementations and make the change

@melanierichards: I'm going to assign this to you to check with your colleagues about my theory and, assuming I'm indeed correct, to provide a pull request with the appropriate language for your platform. Thanks in advance!

joanmarie avatar May 01 '19 18:05 joanmarie