[英]How to make TalkBack read Android accessibility events in order without cutting them off
我有一个过滤器视图,在关闭该视图时,我想做2项可访问性操作:
我尝试了以下方法:
filtersButton.announceForAccessibility("$listSize items in list")
filtersButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
我希望TalkBack可以按顺序阅读:
但是,它通常会跳过第一个读出的内容,只读取filtersButton
上的文本。 有时,在跳到第二个之前,它只会读取第一个的一部分。
如何强制“话语提示”读出两个辅助功能事件?
最好使文本和声音信息相似,这是一种好的做法,也是一种推荐的方法。 尽量避免发布通知,而应让屏幕阅读器阅读显示的信息。 方法announceForAccessibility()
旨在通知视觉更改,否则这些更改将不会被注意。
屏幕上是否有显示项目总数的视图? 如果您没有关于商品数量的直观线索,则不应在“话语提示”上宣布该商品的数量。 信息很重要,您应该以可视化的方式向所有用户显示,或者信息在屏幕上显示的重要性不高,并且不应该在屏幕阅读器上宣布。
如果您在屏幕上可以看到它,则可以使用AccessibilityLiveRegion
让读者宣布更改的值,并将焦点放在“ Add filters
按钮上。 另一种方法是简单地将第一个焦点设置到显示项目列表计数的视图,然后让用户导航至下一个按钮。
ViewCompat.setAccessibilityLiveRegion(itemCountTextView, ACCESSIBILITY_LIVE_REGION_POLITE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.