Skip to content

Document Accessibility Core Parity #3016

@SavoySchuler

Description

@SavoySchuler

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions