henninghall / react-native-date-picker

React Native Date Picker is datetime picker for Android and iOS. It includes date, time and datetime picker modes. The datepicker is customizable and is supporting different languages. It's written with native code to achieve the best possible look, feel and performance.
MIT License
2.23k stars 342 forks source link

Suggestion about accessibility improvements roadmap #372

Open mika-lindell opened 3 years ago

mika-lindell commented 3 years ago

Accessibility is in demand right now, and this is my attempt to make a draft of accessibility roadmap for react-native-date-picker. IosClone and AndroidVariant are fundamentally so different, that I've found they require separate solutions to fix similar problems (event though the API looks the same).

Principles

IosPicker

When element is accessibility focused

When scrolling

When value is selected

When using with keyboard

AndroidNative

When element is accessibility focused

When selected value is accessibilityFocused

When scrolling

When value is selected

When using with keyboard

Resources

henninghall commented 3 years ago

Great summary! Just let me know if you get stuck somewhere or have questions about the codebase, and I'll try to help out!

mika-lindell commented 3 years ago

For any random person reading this issue just want to say following: I might not have the chance to fix everything in the list above. So if you find you're in need of some accessibility improvements, I hope you can use this as inspiration and chip in :)

andriikovall commented 2 years ago

Hi, we have encountered a transparent component that is focusable by talkback on Android. image

I have found a place where it is located and can be easily fixed by adding importantForAccessibility="no" to the images

image

Should I create a new issue or what?

Package version 4.1.1 RN 0.66.0 Android 9

henninghall commented 2 years ago

@ZioVio Great catch, thanks for the PR!

hcbreedl commented 5 months ago

Any updates here by chance? The Android variant still doesn't read interaction instructions correctly. It reads "edit box, double tap to edit text, double and hold to apply, button, double tap to activate". The above and below options read "button, double tap to activate, double and hold to long apply, button, double tap to activate". This package is almost ideal for our use case but may not be selectable due to this a11y limitation.

henninghall commented 4 months ago

@hcbreedl I am aware there are several issues on accessibility side and it is something I would like to approve. Not sure when I am able to prioritize it though. Any help with PRs or sponsoring are appreciated!

There are better read back support in v4 iosClone variant that might help you temporarily.