Skip to content

Commit 3128816

Browse files
aputinskifacebook-github-bot
authored andcommitted
Add accessibilityElementsHidden prop
Summary: Allow iOS to have similar accessibility functionality to Android. This PR exposes the `accessibilityElementsHidden` property on iOS which is similar to Android's `importantForAccessibility="no-hide-descendants"` I didn't see any existing examples for testing native props being passed through, but I did add an example to the RNTester app. I've attached some screenshots using the Accessibility Inspector to verify the property was correctly passed through. ![a](https://user-images.githubusercontent.com/603528/34998153-50e66776-faac-11e7-826d-1445a6813929.png) ![b](https://user-images.githubusercontent.com/603528/34998158-535a7420-faac-11e7-80d4-992fb7cd82dd.png) I've updated the website with appropriate documentation. facebook/react-native-website#141 ![screen shot 2018-01-16 at 10 23 50](https://user-images.githubusercontent.com/603528/34998202-6f2f39a6-faac-11e7-8651-0cfe8e037a30.png) ![screen shot 2018-01-16 at 10 23 59](https://user-images.githubusercontent.com/603528/34998205-711d6f94-faac-11e7-974d-54340c72fce4.png) [IOS] [FEATURE] [View] - Added accessibilityElementsHidden property Closes #17627 Differential Revision: D6806444 Pulled By: hramos fbshipit-source-id: 50d31fdb92f4c59ae9355b019c422418b2e6cc24
1 parent d676746 commit 3128816

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

Libraries/Components/View/ViewPropTypes.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export type ViewProps = {
5555
importantForAccessibility?: 'auto'| 'yes'| 'no'| 'no-hide-descendants',
5656
accessibilityTraits?: AccessibilityTrait | Array<AccessibilityTrait>,
5757
accessibilityViewIsModal?: bool,
58+
accessibilityElementsHidden?: bool,
5859
onAccessibilityAction?: Function,
5960
onAccessibilityTap?: Function,
6061
onMagicTap?: Function,
@@ -173,6 +174,16 @@ module.exports = {
173174
* See http://facebook.github.io/react-native/docs/view.html#accessibilityviewismodal
174175
*/
175176
accessibilityViewIsModal: PropTypes.bool,
177+
178+
/**
179+
* A value indicating whether the accessibility elements contained within
180+
* this accessibility element are hidden.
181+
*
182+
* @platform ios
183+
*
184+
* See http://facebook.github.io/react-native/docs/view.html#accessibilityElementsHidden
185+
*/
186+
accessibilityElementsHidden: PropTypes.bool,
176187

177188
/**
178189
* When `accessible` is true, the system will try to invoke this function

RNTester/js/AccessibilityIOSExample.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ class AccessibilityIOSExample extends React.Component<{}> {
5555
accessible={true}>
5656
This text component's accessibilityLabel is set explicitly.
5757
</Text>
58+
<View accessibilityElementsHidden={true}>
59+
<Text>This view's children are hidden from the accessibility tree</Text>
60+
</View>
5861
</View>
5962
);
6063
}

React/Views/RCTViewManager.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ - (RCTShadowView *)shadowView
113113
RCT_REMAP_VIEW_PROPERTY(accessibilityLabel, reactAccessibilityElement.accessibilityLabel, NSString)
114114
RCT_REMAP_VIEW_PROPERTY(accessibilityTraits, reactAccessibilityElement.accessibilityTraits, UIAccessibilityTraits)
115115
RCT_REMAP_VIEW_PROPERTY(accessibilityViewIsModal, reactAccessibilityElement.accessibilityViewIsModal, BOOL)
116+
RCT_REMAP_VIEW_PROPERTY(accessibilityElementsHidden, reactAccessibilityElement.accessibilityElementsHidden, BOOL)
116117
RCT_REMAP_VIEW_PROPERTY(onAccessibilityAction, reactAccessibilityElement.onAccessibilityAction, RCTDirectEventBlock)
117118
RCT_REMAP_VIEW_PROPERTY(onAccessibilityTap, reactAccessibilityElement.onAccessibilityTap, RCTDirectEventBlock)
118119
RCT_REMAP_VIEW_PROPERTY(onMagicTap, reactAccessibilityElement.onMagicTap, RCTDirectEventBlock)

0 commit comments

Comments
 (0)