我有一个按钮,有两种状态,启动和停止。在辅助功能模式下,使用TalkBack,当用户双击按钮时,我将按钮的文本更改为停止,所以我必须以某种方式向TalkBack说明发生了这种情况。我设法实现了移除和读取按钮的焦点,如下所示:
button.performAccessibilityAction(AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS, null);
// This works for the focus but doesn't make TalkBack speak. button.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null);
// Needed for TalkBack to speak.
button.performAccessibilityAction(AccessibilityNodeInfo.ACTION_SELECT, null);这样做的问题是,TalkBack只会读取内容描述,而不会说“双击激活”,当你手动选择按钮时,它会被读取。
以下内容不起作用:
button.requestFocus();
button.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
button.clearFocus();button.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED);
也许有人暗示我漏掉了什么?
发布于 2019-10-24 20:19:53
在clickListener中使用announceAccessibility
https://stackoverflow.com/questions/57928243
复制相似问题