請盡量讓您的 Android 應用程式可供任何人使用,包括具有無障礙功能需求的人士。
很多身心障礙人士都會使用 Android 裝置,比如視障、色盲、聽障、精細動作障礙、認知障礙者等等。如果您在開發應用程式時考量到無障礙設計,就能為無障礙需求人士提供更優質的使用體驗。
本頁面將說明如何實作重要的無障礙元素,讓所有人都能更輕鬆地使用您的應用程式。如要深入瞭解如何打造更符合無障礙需求的應用程式,請參閱「提升應用程式無障礙程度的基本原則」。
讓文字更加清晰易讀
對於應用程式中的每組文字,我們建議將「色彩對比度」(即文字顏色與後方背景顏色之間的亮度差異) 設為高於特定閾值,具體閾值則取決於文字的字型大小以及是否為粗體:
- 如果文字小於 18 pt,或是小於 14 pt 的粗體文字,請至少將色彩對比率設為 4.5:1。
- 如果文字為其他格式,色彩對比率至少須為 3:1。
在下圖中,您可以看到兩種文字與背景的色彩對比:
如要檢查應用程式內文字與背景的色彩對比度,請使用線上色彩對比度檢查工具或無障礙功能檢查工具應用程式。
使用簡易的大型控制項
如果應用程式 UI 的控制項易讀又易選,使用起來就會更方便。我們建議每個互動式 UI 元素都有至少 48 dp x 48 dp 的可聚焦區域 (或「觸控目標」),而且尺寸越大越好。
如果特定 UI 元素的觸控目標夠大,則應該會同時符合下列兩項條件:
android:paddingLeft
、android:minWidth
和android:paddingRight
值的總和大於或等於 48 dp。android:paddingTop
、android:minHeight
和android:paddingBottom
值的總和大於或等於 48 dp。
透過設定邊框間距值,您可以讓物件的「可視」尺寸小於 48 dp x 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"
。每個 UI 元素的說明不得重複。這樣一來,當螢幕閱讀器使用者遇到重複的元素說明時,就會知道現在焦點位於和之前相同的元素上。請特別注意,檢視區塊群組 (例如
RecyclerView
) 中的每個項目必須有不同說明,而且每則說明都反映出關聯項目的特有內容,比如在地點清單中,這可以是某個城市的名稱。如果應用程式的
minSdkVersion
為16
以上版本,您可以針對單純裝飾用的圖像元素,將android:importantForAccessibility
屬性設為"no"
。
其他資源
如要進一步瞭解如何提高應用程式的無障礙程度,請參閱下列其他資源: