提高應用程式的無障礙程度

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Android 應用程式應該要讓所有人都能使用,包括具有無障礙需求的使用者。

身心障礙人士 (包括視障、色盲、聽障、精細動作障礙、認知障礙和許多其他失能狀況的使用者) 會使用 Android 裝置來處理日常事務。如果您在開發應用程式時將無障礙設計納入考量,就能帶來更優異的使用者體驗,尤其能造福具有上述和其他無障礙需求的使用者。

本文說明如何實作重要的無障礙元素,讓所有人都能輕鬆使用您的應用程式。如要深入瞭解如何提高應用程式的無障礙程度,請造訪「提升應用程式無障礙程度的基本原則」頁面。

讓文字更加清晰易讀

針對應用程式中的每組文字,建議您讓「顏色對比度」(也就是使用者感知到的文字顏色和文字背景顏色亮度差異) 超過特定閾值。確切的閾值取決於文字的字型大小,以及文字是否以粗體顯示:

  • 如果文字小於 18 pt,或者文字為粗體且小於 14 pt,則顏色對比度至少應為 4.5:1。
  • 所有其他文字的顏色對比度至少應為 3.0:1。

下圖顯示兩個文字與背景顏色對比度的範例:

顯示文字的圖片
圖 1. 顏色對比度低於建議閾值 (左);顏色對比度充足 (右)

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

使用簡易的大型控制項

如果應用程式 UI 包含易於查看和輕觸的控制項,使用起來就會更容易。建議您讓每個互動式 UI 元素都有一個大小至少為 48 dp ✕ 48 dp 的可聚焦區域 (或「觸控目標」),如果能更大的話更好。

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

邊框間距值可讓物件的「可見」大小小於 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"。如果應用程式的 minSdkVersion16 以上版本,您可以改為將這些圖像元素的 android:importantForAccessibility 屬性設為 "no"

其他資源

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

程式碼研究室

網誌文章