ArturKalach / react-native-a11y

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

Component wrapper that IOS can identify as containers #42

Closed deggertsen closed 11 months ago

deggertsen commented 11 months ago

I would love to be able to simply have access to a component that IOS devices could recognize as a component when using that option on the rotor. Not sure if that would be easy to implement with what you have built here, but I'm very interested in your work since IOS screen reader accessibility with React Native is pretty terrible out of the box.

ArturKalach commented 11 months ago

Hello @deggertsen, I have never worked with a rotor, but I read and got your idea. I am going to check the rotor API, I think there can be a solution or workaround. I guess it takes some days for investigation, and some days for creation. I will write my investigation back, when I found something and try to create a lib. Aprox estimation is a week.

Thank you for writing the idea here, I really appreciate it. It really helps me to understand what I can add also, and how to improve ReactNative a11y.

Best Regards, Artur Kalach

deggertsen commented 11 months ago

Thanks for your kind reply. Just in case it helps, this is the documentation that Apple provides for what I'm talking about. https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibilitycontainer

It doesn't seem like React Native has a way to use this currently.

ArturKalach commented 11 months ago

Hello @deggertsen , I am still researching about UIAccessibilityContainer and roter, and it seems that I have a lack of knowledge about it. The docs say that we can use UIAccessibilityContainer, but it's not clear what we should it use for, and it seems possible to add UIAccessibilityContainer to RN, but I am not sure about api what/how and where. If you could describe the issue or provide example it could speed up the process.

Right now I am researching different places, and try to provide a result in some time.

Thank you in advance,

Best Regards, Artur Kalach

ArturKalach commented 11 months ago

Hello @deggertsen, I have checked what is rotor, read a lot about different things, and probably got your issue. There is a solution, but I need to improve and publish it. I think it can be posible to release the solution this week.

I hope you are checking this thread, Artur Kalach

deggertsen commented 11 months ago

Sorry I missed your last message. I'm glad to hear you found a potential solution! I look forward to seeing it and trying it out. Let me know!

Thanks!

ArturKalach commented 11 months ago

Hello @deggertsen , I finished implementation of UIAccessibilityContainer logic, and can share the results with you: https://github.com/ArturKalach/react-native-a11y-container NPM package here: https://www.npmjs.com/package/react-native-a11y-container

Could you check if you need exactly this logic?

I am currently uncertain about the release plan for the react-native-a11y library. It's possible that I may include this feature in the next library release. As for now, it makes sense to explore the option of releasing separate libraries dedicated to specific accessibility features.

Thank you in advance for checking, and for the idea Artur Kalach

deggertsen commented 11 months ago

I will check it out soon! I've been out on vacation and am just getting back.

deggertsen commented 11 months ago

It works! This has a lot of potential for making react-native apps more accessible on IOS devices. Thanks so much for your efforts putting this together.

ArturKalach commented 11 months ago

Hello, I am glad to hear that. If you need any other a11y feature for iOS or Android don't hesitate to share it. I have some plans, but it would be better to implement something that is needed for someone)

Thanky you for collaboration,

ArturKalach commented 11 months ago

Hello, I am glad to hear that. If you need any other a11y feature for iOS or Android don't hesitate to share it. I have some plans, but it would be better to implement something that is needed for someone)

Thanky you for collaboration,