我的应用程序中有一个定制的QuickAction菜单。我为打开菜单的contentDescription添加了ImageView的“打开菜单”。因此,我的TalkBack(形成可访问性设置)宣布了同样的信息。
弹出菜单中有setOutsideTouchable(true),当触摸到外部时,它会被关闭。当TalkBack启动时,用户不得不使用双击来拒绝它,但安卓并没有发布任何这样的信息。最理想的情况是,它应该宣布“双击驳回.”。
我怎样才能做到这一点?
此外,我想宣布什么时候菜单被取消。我试过把AccessibilityEvent发送进去:
QuickAction.setOnDismissListener(new myQuickAction.OnDismissListener() { @Override public void onDismiss() { // tried sending event here }
添加参考图像来详细解释。在单击按钮蓝色弹出是QuickAction弹出。现在,我想宣布“解散菜单”时,用户点击任何地方(黑点)的白色区域。白色区域实际上是我的LinearLayout,包含页眉、页脚等(在图像中没有显示)。我尝试过为布局添加contentDescription、importantForAccessibility,但都没有效果。

发布于 2015-03-23 13:19:34
我会添加一个小的"X“框,或者如果你不想搞糟你的UI,让你的布局容器可聚焦,并添加内容描述”双击解散“。(注意:双击是一种回复手势,不要添加这个,只是重复你的问题。)
编辑:本质上,我推荐的是,不是在视图中添加"X“按钮,而是允许布局视图充当"X”按钮本身。通过将contentDescription添加到布局中,可以使其具有可聚焦性,即使典型用户不会与此视图交互,也没有什么可以阻止TalkBack用户这样做。因此,您不会在视觉上更改布局,但仍然可以通过单独的“关闭”按钮获得可访问性,尽管从技术上讲,这是不必要的,因为用户应该了解如何关闭没有它的modals。
我不认为宣布它已被驳回是必要的。将焦点转移到打开模式之前所关注的元素是典型的方法。如果这种情况发生在您的双击之后,TalkBack用户就会知道菜单被取消了,因为他们回到了主视图中,打开了模式的元素。
Sidenote:确保您的QuickAction作为一个模式!
https://stackoverflow.com/questions/29031932
复制相似问题