只要在應用程式中建立可編輯的項目,使用者就能輸入文字。每個可編輯的項目均應包含描述性標籤,藉此說明該項目的用途。
Android 提供多種方式,可讓開發人員為應用程式使用者介面中的 Views
加上標籤。以介面中的可編輯項目來說,其中幾種加上標籤的方式可以提高無障礙設計程度。
導入
如要為可編輯的 TextView
或 EditText
加上標籤,請使用 android:hint
,以便在項目空白時顯示描述性文字標籤。
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/email_subject_hint" />
如果應用程式的使用者介面已為可編輯的項目提供文字標籤,請對要加上標籤的 View
定義 android:labelFor
,藉此指出標籤描述的項目。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/email_subject_label"
android:labelFor="@id/email_subject" />
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
提示:你可以透過 Android Design 支援資料庫中的 TextInputLayout
輕鬆管理 EditText
和相關聯的文字標籤,而且這項功能可以順暢與 Android 的無障礙服務搭配運作。
如果對任何 EditText
或可編輯的 TextView
定義 android:contentDescription
,可能會影響無障礙服務說明、導覽、與文字互動 (文字由使用者在項目中輸入) 的功能。
設計
使用者透過螢幕閱讀器瀏覽可編輯的項目時,完善導入的使用者介面會包含下列元素:
- 如果可編輯的欄位為空白,當中會有描述性的標籤可供螢幕閱讀器朗讀。
- 如果使用者在可編輯的欄位中輸入文字,螢幕閱讀器除了會朗讀描述性標籤之外,也會讀出輸入的文字。
使用者以較低的精細程度 (例如逐字元) 瀏覽時,螢幕閱讀器會讀出輸入的文字。如果內容為空白,螢幕閱讀器則會讀出提示。
測試
如要手動檢查應用程式所含可編輯項目的標籤是否正確無誤,請按照下列指示操作:
- 啟用 TalkBack。
- 在應用程式中,將無障礙功能的焦點移動至空白的可編輯項目。
- 確認 TalkBack 朗讀的空白可編輯項目說明中是否包含標籤內容,以及該描述性標籤是否能對應至應用程式中的任何視覺化標籤。
- 在可編輯的項目中輸入一些文字。
- 將無障礙功能的焦點移動至可編輯的項目。
- 如要確認語音說明是否包含你輸入的文字,請聆聽 TalkBack 朗讀的可編輯項目說明。
Android 的自動測試工具能夠偵測可編輯項目中的非空白 contentDescription
。你可以使用 Android 專用無障礙功能檢查工具,在裝置端手動測試應用程式。如要自動執行測試,請啟用 Espresso 和 Robolectric 中的無障礙程度檢查功能。