我正在尝试在我的TextInput
中添加可访问性,以将本机反应读取为手机号码,而不是像下面这样的号码。
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
editable={false}
accessibilityLabel={'26726855243'}
value={'26726855243'}
/>
这已被android TalkBack和iOS VoiceOver读取为数字。
我尝试在数字之间添加空格,但仍然没有用,accessibilityLabel={'26726855243'.split('').join(' ')}
答案 0 :(得分:5)
CSS3语音模块支持以下行为:https://www.w3.org/TR/css3-speech/
对于您的特定示例,您可以创建一个“ phone”类,如下所示:
<style>
.phone {speak: digits;}
</style>
请注意,当前只有VoiceOver支持此行为,而TalkBack则不支持。
对于“话语提示”和大多数其他屏幕阅读器,插入逗号而不是空格是可行的(屏幕阅读器通常会暂停逗号,句号,分号,感叹号和问号,但不能空格):
accessibilityLabel={'26726855243'.split('').join(',')}
但是!我鼓励您考虑 not 尝试以此方式管理屏幕阅读器的行为。请记住,现代屏幕阅读器具有用于处理数字和首字母缩写发音的各种 user 设置。通过尝试在开发人员方面将他们的发音管理到此级别,您可能会给用户带来意外的行为。