含有類型或狀態標籤的項目

與使用者介面互動時,螢幕閱讀器等無障礙服務的使用者必須仰賴文字標籤。

螢幕閱讀器會朗讀文字標籤,以及元素類型或狀態的相關資訊。因此,應用程式開發人員不需要在標籤中納入類型或狀態資訊。例如:

  • 朗讀可點擊的 Button 元素時,TalkBack 會為開發人員提供的文字標籤附加「按鈕」這個字詞。如果開發人員在文字標籤中納入了「按鈕」這個字詞 (例如「儲存按鈕」),TalkBack 可能會朗讀「按鈕」兩次 (也就是「儲存按鈕按鈕」)。
  • 假設介面含有 CheckBox 元素,螢幕閱讀器會依據元素勾選狀態朗讀「已勾選」或「未勾選」,以及開發人員提供的文字標籤。如果開發人員在文字標籤中納入了「已勾選」或「未勾選」的字詞,使用者可能會聽見同樣的資訊兩次。

一般來說,輔助技術會定義符合使用者需求的一組特有手勢或互動行為。應用程式提供的無障礙功能標籤會因所用輔助技術而異,但不應提供具體的互動指示 (可能較不適當)。例如:

  • TalkBack 會提供專屬的互動指示來說明可點擊的 UI 元素,像是「輕觸兩下即可選取」。如果應用程式提供的無障礙功能標籤含有這些互動指示,TalkBack 可能會朗讀相同的互動指示兩次。如果應用程式提供的指示相同,則不適用於「開關功能」使用者。

導入作業

查看

標準元素

為標準使用者介面元素 (由 Android SDK、Android 支援資料庫或 Android Design 支援資料庫產生) 提供文字標籤時,請使用簡短的本地化字串說明該元素的功能或意義。

完善導入的使用者介面不會在 android:contentDescriptionandroid:textandroid:hint 屬性值中,加入元素類型或狀態說明。

自訂檢視區塊

建立含有自訂檢視區塊的使用者介面元素時,請依據用途擴充最相關的 View 子類別,以便導入的自訂檢視區塊繼承最多的平台標準無障礙功能互動行為。在多數情況下,系統會代替應用程式管理如何適當呈現檢視區塊的類型和狀態。

應用程式可以透過 AccessibilityDelegateView#onInitializeAccessibilityNodeInfo 調整無障礙服務解讀自訂檢視區塊的方式,當中包含如何表示類型或狀態。如要使用這個方法,檢視區塊必須直接管理自身的 AccessibilityNodeInfo 呈現方式。

如為資訊階層較為複雜或可執行多種動作的自訂檢視區塊,只要使用 ExploreByTouchHelper,即可輕鬆向 Android 的無障礙服務呈現虛擬的檢視區塊階層。

撰寫

標準元素

為標準使用者介面元素 (由 Jetpack Compose 標準程式庫產生) 提供文字標籤時,請使用簡短的本地化字串說明該元素的功能或意義。

完善導入的使用者介面不會在內容說明或 Modifiers.semantics#text 屬性中,加入元素類型或狀態說明。

應用程式可以使用 Modifier.semanticsModifier.semantics#role,調整自訂低階層可組合函式向無障礙服務顯示的方式,包含如何表示類型或狀態。

設計

請參閱質感設計無障礙功能指南,進一步瞭解如何撰寫成效良好的無障礙功能標籤。

測試

如要手動找出含有類型或狀態標籤的使用者介面元素,請按照下列指示操作:

  1. 開啟 TalkBack
  2. 開啟應用程式。
  3. 將無障礙功能的焦點移至要評估的項目。
  4. 聆聽 TalkBack 朗讀的焦點項目說明,並確認項目的類型或狀態在說明中是否出現超過一次。

Android 的自動化測試工具可以偵測出某些含有類型、狀態或互動指示標籤的使用者介面元素項目。你可以使用 Android 專用無障礙功能檢查工具,在裝置中手動測試應用程式。如要進行自動測試,請啟用 EspressoRobolectric 中的無障礙程度檢查功能。

搜尋
清除搜尋內容
關閉搜尋
主選單
16738978863964749136
true
搜尋說明中心
true
true
true
true
true
717068
false
false