react native中Text组件的accessibility,accessibilityLabel和accessibilityHint属性之间有什么区别?

时间:2018-11-09 13:50:22

标签: android ios reactjs react-native

accessibleaccessibilityLabel的{​​{1}},accessibilityHintText component属性之间有什么区别?反应本机documentation尚不足以理解。实例将不胜感激。

2 个答案:

答案 0 :(得分:1)

可访问-设置为true的标志将使视图或组件成为VoiceOver可供残疾人阅读的可访问性元素。

accessibilityLabel -当VoiceOver移过可访问性元素时,如果没有给出标签,它将被读为文本字段,标签或按钮。相反,您可以将其读取为“用户名字段”,“密码字段”,“登录按钮”等

accessibilityHint -用于通知用户在点击或与该UI元素交互时将执行什么操作。

例如,如果用户单击它时您具有“登录按钮”。您想通知用户随后将要执行的操作,例如-“当您点击此登录按钮时。您的用户名和密码将得到验证,成功登录后,您将被带到仪表板屏幕”

也请参考ReactNative文档的这一部分。通过一些代码示例https://facebook.github.io/react-native/docs/accessibility,这是非常全面的。

我希望这会有所帮助。

答案 1 :(得分:1)

从源头获取真相:https://reactnative.dev/docs/accessibility

可访问(真),表示视图是可访问性元素。当视图是可访问性元素时,它将其子级分组为单个可选组件。默认情况下,所有可触摸元素都是可访问的。在Android上,本机视图的accessible = {true}属性将转换为本机focusable = {true}。

可访问性提示 可访问性提示可帮助用户了解当对可访问性元素进行操作时,如果从可访问性标签中看不到结果,将会发生什么。

提示仅对于不确定的元素是必需的,并且主要用于交互式元素,而不是文本。登录按钮不需要提示。您知道您正在登录。但是也许选择文本会播放歌曲。什么?这是意料之中的,因此它的accessibilityHint将是简单直接的,例如“播放这首歌”。请注意,该动词不是命令。而且建议的句子也不像@Hasseb那样长。另请注意,此交互式示例是一个按钮,因为它执行操作。将其编码为具有accessibilityRole =“ button”的按钮。

accessibilityLabel 将视图标记为可访问时,最好在视图上设置一个accessibilityLabel,以便使用VoiceOver的人知道他们选择了哪些元素。当用户选择关联的元素时,VoiceOver将读取此字符串。

ReactNative中的示例中,当按钮上有文字为“ Press me!”时,说明“点击我”不好文本已经存在,建议的标签是另一个单词。这真是令人困惑! AccessibilityLabel更适合于信息图标之类的图标;或设置菜单(无论形状是汉堡菜单,人物轮廓还是齿轮,仍然是设置);或可点击的图像。设置的accessibilityLabel是AccessibilityLabel =“ settings”。在标记该图标之前,它只是“按钮”。

还有一些安静的ReactNative API。学习它们,将对您的职业有所帮助。