【问题标题】:Make TalkBack read button content description programmatically让 TalkBack 以编程方式读取按钮内容说明
【发布时间】:2019-10-24 20:19:52
【问题描述】:

我有一个有 2 种状态的按钮,启动和停止。在使用 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);

也许有人暗示我错过了什么?

【问题讨论】:

    标签: android accessibility


    【解决方案1】:

    在你的 clickListener 中使用announceAccessibility

    【讨论】:

    • 它是v.announceForAccessibility
    猜你喜欢
    • 2010-12-13
    • 2023-03-23
    • 1970-01-01
    • 2015-05-17
    • 2018-08-29
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多