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

Slider does not work for touch+AT users #31498

Open
patrickhlauke opened this issue Jul 9, 2020 · 8 comments
Open

Slider does not work for touch+AT users #31498

patrickhlauke opened this issue Jul 9, 2020 · 8 comments

Comments

@patrickhlauke
Copy link

While the slider https://fast.design/docs/components/slider works well with AT and keyboard, it does currently not work in touch+AT scenarios. This is not a new problem...it's a problem that affects the ARIA 1.1 slider design pattern as well. In short: generally, touch+AT users that land on a slider (that announces itself as a native slider, e.g. with role="slider"), then AT will generally tell the user how to interact with the slider (on iOS/VO, "swipe up or down to change the value"; on Android/TalkBack "use the volume up/down ..."; etc). Of course, these types of interactions are not caught (and even using something like touch or pointer events at least for the swipe up/down won't work, as those gestures won't be passed to the page's JS as they'll be caught by AT).

See https://codepen.io/patrickhlauke/pen/byWPMX and w3c/aria-practices#8

@nicholasrice
Copy link
Contributor

Awesome, thanks for the resources @patrickhlauke!

@marjonlynch marjonlynch self-assigned this Aug 10, 2020
@marjonlynch marjonlynch removed their assignment Aug 27, 2020
@nicholasrice
Copy link
Contributor

My understanding from the resources linked above is that the platform is actually lacking the APIs to properly support a custom slider component.

The only known work-around (referenced in the issues above) is to render a visually hidden <input type="range"> that controls the control's value and correctly interprets touch + AT interactions.

@patrickhlauke
Copy link
Author

@nicholasrice correct, at this point in time

@stale
Copy link

stale bot commented Apr 16, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@chrisdholt
Copy link
Member

It's come to my attention that with Safari 13.1 the issue with VoiceOver may be solved. I don't know if this has been fixed with Android/Talkback yet though. I'll see if we can test and follow up with more details.

@patrickhlauke
Copy link
Author

I don't know if this has been fixed with Android/Talkback yet though

It hasn't, no (at least from my recent testing). For context, what VO does now is to effectively send "fake"/synthetic cursor up/down keyboard events when swiping up/down on a an element that exposes (either intrinsically or explicitly) a role of slider or scrollbar - see the User action events from Assistive Technologies section in the AOM explainer.

@chrisdholt
Copy link
Member

I don't know if this has been fixed with Android/Talkback yet though

It hasn't, no (at least from my recent testing). For context, what VO does now is to effectively send "fake"/synthetic cursor up/down keyboard events when swiping up/down on a an element that exposes (either intrinsically or explicitly) a role of slider or scrollbar - see the User action events from Assistive Technologies section in the AOM explainer.

Thanks @patrickhlauke! This confirms exactly what I heard during a conversation on this today. I'm going to keep this open to track the reality that Android/Talkback isn't updated yet but perhaps that domino will fall soon.

@janechu janechu transferred this issue from microsoft/fast May 28, 2024
@janechu
Copy link
Contributor

janechu commented May 28, 2024

Transferred this as it should pertain to https://github.com/microsoft/fluentui/tree/master/packages/web-components but due to microsoft/fast#6955 the issue is obsolete for FAST.

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

No branches or pull requests

7 participants