簡體   English   中英

Android 可訪問性對講說片段的標題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM