ArturKalach / react-native-a11y

A11y Library for RN
MIT License
41 stars 5 forks source link

Android 14 issue #68

Closed boazpoolman closed 8 months ago

boazpoolman commented 8 months ago

Starting Android 14, the registerReceiver function requires an extra parameter, specifying either RECEIVER_NOT_EXPORTED or RECEIVER_EXPORTED. Read more about that here: https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported

Without that parameter the code will throw an error, causing our app to crash with Android 14.

I've updated the code with a backwards compatibility check, though I'm unsure whether to use RECEIVER_NOT_EXPORTED or RECEIVER_EXPORTED.

I've now used RECEIVER_NOT_EXPORTED, but please let me know if I need to change that 🙂

ArturKalach commented 8 months ago

Hello @boazpoolman, Thank you a lot for contributing, it helps a lot. I will test this changes on my Android 11 and merge it asap.

If it possible could I ask you to share an info which feature you use mostly? It can help me with adding features and improvements.

Thank you again for contributing and help, I really appreciate it.

Regards, Artur Kalach

boazpoolman commented 8 months ago

The nr 1 most feature we use is the Pressable component. We use it to show a visual queue whenever a button is focussed.

We did find an issue with that after upgrading the library to 0.4, currently we're still on 0.2. Not sure if it's an issue with our implementation, or an issue with the library. Will investigate that later.

Apart from that we also use the setA11yFocus, A11yOrder & useFocusOrder features for some of our more complex user flows. It helps us to provide a more accessible UX.

Thanks for this library. It's really the only library of it's kind and very helpfull for us.

ArturKalach commented 8 months ago

Thank you a lot for feedback.

BTW: Could you try 0.4.3 version. I did some fixes with the Pressable.

image

I am also thinking about simplifying A11yOrder, there are some ideas, but I guess it would be better to fix issues and write a good doc)