Accessibility for Apple iOS

You can make an Apple iOS app accessible, so that when the VoiceOver feature is enabled, the screen contents are read aloud.

This topic provides information specific to Apple iOS. Start with Accessibility to learn how accessibility works in You.i React Native.

Gesture support

Type Command Gesture Supported
Interaction

Activate One-finger double-tap
Escape Two-finger scrub (Z motion)
Custom Action Two-finger double-tap (Magic Tap)
Basic Navigation
Move to Next Item One-finger swipe-right
Move to Previous Item One-finger swipe-left
Other Select an element under your finger One-finger single-tap or one-finger drag across the screen
Scrolling


Scroll Down Three-finger swipe-up
Scroll Left Three-finger swipe-right
Scroll Right Three-finger swipe-left
Scroll Up Three-finger swipe-down
Output
Read from top to bottom Two-finger swipe-up
Read page starting at selected item Two-finger swipe-down

VoiceOver settings supported

Setting Option Notes
Speaking Rate   Changes with the rotor setting.
Use Pitch    
Verbosity Emoji Suffix  
Speech Voice  
Audio

Pronunciations  
Add new languages (rotor languages) Changes with the rotor setting.
Audio Ducking  
Caption Panel   Only supported on iOS 13.

Best practices

For an iOS app, move the accessibility focus using setAccessibilityFocus after transitioning to a new screen.

Video player best practices

Annotate your app code to include appropriate labels or hints using accessibilityHints or accessibilityLabel. The following table provides recommended guidelines for the app code on the gestures and appropriate actions related to those gestures:

Gestures Recommended Actions for Video Player Controls
Swipe Up Fast Forward by 15 seconds on iOS only
Swipe Down Rewind Video by 15 seconds on iOS only
Tap on Scrubber Select current position. Use one-finger swipe-up or swipe-down to adjust the value
Tap on Any Button Select Play/Pause/Fast Forward 15 seconds/Rewind Video 15 seconds
Tap on Video Select Video
Double Tap on Video Toggle Video Player controls

Known issues

We’re aware of the following known issues in You.i Platform apps when VoiceOver is enabled on an iOS device.

Keyboard:

  • Tapping away from the keyboard once dismisses the keyboard.
  • It’s not possible to begin a drag on the keyboard and continue that drag elsewhere on the screen.
  • When the iOS keyboard is active, two accessibility highlights are visible: one on the selected key, and one in the application.

Text Announcements:

  • When the accessibility focus is moved to a non-accessible element in the app (for example, when the iOS keyboard is dismissed, or when a user taps on an iOS view that has no accessibility metadata), the app may begin to announce “Possible Text”, followed by any information in the view that the iOS platform has identified as readable.
  • Some contextual information that’s announced by native iOS apps, such as “is editing”, is not announced for You.i Platform iOS apps.
  • VoiceOver announcements such as “Items N to M of O” after a three-finger swipe aren’t supported.

Gestures:

  • Certain gestures, including those that move the cursor to the beginning or the end of the screen, aren’t supported for You.i Platform iOS apps. See the list of supported gestures.

Lists:

  • When the two-finger swipe-up gesture is used to read the whole screen, the You.i React Native behavior differs from native iOS behavior: screen reading starts at the first item in a fully visible list. If a list is only partially visible at the top of the screen, its contents aren’t read.

Other:

  • Two accessibility highlights are visible when the accessibility focus moves to another iOS view.
  • When the accessibility focus moves away from a text field, the text field becomes deactivated.
  • When working with Touchables (i.e., TouchableOpacity), if both onPress and onAccessibilityTap are defined as props, they will both activate if VoiceOver is enabled on iOS.