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

Unable to follow up with Narrator instructions for increasing/decreasing value for the slider #22253

Closed
minks21 opened this issue Mar 30, 2022 · 3 comments
Labels
Resolution: Won't Fix Not going to fix an issue due to various factors

Comments

@minks21
Copy link

minks21 commented Mar 30, 2022

Environment Information

  • Package version(s): 8.62.4
  • Browser and OS versions: Edge 99.0.1150.55 on Windows 10.0.22000

Describe the issue:

We recently came across a bug where the narrator's tapping functionality to increase/decrease the slider value does not work. For visually impaired users when they reach the slider by sliding it on the screen from left to right. Narrator says double tap to increase the slider value and triple tap to decrease. But it didn't work.

Please provide a reproduction of the issue in a codepen:

  1. Have a slider
  2. Open narrator and navigate to the Slider by sliding (left to right).
  3. It will say double tap to increase value and triple tap to decrease.
  4. Nothing will happen when trying to double/triple tap.

https://codepen.io/Beliy_Cyclop/pen/RwNEqpX

Actual behavior:

Nothing happens when trying to double/triple tap as narrated by narrator to increase/decrease slider value.

Expected behavior:

Should increase the slider value on double tap and decrease the slider value on triple tap as communicated by Narrator.

Documentation describing expected behavior

If you want to see any similar working functionality. Follow the below repro steps :

  1. Open sound settings in windows
  2. Turn on Narrator
  3. Reach the sound slider by sliding it from left to right on screen.
  4. Narrator will ask you to double tap to increase volume and triple tap to decrease volume slider.
  5. It works perfectly fine
@micahgodbolt
Copy link
Member

Unfortunately this feature in narrator only works on actual HTML inputs, which our v8 slider does not use. So while role="slider" makes narrator state that a double/triple tap will increase the value, it is sadly mistaken. Narrator doesn't currently expose this eventing API for non input elements to tap into, so there is no way for our control to respond to the events, or disable this prompt.

The slider in our V9 controls DOES have an input as the basis of the control, so this functionality will work correctly in the newest version.

@micahgodbolt
Copy link
Member

fun note. The following code will get swipe focus, and claim to increment/decrement on tapping, but the onChange will not be called (whereas if we changed it from div to input, onChange WOULD work)

<div onChange={e => console.log(e)} role="slider" >slide me</div>

@micahgodbolt micahgodbolt added Resolution: Won't Fix Not going to fix an issue due to various factors and removed Needs: Triage 🔍 labels Mar 31, 2022
@smhigley
Copy link
Contributor

For more context, this is a longstanding issue with the slider role, and with ARIA slider implementations. You can see warnings on the APG about this under the slider section: https://w3c.github.io/aria-practices/#slider, and on every linked slider example. One of the first APG github threads is even about this :D w3c/aria-practices#8 (comment)

Essentially the issue is that assistive tech events for incrementing and decrementing sliders are not exposed via the DOM, so it's impossible to make them work with javascript. The only way to do this is to use a native <input type="slider"> (which is what we're doing in v9), but it's a little late for v8 😢

@microsoft microsoft locked as resolved and limited conversation to collaborators May 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Resolution: Won't Fix Not going to fix an issue due to various factors
Projects
None yet
Development

No branches or pull requests

4 participants