强制 Android TalkBack 保留在一个视图层次结构中

Force Android TalkBack to stay inside one view hierarchy

需要无障碍帮助!
我有一个打开的抽屉,我希望 TalkBack 屏幕 reader 留在这个抽屉里,直到用户决定关闭它。
我要求 android 屏幕 reader 使用以下命令移动到打开的抽屉:

mDrawerView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED); 

它工作得很好,抽屉被聚焦并且用户可以在抽屉内随着屏幕 reader 移动。
问题是,抽屉不是全屏,用户不会停在抽屉的末端,他会继续向前移动屏幕 reader 到抽屉下方的控件。
如何强制 reader 保持在抽屉限制内?

这很容易在 iOS 上使用:

drawerView.accessibilityViewIsModal = true
UIAccessibility.post(notification: .screenChanged, argument: drawerView)

通过在 iOS 上调用它,屏幕 reader 在我提供的视图层次结构中循环控件。
我可以用 Android 做类似的事情吗??

截至 2020 年 8 月 30 日,这在 Android 是不可能的!
API 22 加法:

android:accessibilityTraversalAfter

android:accessibilityTraversalBefore

对这种情况没有帮助。

在某些情况下,您可以通过设置来阻止视图层次结构:

setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);  

在我的例子中,抽屉位于片段上方,因此我可以设置为阻止下方整个片段的可访问性,从而强制屏幕 reader 保留在抽屉内并循环其控件。

关闭抽屉后我打电话给:

setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);  

在片段和屏幕的视图上reader可以继续遍历片段。