我正在使用谷歌地图api开发一个应用程序,并且假设被无法看到的人使用,因此可访问性非常重要。
如何在活动开始后立即宣布已经作为文本和contentDescription发布的TextView,并且用户不必触摸它?
我的问题的另一点是我有一条公共汽车路线,我希望在某些点上通知说明,我的问题是对讲正常,但如果我触摸googlemap或其他任何地方活动,对话停止说出描述。 (此描述显示在Toast中)
答案 0 :(得分:0)
一旦您的活动明星成为不受欢迎的行为,您在第一点中概述了关于阅读文本的内容。让TalkBack用户浏览您的应用以查找此信息。如果您必须发布公告,您正在寻找的是辅助功能公告事件,它允许您向辅助技术层发送任意文本公告。
[false,true,false,true]
.sort(
(a,b)=>
(a===b)?0
:(a===true)?1:-1)
您在第二点中概述的是期望的行为。想象一下,如果一个TalkBack用户无法中断各种通知,如果他们意外地将几段文本连续聚焦,他们需要等待多长时间才能听到像按钮这样的简单名称?这将是一个非常令人沮丧的用户体验。
答案 1 :(得分:0)
与上面相同的答案,并且具有最新的代码更新:
private void sendAccessibiltyEvent(@NonNull String message) {
AccessibilityManager accessibilityManager = (AccessibilityManager)requireActivity().getApplicationContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
if (accessibilityManager.isEnabled()) {
AccessibilityEvent event = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_ANNOUNCEMENT);
event.getText().add(message);
accessibilityManager.sendAccessibilityEvent(event);
}
}