Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aria 1.2 support for useCombobox #1239

Closed
gptt916 opened this issue Feb 17, 2021 · 7 comments · Fixed by #1415
Closed

Aria 1.2 support for useCombobox #1239

gptt916 opened this issue Feb 17, 2021 · 7 comments · Fixed by #1415

Comments

@gptt916
Copy link

gptt916 commented Feb 17, 2021

  • downshift version: 6.0.6
  • node version: 14.15
  • npm (or yarn) version: 6.14.9

What you did:
Implement a searchbox with dropdown suggestions as combobox

What happened:
accessibility tool is not passing aria 1.2 specification for combobox

Are there any plans to support aria 1.2 when it is officially published?

@silviuaavram
Copy link
Collaborator

Yes, we should transition to aria 1.2. Unfortunately it will mean a breaking change, since there will not be any combobox wrapper of the input.

@carmacleod
Copy link

Note that ARIA 1.2 reached W3C Candidate Recommendation status today.

@silviuaavram
Copy link
Collaborator

From what I see in your PR we can still achieve Aria 1.2 support by merging attributes from getInputProps and getComboboxProps/getRootProps.

Moving forward, we should deprecate the latter and move everything to getInputProps.

However, when do you think it would be the right time to do so? The new 1.2 guidelines should not only be final, but also supported by all screen readers, right? @carmacleod

@carmacleod
Copy link

The new 1.2 guidelines should not only be final, but also supported by all screen readers, right? @carmacleod

The 1.2 guidelines for combobox will not be changing. The document itself is a Candidate Recommendation, which means it's really close to final (final = Recommendation). It also means we're done changing it. :)

The 1.2 combobox currently has the best support in screen readers of any previous combobox pattern, and it is the one we recommend moving forward. The ARIA-AT project aims to bring more consistency to screen reader output in general, and combobox is on their radar.

@silviuaavram
Copy link
Collaborator

I will leave this open to track the migration to 1.2. Everyone can do this manually by merging getRootProps/getComboboxProps with getInputProps and adding everything on the input component, more or less.

I think carbon-design-system/carbon#7777 is a good example to do so.

This ticket should be closed once we will implement this by default, and remove getComboboxProps from useCombobox.

@OlliNie
Copy link

OlliNie commented Oct 11, 2021

Do we have an estimate as to when we can expect support for Aria 1.2?

@silviuaavram
Copy link
Collaborator

I am working on the estimates, but for now please use the aggregated getComoboxProps and getInputProps to work around and put everything on the input element. Will also update useSelect to match 1.2 ARIA, so we are up to date!

#1365

@silviuaavram silviuaavram changed the title Aria 1.2 support? Aria 1.2 support for useCombobox Mar 7, 2022
@silviuaavram silviuaavram mentioned this issue Oct 21, 2022
silviuaavram added a commit that referenced this issue Oct 22, 2022
BREAKING CHANGE: updates to useCombobox and useSelect to adhere to the 1.2 version of the ARIA Combobox pattern.

Migration guide is available in [this file](https://github.com/downshift-js/downshift/tree/master/src/hooks/MIGRATION_V7.md).

Closes #1365.
Closes #1239.
Contains changes from #1149.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants