Android 應用程式應該要讓所有人都能使用,包括具有無障礙需求的使用者。
身心障礙人士 (包括視障、色盲、聽障、精細動作障礙、認知障礙和許多其他失能狀況的使用者) 會使用 Android 裝置來處理日常事務。如果您在開發應用程式時將無障礙設計納入考量,就能帶來更優異的使用者體驗,尤其能造福具有上述和其他無障礙需求的使用者。
本文說明如何實作重要的無障礙元素,讓所有人都能輕鬆使用您的應用程式。如要深入瞭解如何提高應用程式的無障礙程度,請造訪「提升應用程式無障礙程度的基本原則」頁面。
讓文字更加清晰易讀
針對應用程式中的每組文字,建議您讓「顏色對比度」(也就是使用者感知到的文字顏色和文字背景顏色亮度差異) 超過特定閾值。確切的閾值取決於文字的字型大小,以及文字是否以粗體顯示:
- 如果文字小於 18 pt,或者文字為粗體且小於 14 pt,則顏色對比度至少應為 4.5:1。
- 所有其他文字的顏色對比度至少應為 3.0:1。
下圖顯示兩個文字與背景顏色對比度的範例:
如要檢查應用程式中的文字與背景顏色對比度,請使用線上顏色對比度檢查工具或無障礙功能檢查工具應用程式。
使用簡易的大型控制項
如果應用程式 UI 包含易於查看和輕觸的控制項,使用起來就會更容易。建議您讓每個互動式 UI 元素都有一個大小至少為 48 dp ✕ 48 dp 的可聚焦區域 (或「觸控目標」),如果能更大的話更好。
如果特定 UI 元素的觸控目標夠大,則應該會同時符合下列兩項條件:
android:paddingLeft
、android:minWidth
和android:paddingRight
值的總和大於或等於 48 dp。android:paddingTop
、android:minHeight
和android:paddingBottom
值的總和大於或等於 48 dp。
邊框間距值可讓物件的「可見」大小小於 48 dp ✕ 48 dp,同時讓觸控目標維持建議的大小。
以下程式碼片段顯示具有建議觸控目標大小的元素:
<ImageButton ... android:paddingLeft="4dp" android:minWidth="40dp" android:paddingRight="4dp" android:paddingTop="8dp" android:minHeight="32dp" android:paddingBottom="8dp" />
說明每個 UI 元素
建議您為應用程式中的每個 UI 元素加入元素用途的說明。在多數情況下,您可以在元素的 contentDescription
屬性中加入這項說明,如以下程式碼片段所示:
<!-- Use string resources for easier localization. --> <!-- The en-US value for the following string is "Inspect". --> <ImageView ... android:contentDescription="@string/inspect" />
為應用程式的 UI 元素加入說明時,請將以下最佳做法銘記在心:
請勿在內容說明中納入 UI 元素的類型。螢幕閱讀器會自動朗讀元素的說明和類型。
舉例來說,如果選取某個按鈕會導致應用程式中發生「提交」動作,則該按鈕的說明應為
"Submit"
,而不是"Submit button"
。說明不應重複。這樣一來,當螢幕閱讀器使用者碰到重複的元素說明時,就能正確辨識出焦點現在位於先前聚焦過的元素上。
請特別注意,檢視區塊群組 (例如
RecyclerView
) 中每個項目的說明都應該要有所不同。每個說明都應該要反映特定項目的獨特內容,例如地點清單中的城市名稱。如果 UI 包含純粹用於裝飾的圖像元素,請將這些元素的說明設為
"@null"
。如果應用程式的minSdkVersion
為16
以上版本,您可以改為將這些圖像元素的android:importantForAccessibility
屬性設為"no"
。
其他資源
如要進一步瞭解如何提高應用程式的無障礙程度,請參閱下列其他資源: