工具栏内容描述未按预期工作
Toolbar content description didn't work as expected
我正在将 contentDescription
设置为 Fragment 和 DialogFragment class 中的工具栏。
在Fragment
class中,效果很好。
(例如
- 聚焦在工具栏上,
"toolbarContentDescription"
- 下次向前滑动时,
"Navigation Up"
- 下次向后滑动时,"toolbarContentDescription")
在DialogFragment
class中,它首先读取导航。
(例如
- 聚焦在工具栏上,
"Navigation Up toolbarContentDescription"
- 下次向前滑动时,
"Navigation Up"
- 下次向后滑动时,
"toolbarContentDescription"
)
我使用相同的代码在两个 classes 中设置工具栏。
我试图通过更改 navigationContentDescription
的位置来修复它。但它在 dialogFragment class 中不起作用。如果我删除 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)
}
我不明白这种不同行为的原因。它应该读取与对话框片段中的片段 class 相同的工具栏描述。
TalkBack
对 Dialog
屏幕有特殊待遇。在每个对话中,屏幕 reader 都会特别宣布其标题。我认为您无法更改此行为,因为它不在您的应用程序范围内,而是在 TalkBack
实现本身中。
我正在将 contentDescription
设置为 Fragment 和 DialogFragment class 中的工具栏。
在Fragment
class中,效果很好。
(例如
- 聚焦在工具栏上,
"toolbarContentDescription"
- 下次向前滑动时,
"Navigation Up"
- 下次向后滑动时,"toolbarContentDescription")
在DialogFragment
class中,它首先读取导航。
(例如
- 聚焦在工具栏上,
"Navigation Up toolbarContentDescription"
- 下次向前滑动时,
"Navigation Up"
- 下次向后滑动时,
"toolbarContentDescription"
)
我使用相同的代码在两个 classes 中设置工具栏。
我试图通过更改 navigationContentDescription
的位置来修复它。但它在 dialogFragment class 中不起作用。如果我删除 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)
}
我不明白这种不同行为的原因。它应该读取与对话框片段中的片段 class 相同的工具栏描述。
TalkBack
对 Dialog
屏幕有特殊待遇。在每个对话中,屏幕 reader 都会特别宣布其标题。我认为您无法更改此行为,因为它不在您的应用程序范围内,而是在 TalkBack
实现本身中。