我正在将contentDescription
设置为Fragment和DialogFragment类中的工具栏。
在Fragment
类中,它可以正常工作。
(例如
"toolbarContentDescription"
"Navigation Up"
在DialogFragment
类中,它首先读取导航。
(例如
"Navigation Up toolbarContentDescription"
"Navigation Up"
"toolbarContentDescription"
)我使用相同的代码在两个类中设置工具栏。
我试图通过更改navigationContentDescription
的位置来修复它。但是在dialogFragment类中不起作用。并且如果我删除navigationContentDescription,则在后退箭头上将显示"Unlabeled Botton"
。
fun setToolBar(toolbar: Toolbar, title: String) {
getMainActivity().setSupportActionBar(toolbar)
toolbar.title = title
toolbar.contentDescription = "toolbar content description here"
toolbar.setTitleTextAppearance(context, R.style.white_toolbar_text)
toolbar.setBackgroundColor(ContextCompat.getColor(context, R.color.white))
toolbar.setNavigationIcon(R.drawable.ic_back_arrow)
// set back arrow content description.
toolbar.navigationContentDescription = "Navigation Up"
toolbar.setNavigationOnClickListener {
getMainActivity().onBackPressed()
}
toolbar.requestFocus()
toolbar.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
}
我不明白这种不同行为的原因。它应读取与对话框片段中的片段类相同的工具栏描述。
答案 0 :(得分:1)
TalkBack
对Dialog
屏幕有特殊待遇。在每个对话框中,屏幕阅读器都会特别声明其标题。我认为您无法更改此行为,因为它不在您的应用范围内,而是在TalkBack
实现本身中。