在無障礙介面下使用應用程式

請盡量讓您的 Android 應用程式可供任何人使用,包括具有無障礙功能需求的人士。

很多身心障礙人士都會使用 Android 裝置,比如視障、色盲、聽障、精細動作障礙、認知障礙者等等。如果您在開發應用程式時考量到無障礙設計,就能為無障礙需求人士提供更優質的使用體驗。

本頁面將說明如何實作重要的無障礙元素,讓所有人都能更輕鬆地使用您的應用程式。如要深入瞭解如何打造更符合無障礙需求的應用程式,請參閱「提升應用程式無障礙程度的基本原則」。

讓文字更加清晰易讀

對於應用程式中的每組文字,我們建議將「色彩對比度」(即文字顏色與後方背景顏色之間的亮度差異) 設為高於特定閾值,具體閾值則取決於文字的字型大小以及是否為粗體:

  • 如果文字小於 18 pt,或是小於 14 pt 的粗體文字,請至少將色彩對比率設為 4.5:1。
  • 如果文字為其他格式,色彩對比率至少須為 3:1。

在下圖中,您可以看到兩種文字與背景的色彩對比:

顯示文字的圖片
圖 1. 左例的色彩對比度低於建議閾值,右例的色彩對比度則符合建議閾值。

如要檢查應用程式內文字與背景的色彩對比度,請使用線上色彩對比度檢查工具或無障礙功能檢查工具應用程式。

使用簡易的大型控制項

如果應用程式 UI 的控制項易讀又易選,使用起來就會更方便。我們建議每個互動式 UI 元素都有至少 48 dp x 48 dp 的可聚焦區域 (或「觸控目標」),而且尺寸越大越好。

如果特定 UI 元素的觸控目標夠大,則應該會同時符合下列兩項條件:

透過設定邊框間距值,您可以讓物件的「可視」尺寸小於 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) 中的每個項目必須有不同說明,而且每則說明都反映出關聯項目的特有內容,比如在地點清單中,這可以是某個城市的名稱。

  • 如果應用程式的 minSdkVersion16 以上版本,您可以針對單純裝飾用的圖像元素,將 android:importantForAccessibility 屬性設為 "no"

其他資源

如要進一步瞭解如何提高應用程式的無障礙程度,請參閱下列其他資源:

程式碼研究室

網誌文章