w3c / core-aam

Core Accessibility API Mappings
https://w3c.github.io/core-aam/
38 stars 10 forks source link

Add mapping for combobox, textbox and searchbox value #70

Open joanmarie opened 4 years ago

joanmarie commented 4 years ago

https://github.com/w3c/aria/pull/1225 added a normative requirement for user agents to expose a value for comboboxes. We need to add a mapping to state where this value should be exposed for each platform.

spectranaut commented 2 years ago

Similarly, we need to write value mappings for textbox/searchbox: https://github.com/w3c/aria/issues/1720

See discussion for this issue here: https://github.com/w3c/core-aam/issues/76#issuecomment-1097294742

spectranaut commented 2 years ago

@chlane, the changes reference by Joanie state that the "value" must be exposed to assistive technologies, and specifies how to calculate the value.

In CORE-AAM, we need to add how that value is surfaced in the accessibility APIs. I'm not sure exactly where we should put this section. It might make sense to make a new entries under "sates and properties" (https://w3c.github.io/core-aam/#mapping_state-property_table) with "implicit value attribute for combobox, searchbox and textbox" -- but because every other attribute in that list is an /explicit/ aria- attribute, I'm not sure it belongs there. Maybe it's own separate section immediately following? Maybe it belongs under Special Processing Requiring Additional Calculation

But essentially somewhere we need a table like the following. So the work here is (1) verify these mappings (I just copied them from aria-valuetext) and (2) decide where to put it in core-aam.

Implicit value attribute for combobox, searchbox and textbox

API mapping
MSAA + IAccessible2 Method: IAccessible::get_accValue(): , Object Attribute: valuetext:
UIA Property: Value.Value:
ATK/AT-SPI Object Attribute: valuetext:
AX API Property: AXValueDescription:
spectranaut commented 1 year ago

I realized that it's possible this definition belong in the "role" definition, not the attribute section, for example, some roles include which interfaces should be exposed: https://w3c.github.io/core-aam/#role-map-meter