【问题标题】:Accessibility focus of childviews in nestedscrollview嵌套滚动视图中子视图的可访问性焦点
【发布时间】:2023-03-17 12:20:02
【问题描述】:

我对 NestedScrollView 子视图的可访问性焦点有疑问。目前,可访问性模式下的焦点迭代仅遍历屏幕上可见的视图。

是否有可以设置在焦点迭代期间滚动 NestedScrollview 的布局配置?目前,焦点迭代只是在到达当前屏幕上的最后一个可见视图时停止,而不是将scrollview 滚动到下一个可聚焦视图?

在 Android 版本 4.3(Galaxy nexus) 和 5.1.1(Nexus 4) 上测试。 TalkBack 版本是 4.2.0。在最新更新中,我们还包括在 Android 5.1 V 22、Android 8 V 26、Android 10、V 29 设备中进行测试。使用最新的 TalkBack 版本进行测试。

  <android.support.v4.widget.NestedScrollView
    android:id="@+id/nsvScrollview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="@null"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:fillViewport="true">
  
    <!-- Any other views here. Including WebView -->
  
  </android.support.v4.widget.NestedScrollView>

更新。

TalkBack Accessibility Service 的类似问题。并为其设置内容描述。我们需要如何设置 Views 和 NestedScrollView 以使 TalkBack 迭代屏幕阅读器滚动抛出所有项目。不仅是可见页面。请考虑在NestedScrollView 中滚动 WebView 的解释。因为它在无障碍服务中也是很重要的。

【问题讨论】:

  • 当您询问Android相关问题时,您应该始终包括Android版本、TalkBack版本、设备等。因为有如此广泛的行为和组合。
  • 感谢提醒,已编辑问题以反映 android 版本和对讲版本
  • @kyo171 我现在也遇到了同样的问题,你找到解决办法了吗?
  • 你能分享更多代码吗?
  • @kyo171 对此有何更新?

标签: android accessibility


【解决方案1】:

在这种情况下,您可以使用announce 作为可访问性选项。 anounceForAccessibility 在 API 级别 16 中添加 公共无效announceForAccessibility(CharSequence 文本) 发送 AccessibilityEvent.TYPE_ANNOUNCEMENT AccessibilityEvent 以发布与某种上下文更改相关的通知的便捷方法,表示 UI 转换的事件都不适合。例如,宣布书中的新页面。如果未启用可访问性,则此方法不执行任何操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    相关资源
    最近更新 更多