Label Tampilan yang dapat diedit

Latar belakang

Item yang dapat diedit dalam aplikasi memungkinkan pengguna memasukkan teks. Setiap item yang dapat diedit harus memiliki label deskriptif yang menyatakan tujuannya.

Android menawarkan beberapa cara bagi pengembang untuk melabeli Views di antarmuka pengguna aplikasi. Untuk item yang dapat diedit di antarmuka, beberapa cara pelabelan berikut dapat meningkatkan aksesibilitas.

Penerapan

Untuk memberi label TextView atau EditText yang dapat diedit, gunakan android:hint untuk menampilkan label teks deskriptif dalam item ketika kosong.


<EditText
    android:id="@+id/email_subject"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/email_subject_hint" />

Jika antarmuka pengguna aplikasi sudah memberikan label teks untuk item yang dapat diedit, definisikan android:labelFor pada pelabelan View untuk mengindikasikan item yang dijelaskan oleh label.


<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>

Tips: TextInputLayout di Pustaka Dukungan Desain Android memberikan cara mudah mengelola EditText dan label teks terkait, serta berfungsi baik dengan layanan aksesibilitas Android.

Mendefinisikan android:contentDescription di EditText atau TextView yang dapat diedit mana pun, dapat mengganggu kemampuan layanan aksesibilitas untuk mendeskripsikan, menavigasi, dan berinteraksi dengan teks yang dimasukkan dalam item oleh pengguna.

Desain

Saat menavigasi ke item yang dapat diedit dengan pembaca layar, antarmuka pengguna yang diterapkan dengan baik akan memiliki elemen berikut:

  • Jika bidang yang dapat diedit kosong, bidang tersebut memiliki label deskriptif yang diucapkan pembaca layar.
  • Jika pengguna telah memasukkan teks di bidang yang dapat diedit, pembaca layar mengucapkan teks sebagai ganti label.

Kedua elemen tersebut tetap bernilai 'true' bahkan saat menavigasi di perincian yang lebih rendah, seperti karakter demi karakter.

Pengujian

Untuk memverfikasi secara manual bahwa aplikasi berisi item yang dapat dedit dan dilabeli dengan benar:

  1. Aktifkan TalkBack.
  2. Buka aplikasi.
  3. Pindahkan fokus aksesibilitas ke item kosong yang dapat diedit.
  4. Dengarkan deskripsi lisan TalkBack dari item kosong yang dapat diedit. Periksa apakah deskripsi berisi label, dan apakah label deskriptif cocok dengan label visual dalam aplikasi.
  5. Ketik beberapa teks di item yang dapat diedit.
  6. Pindahkan fokus aksesibilitas ke item yang dapat diedit.
  7. Dengarkan deskripsi lisan TalkBack dari item yang dapat diedit, yang kini berisi teks. Periksa bahwa deskripsi mencakup teks yang Anda ketik.
  8. Buka menu konteks lokal TalkBack dan beralihlah ke perincian navigasi "Karakter".
  9. Gunakan isyarat geser untuk memindahkan kursor item yang dapat diedit, huruf demi huruf dalam teks. Periksa bahwa deskripsi lisan TalkBack setiap tindakan navigasi cocok dengan karakter yang Anda ketikkan, bukan dengan label item.

Alat pengujian otomatis Android dapat mendeteksi contentDescription yang tidak kosong di item yang dapat diedit. Pertimbangkan menggunakan Accessibility Scanner untuk Android untuk menguji aplikasi di perangkat secara manual. Untuk pengujian otomatis, aktifkan pemeriksaan aksesibilitas di Espresso dan Robolectric.