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: make screen readers recognize correctly #4212

Closed
wants to merge 1 commit into from

Conversation

grgr-dkrk
Copy link

Summary

Since SliderTrack is Pressable, screen readers focus on SliderTrack instead of SliderThumb. However, SliderTrack has no control over slider values.
This PR connects react-native-aria's inputProps to SliderThumb and allows screen readers to access the slider.

In addition to this PR, the issue also need to fix GeekyAnts/react-native-aria#23 due to a bug in the behavior of react-native-aria.

Changelog

[General] [Fixed] - Allow screen readers to correctly recognize the state of Slider components

Test Plan

Android: Before

slider-a11y-android1.mp4

Android: Fixed

slider-a11y-android0.mp4

iOS: Before

slider-a11y-ios1.mp4

iOS: Fixed

slider-a11y-ios0.mp4

@vercel
Copy link

vercel bot commented Oct 18, 2021

@grgr-dkrk is attempting to deploy a commit to the Geekyants Team Team on Vercel.

A member of the Team first needs to authorize it.

Comment on lines 74 to 79
<Box
accessible
{...inputProps}
position="absolute"
{...thumbProps}
{...resolvedProps}
ref={ref}
style={[thumbStyles, props.style]}
// {...(isReadOnly && _readOnly)}
// {...(isDisabled && _disabled)}
pointerEvents="box-none"
style={styles.wrapper}
Copy link
Author

@grgr-dkrk grgr-dkrk Oct 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though the SliderThumb component is accessible, it only focuses on circles. This is inconvenient because the focus range is narrowed during the drag operation.
Therefore, add an accessible wrapper that is the same width as the SliderTrack on top of the SliderThumb.
I've also set pointer-events so that the Pressable below can still be tapped (or clicked on web).

@grgr-dkrk grgr-dkrk changed the title fix(Slider): make screen readers recognize correctly Slider: make screen readers recognize correctly Oct 18, 2021
@surajahmed surajahmed deleted the branch GeekyAnts:master December 23, 2021 12:44
@surajahmed surajahmed closed this Dec 23, 2021
@surajahmed surajahmed reopened this Jan 14, 2022
@stale
Copy link

stale bot commented Mar 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.

@stale stale bot added the stale label Mar 16, 2022
@stale stale bot closed this May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants