Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

select: option groups are not read by JAWS/IE #11240

Closed
benjiallen opened this issue Apr 17, 2018 · 4 comments
Closed

select: option groups are not read by JAWS/IE #11240

benjiallen opened this issue Apr 17, 2018 · 4 comments
Assignees
Labels
a11y This issue is related to accessibility g3: reported The issue was reported by an internal or external product team. has: Pull Request A PR has been created to address this issue P2: required Issues that must be fixed. resolution: fixed type: bug
Milestone

Comments

@benjiallen
Copy link

What is the expected behavior?

Option groups should be read by screen readers.

What is the current behavior?

Option groups are not read by screen readers.

Steps to reproduce the issue:

AngularJS Material Demo which shows your issue:

  • Open up IE and JAWS and navigate to the right place in the page
  • Open the "topping" select menu
  • Observe that the option groups are not read by JAWS e.g., "meats", "veggies"

What is the use-case or motivation for changing an existing behavior?

This component is not accessible to screen reader users in it's current form.

Which versions of AngularJS, Material, OS, and browsers are affected?

  • Version of AngularJS: 1.6.7 (this is the version used in the demo site)
  • Version of Material: 1.1.8 (this is the version used in the demo site)
  • OS: Windows 7 Enterprise
  • Browsers: IE11
  • Screen reader: JAWS 17
@Splaktar Splaktar changed the title md-select: option groups are not read by JAWS/IE select: option groups are not read by JAWS/IE Apr 19, 2018
@Splaktar Splaktar added a11y This issue is related to accessibility type: bug P2: required Issues that must be fixed. labels Apr 19, 2018
@Splaktar Splaktar self-assigned this Apr 19, 2018
@Splaktar Splaktar added this to the 1.1.10 milestone Apr 19, 2018
@Splaktar Splaktar modified the milestones: 1.1.10, 1.1.11 Jun 19, 2018
@Splaktar Splaktar modified the milestones: 1.1.11, 1.1.12 Sep 10, 2018
@Splaktar Splaktar modified the milestones: 1.1.12, 1.1.13 Jan 3, 2019
@Splaktar Splaktar modified the milestones: 1.1.13, 1.1.14 Feb 10, 2019
@Splaktar Splaktar added g3: reported The issue was reported by an internal or external product team. g3: sync labels Feb 15, 2019
@Splaktar Splaktar modified the milestones: 1.1.14, g3: sync Feb 15, 2019
@jelbourn
Copy link
Member

To clarify, this this only in IE11, or does it affect other browsers as well?

@Splaktar Splaktar added browser: IE This issue is specific to Internet Explorer and removed needs: Pull Request labels Feb 23, 2019
@Splaktar
Copy link
Contributor

Splaktar commented Aug 8, 2019

It appears to affect all screen readers because PR #10760 applied aria-hidden="true" to the labels in md-optgroups. The PR doesn't seem to specify why this was done.

@Splaktar Splaktar modified the milestones: g3: sync, 1.1.20 Aug 8, 2019
@Splaktar
Copy link
Contributor

Splaktar commented Aug 8, 2019

After more investigation, it doesn't look like the aria-hidden="true" was really a problem. It's more that the md-optgroup needs to have an aria-label applied to it. It also seems useful to apply a role="group".

However, while adding this aria-label to md-optgroup gets the screen reader to announce the groups, it breaks the announcing of indexes (i.e. "1 of 8").

On VoiceOver, it just stops giving option indexes completely, but it does mention "Group 1 of 2" and "Group 2 of 2".
On ChromeVox, it mentions the options as "List item 1 of 0" and "List item 2 of 0".

I'm going to investigate if it's feasible to add aria-posinset and aria-setsize and whether this helps or not.

@Splaktar
Copy link
Contributor

Splaktar commented Aug 8, 2019

Applying aria-posinset and aria-setsize doesn't help VoiceOver, but it's probably better to have the groups announced than to worry about indexes being properly announced.

For ChromeVox, applying aria-posinset and aria-setsize works and allows both the option groups and indexes to be announced properly.

Splaktar added a commit that referenced this issue Aug 8, 2019
add single selection optgroup demo
add tests for optgroup `aria-label`
add tests for optgroup options' `aria-setsize` and `aria-posinset`

Fixes #11240
@Splaktar Splaktar added the has: Pull Request A PR has been created to address this issue label Aug 8, 2019
@Splaktar Splaktar removed the browser: IE This issue is specific to Internet Explorer label Aug 8, 2019
@Splaktar Splaktar modified the milestones: 1.1.20, 1.1.21 Aug 8, 2019
Splaktar added a commit that referenced this issue Aug 12, 2019
add single selection optgroup demo
add tests for optgroup `aria-label`
add tests for optgroup options' `aria-setsize` and `aria-posinset`

Fixes #11240
@Splaktar Splaktar modified the milestones: 1.1.21, 1.1.22 Aug 15, 2019
@Splaktar Splaktar modified the milestones: 1.1.22, 1.1.23 Oct 22, 2019
Splaktar added a commit that referenced this issue May 15, 2020
add single selection optgroup demo
add tests for optgroup `aria-label`
add tests for optgroup options' `aria-setsize` and `aria-posinset`

Fixes #11240
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a11y This issue is related to accessibility g3: reported The issue was reported by an internal or external product team. has: Pull Request A PR has been created to address this issue P2: required Issues that must be fixed. resolution: fixed type: bug
Projects
None yet
Development

No branches or pull requests

3 participants