w3c / aria

Accessible Rich Internet Applications (WAI-ARIA)
https://w3c.github.io/aria/
Other
624 stars 118 forks source link

Must a combobox always have a listbox (or tree, grid, or dialog)? #2149

Closed benbeaudry closed 3 months ago

benbeaudry commented 3 months ago

Describe your concern

I'm wondering if a combobox must always have a listbox associated with it. I'm under the impression that it would be a value scenario to have a combobox that doesn't have a listbox while the listbox values are being fetched from a backend but would like confirmation from an editor.

In Chromium, we allow comboboxes that don't have a listbox, but I'm wondering if this is the right behavior. For example, this is valid markup:

I'm asking this question because the accname computation section 2C says:

Combobox/Listbox: If the embedded control has role combobox or listbox, return the text alternative of the chosen option.

...but it doesn't explicitly describe what should happen when there's no listbox (presumably a valid state) and therefore no option. Aria seems to indicate that the name should be computed from the descendants of the combobox:

Otherwise, the value of the combobox is represented by its descendant elements and can be determined using the same method used to compute the name of a button from its descendant content.

I'm currently filing another issue in the accname repo to get further clarifications, as well.

Link to the version of the specification or documentation you were looking at.

https://w3c.github.io/aria/#combobox

Does the issue exists in the editors draft (the editors draft is the most recent draft of the specification)? Yes

scottaohara commented 3 months ago

probably some text that needs updating... because yeh, a combobox doesnt have to just have a listbox associated with it. dialog, grid, listbox... those other values exist.

But maybe that's not really the issue here, since this seems to be more about what to compute from the returned "option" - which maybe should instead say "value" - since it doesn't necessarily have to be an option that a combobox has its value returned from. e.g., a grid cell or row might have a "value" associated with it that is returned when that is selected via a valid combobox pattern.

spectranaut commented 3 months ago

Just to cross link, we have been discussing making the value calculation more explicit here: https://github.com/w3c/accname/issues/200

spectranaut commented 3 months ago

Hi @benbeaudry, we plan on moving the value computation to accname, and we have your issue and the value issue opened there. There is nothing else confusing about the combobox description in ARIA is there? If there is nothing else to fix in ARIA other than the value calculation, we can close this issue.

Also, discussed briefly during new issue triage in today's meeting: https://www.w3.org/2024/03/14-aria-minutes.html

benbeaudry commented 3 months ago

Everything is clear in ARIA. Thank you!