【发布时间】:2020-02-04 12:13:43
【问题描述】:
我想阻止 Talkback 宣布 Button 视图的类名。为此,我编写了以下逻辑,但它不起作用
fun setAccessibilityDelegate(view: Button?) {
view?.setAccessibilityDelegate(object : View.AccessibilityDelegate() {
override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfo?) {
super.onInitializeAccessibilityNodeInfo(host, info)
info?.contentDescription = getContentDesStartWatching()
info?.className = ""
}
})
}
实际描述:“开始观看按钮,按钮双击激活”
预期描述:“开始观看按钮,双击激活”
注意:无法将内容描述更改为“开始观看”,因为它是从后端检索的
【问题讨论】:
-
见stackoverflow.com/questions/37843919/… 但你应该保持原样。也许您认为宣布类名听起来很奇怪,但使用这些功能的人可能希望以这种方式宣布视图。
-
@Michael 我已经是来自后端的类名,我将其添加为 Button 的内容描述,因此 Button 被宣布两次
-
内容描述是什么?
-
如果您无法更改后端,为什么不直接在前端添加一些从后端文本中删除“按钮”的内容。这将是当时的正确描述。不要使用 Android,但我确信快速
string.replace(" button", "")(使用等效方法)会很简单。
标签: android kotlin accessibility talkback