繁体   English   中英

Android上的RN可访问性-TalkBack如何通过View阅读的顺序

[英]RN accessibility on Android - order of how TalkBack reads through View

我正在尝试使用RN中的辅助功能,并且有几个问题。 如何在不禁用“话语提示”的情况下摆脱UI中的绿色框。 第二个是-如何强制屏幕阅读器读取由多个组件组成的视图元素的顺序? 目前,我根据某些参数操纵状态并将其传递给属性:accessibilityLabel,accessibilityHint,重要的ForAccessibility以完成此操作。 有更好的方法吗? 这是一个例子:


    this.setState(function(){
       if(<some condition>){
         return{
          accessibilityLabel: "press right to move to other item",
          importantForAccessibility: "yes"
         }
       }else{
          return {
            accessibilityLabel: "something else",
            importantForAccessibility: "no-hide-descendants"
          }
       }
     )}

接着


render(){
    return(
      <View 
       accessibilityLabel= 
       {this.state.accessibilityLabel}
       importantForAccessibility= 
       {this.state.importantForAccessibility}
      />
    )
}

如何在不禁用“话语提示”的情况下摆脱UI中的绿色框。

绿色框是“对讲”的一部分。 这是一项重要功能,可以清楚地显示屏幕阅读器的光标在哪里; 可用于多种视力障碍,包括部分视力,阅读障碍,记忆力减退和注意力障碍。

作为用户,据我所知无法将其关闭。 (我在Android 8.0上安装了Android Accessibility Suite版本7.2)。 但是,其他平台上的某些屏幕阅读器会提供用户首选项以自定义外观。

作为开发人员,您也不能将其关闭-它是“话语提示”的一部分,而不是应用程序的一部分。 这是一件好事。 它是用户的辅助技术,而不是开发人员的技术。 即使开发人员可以关闭屏幕阅读器的可视光标,也不应这样做。 (这就像用* { cursor: none !important; }样式* { cursor: none !important; }样式* { cursor: none !important; }样式设置网页-鼠标用户不会为此感到感谢!)

如何强制屏幕阅读器读取由多个组件组成的视图元素的顺序?

当使用网络浏览器时,屏幕阅读器以DOM顺序读取网页,因此适用于网页的一般原理是使视觉顺序与DOM顺序匹配。 (此外:这对于有视力的键盘用户也很重要,因为不同于视觉顺序的制表顺序可能会非常混乱。)

我对React-native应用程序不太熟悉,但是我可以想象有类似的事情适用。 您应该以有意义的顺序来组织应用程序的内容和控件。 如果应用程序具有多个区域,请以允许用户跳至特定区域(带有标题,ARIA地标角色或可能的其他分组容器)的方式标记这些区域。 请注意,屏幕阅读器用户不一定是盲人,因此关于视觉顺序和DOM顺序的观点很重要。

值得澄清的是,您是否要强制执行整个应用程序的“阅读顺序”(例如,当用户浏览应用程序UI只是为了查看其中的内容时); 而不是响应特定小部件(例如日期选择器)中的特定用户操作来管理焦点。 由于React-native使用JS,所以我建议阅读ARIA-管理重点,以了解这是否适用于您的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM