Skip to content

Slider: make screen readers recognize correctly#4212

Closed
grgr-dkrk wants to merge 1 commit into
GeekyAnts:masterfrom
grgr-dkrk:fix/slider-a11y
Closed

Slider: make screen readers recognize correctly#4212
grgr-dkrk wants to merge 1 commit into
GeekyAnts:masterfrom
grgr-dkrk:fix/slider-a11y

Conversation

@grgr-dkrk
Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown
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
Copy Markdown

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