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

MultiSelect selected items are not announced by screen readers #6214

Closed
veselints opened this issue Jan 5, 2021 · 5 comments
Closed

MultiSelect selected items are not announced by screen readers #6214

veselints opened this issue Jan 5, 2021 · 5 comments
Assignees
Labels
Milestone

Comments

@veselints
Copy link
Contributor

veselints commented Jan 5, 2021

Bug report

MultiSelect selected items are not announced by screen readers

Regression introduced with R3 2020 SP1

Reproduction of the problem

Expected/desired behavior

Selected items should be announced by screen readers

Environment

  • Kendo UI version: 2020.3.1118
  • Browser: [all]
@veselints veselints self-assigned this Jan 5, 2021
@kendo-bot kendo-bot added FP: Planned Sync status with associated Feedback Item FP: Unplanned Sync status with associated Feedback Item labels Jan 5, 2021
@veselints
Copy link
Contributor Author

Here are the findings so far. All testing is made with ChromeVox in Chrome:

  • The members in the tag list are never announced when having aria-labeledby pointing to the widget label element and aria-describedby pointing to the tag list;
  • In order to announce the selected items we need to move the reference to the tag list in the aria-labeledby attribute list;
  • Even doing so, if we keep the role="listbox" on the tag list its items would not be announced

Having the above said, I would suggest following one of the below 3 approaches:

  1. Use role="group" for the tag list and role="listitem" for its items;
  2. Use role="list" for the tag list and role="listitem" for its items;
  3. Avoid using any roles as the <ul> and <li> elements have anyways semantic meaning of list and listitem;

@kendo-bot kendo-bot added FP: In Development Sync status with associated Feedback Item and removed FP: Planned Sync status with associated Feedback Item labels Jan 6, 2021
@veselints veselints removed the FP: Unplanned Sync status with associated Feedback Item label Jan 6, 2021
@mparvanov mparvanov added this to the 2021.R1 milestone Jan 6, 2021
@Iankodj
Copy link
Contributor

Iankodj commented Jan 6, 2021

In my opinion, we should keep the label (aria-labelledby) separate from the taglist. The widget should have an announce-able label regardless of the items selected. I suggest keeping the aria-labelledby and aria-describedby pointing to the tag list.

As for the other 3 options, 1 and 2 lead to the same output as 3 - I do not see any value in utilizing 1 or 2. I think we can go with 3.

I spiked a simple HTML example that seems to work: https://dojo.telerik.com/oReJaQaJ/8

@veselints
Copy link
Contributor Author

Apart from the above, in order to improve the widget accessibility, we should also consider aria-multiselectable="true" and role="listbox" on the focusable input.

@veselints
Copy link
Contributor Author

veselints commented Jan 6, 2021

The regression is caused by the following change:
https://github.com/telerik/kendo/commit/5cf0fe5ed310396a9451b7ae29ce1f2b3d634678

It fixes the following two bugs:
#5460
#5459

If we revert the above fix we could easily avoid the first bug by simply removing the listbox and option roles from the tag list (as suggested above).

The second bug, however, is a more complicated scenario:

  • The previous state was that the input has role="listbox", but that role does not allow aria-autocomplete property;
  • Currently we use role="textbox" but this way we could not use aria-multiselectable="true" which is appropriate for the widget;

My suggestion, if that allows the readers to properly announce the tag list, is to keep the current role="textbox" even if we could not use aria-multiselectable="true".

@veselints
Copy link
Contributor Author

Related to:
#5589

@kendo-bot kendo-bot added FP: Completed Sync status with associated Feedback Item and removed FP: In Development Sync status with associated Feedback Item labels Jan 12, 2021
@mparvanov mparvanov reopened this Jan 12, 2021
@kendo-bot kendo-bot added FP: In Development Sync status with associated Feedback Item and removed FP: Completed Sync status with associated Feedback Item labels Jan 12, 2021
@kendo-bot kendo-bot added FP: Completed Sync status with associated Feedback Item and removed FP: In Development Sync status with associated Feedback Item labels Jan 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants