React-Native: how to detect assistive technology and user preferences

399 Views Asked by At

We need to detect if a person is using VoiceOver, Switch Control, TalkBack, or Switch Access to display alternate buttons on our swipe-dependent application. Normally we'd look for UIAccessibilityIsVoiceOverRunning, AccessibilityManager, and other hooks to detect the need to display these buttons.

We are also respecting the user's preference for bold fonts and simplified animation via hooks like UIAccessibilityIsBoldTextEnabled().

I couldn't find documentation within React that details how we can get this type of information from the device and write the logic for changing the app's interface.

1

There are 1 best solutions below

0
On

I'm a web developer, so this may or may not be relevant: Could you not default to the non-VoiceOver view, but if a single item on the page becomes focused or scrolled without at least one ontouchdown event, then you now know that non-touch input is being used, and then enable the alternative behavior?