我一直在使用React Native构建应用,我们确保它具有高可访问性。但是,当我们尝试使用键盘在Android上进行测试时,我们无法激活任何按钮。我们尝试使用最简单的应用程序重现它,问题仍然存在。我们能够使用React Native版本0.41.0
- 0.44.0
重现该问题。我们已经尝试了TouchableOpacity
元素上的每个道具组合,以及尝试Button
元素,并且没有取得任何成功。
使用安装了TalkBack且连接了蓝牙键盘的Android手机,请执行以下步骤:
react-native init myProject
cd myProject
index.android.js
以添加<TouchableOpacity>
代码,其中包含您可以测试的处理程序,例如制作提醒框react-native run-android
请注意,使用键盘时不会触发处理程序,但仍然可以通过双击屏幕来触发元素。
以下是我的index.android.js
:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
export default class myProject extends Component {
render() {
return (
<View style={styles.container}>
<TouchableOpacity onPress={() => alert('test')}>
<Text style={styles.welcome}>
Click me!
</Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('myProject', () => myProject);
有谁知道如何让键盘按预期触发此事件?