我们什么时候应该在 React Native 中使用“accessibilityRole”?

pri*_*lde 3 accessibility voiceover talkback react-native

这样对吗?恐怕它会给用户读两次“切换”这个词。

<Switch
      accessible={true}
      accessibilityLabel="Switch button"
      accessibilityHint="Double tap to toggle setting"
      accessibilityRole="switch"   
/>
Run Code Online (Sandbox Code Playgroud)

提前谢谢了。

kot*_*avy 5

关于可访问性的几点说明:

  • 从 0.60 开始,默认情况下可以访问所有交互式 React Native 组件。( accessible=true)
  • 使用accessible参数时要小心。它将任何子元素捆绑到一个可访问的组件中,并且屏幕阅读器将不允许用户在 true 时选择单个组件。(因此,您可能需要覆盖默认行为。)
  • 特别是对于标签,请记住使用完整的标点符号,否则您可能会创建意想不到的和压倒性的连续句子。
  • 对于用户体验,您的标签应该以简洁的方式阅读切换的目的。在没有上下文的情况下阅读它,我不知道这个切换实际上会做什么

回答你的问题:

您是正确的,此设置会读出“开关按钮”两次,然后是提示。

<Switch>刚刚在 iPad 上使用 VoiceOver测试了该组件。默认情况下,它是可访问的,并以“按钮”的角色读取。给它一个accessibilityRole='switch'“开关按钮”角色的读取参数,并自动包含“双击切换设置”。暗示。

以下组件将向用户显示“飞行模式。切换按钮......双击以切换设置”。

<Switch
      accessibilityLabel="Airplane mode."
      accessibilityRole="switch"   
/>
Run Code Online (Sandbox Code Playgroud)