mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-01-12 22:50:10 +08:00
Summary: This PR divides the accessibility tests into two activities-- a cross-platform activity for accessibility features which are expected to work on all platforms, and platform specific tests for Android and iOS. We believe that most, if not all, accessibility features should be cross-platform, with fallback implementations where the underlying concept doesn't exist on a particular platform. This division of the tests makes it clearer for developers which features are expected to work on all supported platforms, and which are platform-specific. [CATEGORY] general, Android, iOS [TYPE] change Message Refactor the RNTester accessibility activities to better represent where the features are expected to work. Moves all cross-platform tests to AccessibilityExample.js, Android-specific tests to AccessibilityAndroidExample.android.js, and iOS-specific tests to AccessibilityIOsExample.ios.js. Pull Request resolved: https://github.com/facebook/react-native/pull/23722 Differential Revision: D14320696 Pulled By: cpojer fbshipit-source-id: b5ab7a82a90f06d55a24262e86bd69fbdc890427
61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
* @flow
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const React = require('react');
|
|
const ReactNative = require('react-native');
|
|
const {AccessibilityInfo, Text, View, TouchableOpacity, Alert} = ReactNative;
|
|
|
|
const RNTesterBlock = require('./RNTesterBlock');
|
|
|
|
type Props = $ReadOnly<{||}>;
|
|
class AccessibilityIOSExample extends React.Component<Props> {
|
|
render() {
|
|
return (
|
|
<RNTesterBlock title="Accessibility iOS APIs">
|
|
<View
|
|
onAccessibilityTap={() =>
|
|
Alert.alert('Alert', 'onAccessibilityTap success')
|
|
}
|
|
accessible={true}>
|
|
<Text>Accessibility normal tap example</Text>
|
|
</View>
|
|
<View
|
|
onMagicTap={() => Alert.alert('Alert', 'onMagicTap success')}
|
|
accessible={true}>
|
|
<Text>Accessibility magic tap example</Text>
|
|
</View>
|
|
<View
|
|
onAccessibilityEscape={() => alert('onAccessibilityEscape success')}
|
|
accessible={true}>
|
|
<Text>Accessibility escape example</Text>
|
|
</View>
|
|
<View accessibilityElementsHidden={true}>
|
|
<Text>
|
|
This view's children are hidden from the accessibility tree
|
|
</Text>
|
|
</View>
|
|
</RNTesterBlock>
|
|
);
|
|
}
|
|
}
|
|
|
|
exports.title = 'AccessibilityIOS';
|
|
exports.description = 'iOS specific Accessibility APIs';
|
|
exports.examples = [
|
|
{
|
|
title: 'iOS Accessibility elements',
|
|
render(): React.Element<any> {
|
|
return <AccessibilityIOSExample />;
|
|
},
|
|
},
|
|
];
|