我是Android辅助功能的新手- TalkBack。我知道诸如之类的基本内容contentDescription,importantForAaccessibility以及它们如何构成节点树等。
在我的问题中,我想将可访问性的重点转移RecyclerView到某些操作上的第一个元素上。
通常someView.requestFocus()还是someView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)可以的。但这似乎并没有按预期工作RecyclerView。
我试图通过以下方法解决它:
android:accessibilityLiveRegion="polite"但它只会宣布该列表在那里。但这并不会影响可访问性。
通过集中适配器的第一个元素-这样做是一个坏主意!
除此之外,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
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其他情况时,它可能会在某些情况下失败。
当对讲结束阅读公告时,有什么办法可以得到回调吗?