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

bug: Screen Reader reads ion-select just as a button #21548

Closed
kensodemann opened this issue Jun 16, 2020 · 3 comments
Closed

bug: Screen Reader reads ion-select just as a button #21548

kensodemann opened this issue Jun 16, 2020 · 3 comments
Labels
package: core @ionic/core package type: bug a confirmed bug report
Milestone

Comments

@kensodemann
Copy link
Member

kensodemann commented Jun 16, 2020

Bug Report

Ionic version:

[ ] 4.x
[x] 5.x

Current behavior:
ion-select when used along with ion-select-option is not read by screen reader software like NVDA screen reader properly. It’s just read as a “button”.

Expected behavior:

As per the violation highlighted by the AXE chrome extension, the combobox role (added by ion-select) should have child elements tagged to with role textbox for accessibility tools to work as expected. However, ion-select-option adds html elements with role as “option”

Related code:
Sample Usage:

<ion-select id="input-user-address-state" formControlName="state">
  <ion-select-option *ngFor="let state of stateList" [value]="state.value">{{state.name}}</ion-select-option>
</ion-select>

Refer to item 1 in the document shared in Slack for further details.
https://ionicteam.slack.com/archives/C7CGXAVTL/p1592319616186200

@ionitron-bot ionitron-bot bot added the triage label Jun 16, 2020
@liamdebeasi
Copy link
Contributor

liamdebeasi commented Jun 23, 2020

It appears that the relationship when using aria-labelledby is broken in the shadow dom. In this instance, using aria-labelledby in the shadow dom and referencing an element outside of the shadow dom does not work. Looks like other people are running into this too: https://developer.paciellogroup.com/blog/2012/07/notes-on-web-components-aria/

I do not know if this is a flaw in the spec, or if this is a bug in browsers. This does not appear to be a bug in the framework. Still investigating.

edit: The aria-lablledby issue is the intended behavior when it comes to the shadow dom. We will need to figure out a solution for this, but the solution may require breaking changes.

@liamdebeasi
Copy link
Contributor

When fixing this, we should also ensure it resolves the second/related issue described in #21601 (comment).

@ionitron-bot
Copy link

ionitron-bot bot commented Dec 20, 2020

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.

@ionitron-bot ionitron-bot bot locked and limited conversation to collaborators Dec 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
package: core @ionic/core package type: bug a confirmed bug report
Projects
None yet
Development

No branches or pull requests

3 participants