Ogni elemento sullo schermo che è possibile selezionare, toccare o con cui è possibile interagire in altro modo deve essere abbastanza grande da consentire un'opportuna interazione. Pertanto, assicurati che tali elementi abbiano larghezza e altezza pari almeno a 48 dp, come indicato nelle linee guida sull'accessibilità del material design.
Implementazione
Visualizza
Durante l'implementazione di elementi cliccabili o toccabili in un layout, ti suggeriamo di utilizzare dimensioni pari o superiori a quelle consigliate per i touch target.
Se le dimensioni di questi controlli sono stabilite in modo dinamico o se i controlli vengono ridimensionati in base alle dimensioni dei relativi contenuti, ti consigliamo di utilizzare gli attributi android:minWidth
e android:minHeight
per impostare un limite minimo per le dimensioni.
Per mantenere le dimensioni originali di un elemento View
durante l'espansione della sua area toccabile, ti consigliamo di utilizzare un TouchDelegate
, che consente a un layout principale di gestire gli eventi touch per conto dell'elemento View
discendente.
Suggerimento: Accessibility Scanner è in grado di rilevare e tenere in considerazione l'utilizzo di TouchDelegate
solo su Android 10 e versioni successive. Nelle versioni precedenti di Android, i risultati relativi alle dimensioni del touch target possono essere visualizzati anche quando si utilizza questa API per ingrandire i touch target a una dimensione appropriata.
Compose
Durante l'implementazione di elementi cliccabili o toccabili in un componibile, ti suggeriamo di utilizzare dimensioni pari o superiori a quelle consigliate per i touch target.
Se le dimensioni di questi controlli sono stabilite in modo dinamico o se i controlli vengono ridimensionati in base alle dimensioni dei relativi contenuti, ti consigliamo di utilizzare l'attributo Modifier.sizeIn
per impostare un limite minimo per le dimensioni.
cliccabile
o usare l'attributo Modifier.mergeDescendants
, che consente ai servizi di accessibilità di focalizzare solo un componibile predecessore più grande e inviargli eventi di clic.Design
I touch target includono l'area che risponde all'input dell'utente. I touch target si estendono oltre i limiti visivi di un elemento. Ad esempio, potrebbe sembrare che un elemento come un'icona abbia dimensioni pari a 24 x 24 dp, ma la spaziatura interna circostante comprende il touch target completo di dimensioni pari a 48 x 48 dp. In Jetpack Compose, i componenti Material come Checkbox
o Switch
aggiungono automaticamente spaziatura interna per garantire dimensioni pari ad almeno 48 x 48 dp. In alcuni casi, ad esempio per pulsanti molto piccoli e ravvicinati, gli elementi non possono essere ampliati senza causare la sovrapposizione delle aree toccabili.
Puoi provare a realizzare i touch target con dimensioni minime di 48 x 48 dp, separati da almeno 8 dp di spazio, per garantire un equilibrio tra densità e usabilità delle informazioni. Le dimensioni 48 x 48 dp di un touch target corrispondono a dimensioni effettive di 9 mm, a prescindere dalle dimensioni dello schermo. Le dimensioni target consigliate per gli oggetti su touchscreen sono pari a 7-10 mm.
Per avere degli esempi, leggi le linee guida sull'accessibilità di material design.
Test
Per verificare manualmente che l'interfaccia utente di un'app non contenga touch target di piccole dimensioni, procedi nel seguente modo:
- Apri l'app.
- Identifica tutti gli elementi selezionabili, toccabili o con cui è possibile interagire nell'interfaccia.
- Assicurati che ognuno di questi elementi abbia dimensioni pari a 48 x 48 dp o di circa 9 mm per dimensione.
Gli strumenti per i test automatici di Android sono in grado di rilevare i touch target di piccole dimensioni. Valuta se utilizzare Accessibility Scanner per Android per testare manualmente l'app sul dispositivo. Per eseguire test automatici, attiva il controllo dell'accessibilità in Espresso e Robolectric.