【发布时间】:2020-03-19 17:34:35
【问题描述】:
当用户导航到DialogFragment 时,我想给出以下对讲事件序列,
1) 在导航到DialogFragment 时,初始焦点应该在正按钮上
2) 对话框的标题+描述应该被宣布而不是关注它是TextView
2) 最后它应该读出正面Button的内容描述
override fun onResume() {
super.onResume()
positiveButton.contentDescription = "OK"
positiveButton.announceForAccessibility(dialogArguments.title+dialogArguments.message)
positiveButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
ViewCompat.setAccessibilityDelegate(positiveButton, object : AccessibilityDelegateCompat() {
override fun onPopulateAccessibilityEvent(host: View?, event: AccessibilityEvent?) {
super.onPopulateAccessibilityEvent(host, event)
event?.text?.clear()
positiveButton.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null)
}
})
}
上面的代码按要求的顺序工作,但它没有宣布类类型,即按钮和动作描述“按下选择激活”在最后
【问题讨论】:
标签: android accessibilityservice talkback accessibility