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

Make aria-live optional #4447

Closed
bozdoz opened this issue Feb 17, 2021 · 3 comments · Fixed by #4414
Closed

Make aria-live optional #4447

bozdoz opened this issue Feb 17, 2021 · 3 comments · Fixed by #4414

Comments

@bozdoz
Copy link

bozdoz commented Feb 17, 2021

What do I want?

I want to make an accessible combobox.

What do I have in mind?

Make aria-live messages optional: they are not part of the spec for combobox accessibility, and I would like to remove it entirely.

Example of similar functionality

Accessible combobox is defined on w3.org: https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.0pattern/combobox-autocomplete-both.html

No aria-live; just roles and attributes.

@ebonow
Copy link
Collaborator

ebonow commented Feb 17, 2021

Greetings @bozdoz ,

Just a heads up that this functionality will likely be covered in #4414 though it is not yet explicitly documented (update: added this to the PR).

It's understood that there are collisions with some of the roles and attributes so making the aria-live attribute accessible via props to be assertive, polite, or off should suffice to meet the needs of more people.

I think there are some larger discussions to be had about the expectations of screen reader compatibility across various attributes across different situations and implementations. Roles and attributes has been tried before and was not a sufficient solution at the time which is why aria-live was implemented, but that said, we want to shore up the existing aria-live compatibility as react-select is very much geared towards giving users better customization.

To my understanding, #1585 exists because the selected option/options does not exist in the input which is even more problematic when working with isMulti. @bozdoz are you aware of any native attributes/roles that fills this gap?

@ebonow ebonow linked a pull request Feb 17, 2021 that will close this issue
14 tasks
@ebonow ebonow mentioned this issue Feb 21, 2021
14 tasks
@bozdoz
Copy link
Author

bozdoz commented Feb 23, 2021

@ebonow re #1585 I've also run into that problem, and I agree with your assessment: the value is rendered in a div, and not present in the focused input. I'm not sure how you get around that without faking it with aria-live messages. So maybe this issue of disabling aria-live is not worth working on.

@bozdoz bozdoz closed this as completed Feb 23, 2021
@ebonow
Copy link
Collaborator

ebonow commented Feb 23, 2021

@bozdoz it's certainly complicated. One other challenge has been dealing with isMulti as that is another use-case not handled well by default attributes and roles.

We discussed this as a group to see if it was worth implementing, and the ability to set the aria-live attribute to "assertive" or "off" might make sense for some implementations so we decided to add aria-live as a prop in the incoming PR.

We truly want to provide a better experience when it comes to accessibility and I understand many see these shortcomings as a slight, so we are going to do a better job explaining by adding a section dedicated to accessibility and giving better tools to support an experience for all users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants