小编Dha*_*mja的帖子

如何将可访问性的重点转移到RecyclerView的第一个动作上?

我是Android辅助功能的新手- TalkBack。我知道诸如之类的基本内容contentDescriptionimportantForAaccessibility以及它们如何构成节点树等。

在我的问题中,我想将可访问性的重点转移RecyclerView到某些操作上的第一个元素上。

通常someView.requestFocus()还是someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)可以的。但这似乎并没有按预期工作RecyclerView

我试图通过以下方法解决它:

  1. android:accessibilityLiveRegion="polite"但它只会宣布该列表在那里。但这并不会影响可访问性。

  2. 通过集中适配器的第一个元素-这样做是一个坏主意!

除此之外,android:accessibilityTraversalAfter并且android:accessibilityTraversalBefore也不能很好地与Android的列表视图工作。

someView.requestFocus()
someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
Run Code Online (Sandbox Code Playgroud)

android accessibility talkback android-recyclerview android-accessibility

6
推荐指数
1
解决办法
548
查看次数

辅助功能回叫 - 当对讲完成阅读公告时

announcement对于某些用户操作,我想在屏幕上进行一些操作,不久之后,我想将可访问性焦点转移到specifc view.

我可以实现它,就像,

 view!!.announceForAccessibility("some action failed.")
  Handler().postDelayed({
         specificView.requestFocus() 
    specificView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
   }, 1000)
Run Code Online (Sandbox Code Playgroud)

但这只是一种解决方法。当用户有customized speaking rate其他情况时,它可能会在某些情况下失败。

当对讲结束阅读公告时,有什么办法可以得到回调吗?

android accessibility talkback

5
推荐指数
1
解决办法
1400
查看次数