[英]Android accessibility talkback to say fragment's title
有沒有辦法讓 Android 可訪問性中的對講 function 在片段事務之后說些什么? 我基本上希望對講在切換后說出片段的名稱/標題。 這些標題被設置為操作欄的標題,在那里可以訪問它們嗎? 用戶可以在操作欄中的文本上方移動手指以了解他們在哪個屏幕上,但除非他們已經熟悉該應用程序,否則用戶不會知道這一點。
您可以從裝飾視圖強制WINDOW_STATE_CHANGED
事件來宣布ActionBar
標題。 這也會導致TalkBack
清除輔助功能焦點,因此您應該只在應用的主要內容發生變化時調用它。
getWindow().getDecorView()
.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
你也可以使用
binding.rootView.announceForAccessibility("My fragment title")
在片段的 onViewCreated() 函數中。
如果您不使用 viewBinding,則只需使用片段布局的根視圖來調用函數announceForAccessibility()
自 Android 9 以來推薦的方法是在 Fragment 的根視圖上設置輔助功能窗格標題。 這是適用於 API 19+ 的向后兼容方式:
ViewCompat.setAccessibilityPaneTitle(view, "My fragment title")
如果您使用 AppCompat,您還可以在 XML 布局中以向后兼容的方式提供標題:
android:accessibilityPaneTitle="@string/fragment_title"
換入新片段時將自動宣布標題。
有關更多信息,請閱讀官方 Android 文檔以獲取輔助功能窗格標題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.