-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
Accessibility Core Parity
Legend:
- Yes - Implemented
- No - Intending to implement
- N/A - Not implementing
- FEVM - FrameworkElementViewManager
- DAP - DynamicAutomationPeer
| API | RN59 | RN60 | Current | vNext | Notes |
|---|---|---|---|---|---|
| AccessibilityInfo Module | |||||
| isBoldTextEnabled() | N/A | iOS | No | N/A | |
| isGrayscaleEnabled() | N/A | iOS | No | N/A | |
| isInvertColorsEnabled() | N/A | iOS | No | N/A | |
| isReduceMotionEnabled() | N/A | Both | No | #3110 | |
| isReduceTransparencyEnabled() | N/A | iOS | No | N/A | |
| isScreenReaderEnabled() | N/A | Both | No | #3115 | |
| addEventListener() | Both | Both | Stub (JS) | #3159 | Implemented in JS code, not sure if it works |
| setAccessibilityFocus() | Both | Both | No | #3116 | |
| announceForAccessibility() | iOS | Both | No | #3117 | |
| removeEventListener() | Both | Both | Stub (JS) | #3158 | Implemented in JS code, not sure if it works |
| fetch() | Both | N/A | Stub (JS) | #3157 | Hardcoded false, replaced by isScreenReaderEnabled() |
| View Props | |||||
| accessible | Both | Both | No | Yes | Via FEVM |
| accessibilityElementsHidden | iOS | iOS | No | #5113 | |
| accessibilityHint | Both | Both | No | Yes | Via FEVM |
| accessibilityIgnoresInvertColors | iOS | iOS | No | N/A | Investigate RN high-contrast vs. inversion story |
| accessibilityLabel | Both | Both | Yes | Yes | Via FEVM |
| accessibilityLiveRegion | Android | Android | Yes | Yes | Via FEVM |
| accessibilityRole | Both | Both | No | Yes | Up-to-date with RN60, via FEVM |
| accessibilityStates | Both | Both | No | Yes | Up-to-date with RN60, via FEVM |
| accessibilityViewIsModal | iOS | iOS | No | #3118 | |
| importantForAccessibility | Android | Android | Yes | #5113 | |
| onAccessibilityEscape | iOS | iOS | No | #3119 | |
| onAccessibilityTap | iOS | iOS | No | #3120 | Via ViewViewManager, not shared with other components |
| onMagicTap | iOS | iOS | No | #3121 | |
| accessibilityActions | N/A | Both | No | #3122 | |
| onAccessibilityAction | N/A | Both | No | #3123 | |
| accessibilityTraits | iOS | N/A | Partial | N/A | Deprecated in RN60 |
| accessibilityComponentType | Android | N/A | No | N/A | Deprecated in RN60 |
| Button Props | |||||
| accessibilityLabel | Both | Both | Yes | Yes | Via TouchableHighlight -> View Props -> FEVM |
| Image Props | |||||
| accessible | Both | Both | No | Yes | Via FEVM |
| accessibilityLabel | Both | Both | Yes | Yes | Via FEVM |
| Text Props | |||||
| accessible | Both | Both | No | Yes | Via FEVM |
| accessibilityHint | Both | Both | No | Yes | Via FEVM |
| accessibilityLabel | Both | Both | Yes | Yes | Via FEVM |
| accessibilityRole | N/A | Both | No | #3111 | Via FEVM, but requires DAP |
| accessibilityState | N/A | Both | No | #3111 | Via FEVM, but requires DAP |
| TouchableWithoutFeedback Props | |||||
| accessible | Both | Both | No | Yes* | Works on FEVM-based component child |
| accessibilityHint | Both | Both | No | Yes* | Works on FEVM-based component child |
| accessibilityIgnoresInvertColors | N/A | iOS | No | #3160 | In JS type definition, never consumed by native code |
| accessibilityLabel | Both | Both | Yes | Yes* | Works on FEVM-based component child |
| accessibilityRole | Both | Both | No | #3111 | Works with View child only (via FEVM, but requires DAP) |
| accessibilityStates | Both | Both | No | #3111 | Works with View child only (via FEVM, but requires DAP) |
| accessibilityTraits | iOS | N/A | No | #3161 | In JS type definition, never consumed by native code, don't add |
| accessibilityComponentType | Android | N/A | No | #3162 | In JS type definition, never consumed by native code, don't add |
Open Accessibility Topics
- ARIA Alignment
- Invoking story
- "Testing Narrator Support (Windows)" section needs added here
- Windows API extensions
- Some things in accessibility are tied explicitly to the view components that we do not have a good story for - setting these properties will not doing anything for the Windows UIA tools
harinikmsft and ecreeth