Gli elementi modificabili in un'app consentono agli utenti di inserire testo. Ogni elemento modificabile dovrebbe avere un'etichetta descrittiva che ne indichi lo scopo.
Android offre agli sviluppatori diversi metodi di assegnazione delle etichette agli elementi View
nell'interfaccia utente di un'app. Per gli elementi modificabili di un'interfaccia, alcuni di questi metodi possono migliorare le caratteristiche di accessibilità.
Implementazione
Per assegnare un'etichetta a un elemento TextView
o EditText
modificabile, utilizza android:hint
per visualizzare un'etichetta di testo descrittiva all'interno di un elemento vuoto.
<EditText
android:id="@+id/email_subject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/email_subject_hint" />
Se l'interfaccia utente di un'app fornisce già un'etichetta di testo per l'elemento modificabile, definisci android:labelFor
nell'elemento View
di etichetta per indicare quale elemento è descritto dall'etichetta.
<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>
Suggerimento: TextInputLayout
all'interno di Android Design Support Library fornisce un modo semplice per gestire un elemento EditText
e un'etichetta di testo associata ed è adatto ai servizi di accessibilità di Android.
La definizione di android:contentDescription
su un elemento EditText
o TextView
modificabile potrebbe interferire con la capacità di un servizio di accessibilità di descrivere, accedere e interagire con il testo inserito dall'utente nell'elemento.
Progettazione
Quando gli utenti navigano tra gli elementi modificabili con uno screen reader, un'interfaccia utente implementata correttamente contiene i seguenti elementi:
- Se il campo modificabile è vuoto, presenta un'etichetta descrittiva che viene pronunciata dallo screen reader.
- Se un utente ha inserito un testo nel campo modificabile, lo screen reader pronuncia il testo oltre all'etichetta descrittiva.
Quando un utente naviga con granularità inferiore, ad esempio carattere per carattere, lo screen reader pronuncia il testo inserito o il suggerimento quando è vuoto.
Test
Per verificare manualmente se un'app contiene elementi modificabili etichettati correttamente, procedi nel seguente modo:
- Attiva TalkBack.
- Nell'app, sposta lo stato attivo di accessibilità sull'elemento modificabile vuoto.
- Controlla se la descrizione vocale di TalkBack dell'elemento modificabile vuoto contiene un'etichetta e se questa etichetta descrittiva corrisponde a qualsiasi etichetta visiva nell'app.
- Digita del testo all'interno dell'elemento modificabile.
- Sposta lo stato attivo di accessibilità sull'elemento modificabile.
- Per verificare che la descrizione vocale includa il testo digitato, ascolta la descrizione di TalkBack dell'elemento modificabile.
Gli strumenti per i test automatici di Android sono in grado di rilevare un elemento contentDescription
non vuoto negli elementi modificabili. Valuta se utilizzare Accessibility Scanner per Android per eseguire test manuali dell'app sul dispositivo. Per eseguire test automatici, attiva il controllo dell'accessibilità in Espresso e Robolectric.