diff --git a/Libraries/Components/View/ViewPropTypes.js b/Libraries/Components/View/ViewPropTypes.js index 5c639dfdeffe45..20efa0c46765f4 100644 --- a/Libraries/Components/View/ViewPropTypes.js +++ b/Libraries/Components/View/ViewPropTypes.js @@ -55,6 +55,7 @@ export type ViewProps = { importantForAccessibility?: 'auto'| 'yes'| 'no'| 'no-hide-descendants', accessibilityTraits?: AccessibilityTrait | Array, accessibilityViewIsModal?: bool, + accessibilityElementsHidden?: bool, onAccessibilityAction?: Function, onAccessibilityTap?: Function, onMagicTap?: Function, @@ -173,6 +174,16 @@ module.exports = { * See http://facebook.github.io/react-native/docs/view.html#accessibilityviewismodal */ accessibilityViewIsModal: PropTypes.bool, + + /** + * A value indicating whether the accessibility elements contained within + * this accessibility element are hidden. + * + * @platform ios + * + * See http://facebook.github.io/react-native/docs/view.html#accessibilityElementsHidden + */ + accessibilityElementsHidden: PropTypes.bool, /** * When `accessible` is true, the system will try to invoke this function diff --git a/RNTester/js/AccessibilityIOSExample.js b/RNTester/js/AccessibilityIOSExample.js index 29c8b16f062184..30aef0df31eaaa 100644 --- a/RNTester/js/AccessibilityIOSExample.js +++ b/RNTester/js/AccessibilityIOSExample.js @@ -55,6 +55,9 @@ class AccessibilityIOSExample extends React.Component<{}> { accessible={true}> This text component's accessibilityLabel is set explicitly. + + This view's children are hidden from the accessibility tree + ); } diff --git a/React/Views/RCTViewManager.m b/React/Views/RCTViewManager.m index 56415d6226bd2d..06035516fa2914 100644 --- a/React/Views/RCTViewManager.m +++ b/React/Views/RCTViewManager.m @@ -113,6 +113,7 @@ - (RCTShadowView *)shadowView RCT_REMAP_VIEW_PROPERTY(accessibilityLabel, reactAccessibilityElement.accessibilityLabel, NSString) RCT_REMAP_VIEW_PROPERTY(accessibilityTraits, reactAccessibilityElement.accessibilityTraits, UIAccessibilityTraits) RCT_REMAP_VIEW_PROPERTY(accessibilityViewIsModal, reactAccessibilityElement.accessibilityViewIsModal, BOOL) +RCT_REMAP_VIEW_PROPERTY(accessibilityElementsHidden, reactAccessibilityElement.accessibilityElementsHidden, BOOL) RCT_REMAP_VIEW_PROPERTY(onAccessibilityAction, reactAccessibilityElement.onAccessibilityAction, RCTDirectEventBlock) RCT_REMAP_VIEW_PROPERTY(onAccessibilityTap, reactAccessibilityElement.onAccessibilityTap, RCTDirectEventBlock) RCT_REMAP_VIEW_PROPERTY(onMagicTap, reactAccessibilityElement.onMagicTap, RCTDirectEventBlock)