Rendi più accessibili le app

Cerca di fare in modo che la tua app Android sia utilizzabile da tutti, incluse le persone con esigenze di accessibilità.

Le persone con problemi di vista, daltonismo, problemi di udito, problemi di mobilità, disabilità intellettive e molte altre disabilità utilizzano i dispositivi Android. Se sviluppi app tenendo in considerazione l'accessibilità, rendi l'esperienza utente migliore per le persone con esigenze di accessibilità.

Questa pagina presenta le linee guida per implementare gli elementi chiave dell'accessibilità in modo che tutti possano utilizzare la tua app più facilmente. Per indicazioni più approfondite su come rendere più accessibile la tua app, consulta i principi per migliorare l'accessibilità delle app.

Aumenta la visibilità del testo

Per ogni insieme di testo all'interno dell'app, consigliamo che il contrasto del colore (o la differenza nella luminosità percepita tra il colore del testo e il colore dello sfondo dietro il testo) deve essere superiore a una soglia specifica. La soglia esatta dipende dalla dimensione del carattere del testo e dalla sua visualizzazione in grassetto:

  • Se il testo è inferiore a 18 pt o se il testo è in grassetto e è più piccolo di 14 pt, imposta il rapporto del contrasto di colore almeno su 4, 5:1.
  • Per tutto il resto del testo, imposta il rapporto del contrasto di colore almeno su 3:1.

La seguente immagine mostra due esempi di contrasto di colore da testo a sfondo:

Immagini che mostrano testo
Figura 1. Contrasto di colore inferiore a quello consigliato (sinistra) e sufficiente (destra).

Per controllare il contrasto dei colori tra testo e sfondo nell'app, usa uno strumento online per la verifica del contrasto dei colori o l'app Accessibilità Scanner.

Usa controlli semplici e grandi

L'interfaccia utente dell'app è più facile da usare se i controlli sono più facili da vedere e toccare. Consigliamo che ogni elemento interattivo dell'interfaccia utente abbia un'area attivabile, o dimensioni del touch target, di almeno 48 dpx 48 dp. Più grande è ancora meglio.

Affinché un determinato elemento dell'interfaccia utente abbia dimensioni del touch target sufficientemente grandi, le seguenti condizioni devono essere entrambe vere:

I valori di spaziatura interna consentono che le dimensioni visibili di un oggetto siano inferiori a 48dpx48dp pur mantenendo le dimensioni del touch target consigliate.

Il seguente snippet di codice mostra un elemento con le dimensioni del touch target consigliate:

<ImageButton ...
    android:paddingLeft="4dp"
    android:minWidth="40dp"
    android:paddingRight="4dp"

    android:paddingTop="8dp"
    android:minHeight="32dp"
    android:paddingBottom="8dp" />

Descrivi ogni elemento UI

Per ogni elemento dell'interfaccia utente dell'app, includi una descrizione che ne descriva lo scopo. Nella maggior parte dei casi, includi questa descrizione nell'attributo contentDescription dell'elemento, come mostrato nel seguente snippet di codice:

<!-- Use string resources for easier localization. -->
<!-- The en-US value for the following string is "Inspect". -->
<ImageView
    ...
    android:contentDescription="@string/inspect" />

Quando aggiungi descrizioni agli elementi UI della tua app, tieni presente le seguenti best practice:

  • Non includere il tipo di elemento UI nella descrizione dei contenuti. Gli screen reader annunciano automaticamente il tipo e la descrizione dell'elemento. Ad esempio, se la selezione di un pulsante causa l'esecuzione di un'azione "Invia" nella tua app, imposta la descrizione del pulsante "Submit", non "Submit button".

  • Ogni descrizione deve essere univoca. In questo modo, quando gli utenti di screen reader riscontrano una descrizione ripetuta dell'elemento, riconoscono correttamente che l'elemento attivo è già stato impostato in precedenza. In particolare, ogni elemento all'interno di un gruppo di visualizzazioni come RecyclerView deve avere una descrizione diversa. Ogni descrizione deve riflettere i contenuti esclusivi di un determinato elemento, ad esempio il nome di una città in un elenco di località.

  • Se il valore minSdkVersion della tua app è 16 o superiore, puoi impostare l'attributo android:importantForAccessibility su "no" per gli elementi grafici utilizzati solo per effetti decorativi.

Risorse aggiuntive

Per scoprire di più su come rendere più accessibile la tua app, consulta le seguenti risorse aggiuntive:

Codelab

Post del blog