Quando gli utenti interagiscono con la tua app, spesso lo fanno utilizzando meccanismi di input non touch:
- Ambienti desktop: gli utenti navigano e inseriscono i dati con tastiere hardware e trackpad fisici.
- Android TV: gli utenti navigano nell'interfaccia utilizzando il D-pad.
- Automotive: conducenti e passeggeri interagiscono utilizzando controller rotativi.
- Dispositivi pieghevoli e tablet: gli utenti collegano cover con tastiera e accessori di input esterni.
In tutti questi scenari, la tua app deve tenere traccia dell'elemento interattivo attivo sullo schermo. Questo stato attivo è chiamato focus.
Fattori chiave per una navigazione da tastiera intuitiva
Per offrire un'esperienza utente ottimale su schermi grandi e dispositivi non touch, progetta la tua app seguendo i seguenti principi:
- Stato attivo iniziale logico: posiziona lo stato attivo iniziale sull'elemento con cui gli utenti hanno più probabilità di interagire quando accedono a una schermata.
- Ordine di navigazione coerente: fornisci un attraversamento dello stato attivo prevedibile in una dimensione (Tab) e in due dimensioni (tasti freccia o D-pad).
- Messa a fuoco persistente: ripristina la messa a fuoco senza problemi dopo interruzioni, chiusure di finestre di dialogo o modifiche alla configurazione.
- Stato di selezione chiaro: mostra segnali visivi prominenti e accessibili (ad esempio anelli o increspature di selezione) che indicano l'elemento attualmente selezionato.
- Scorrimento intuitivo: assicurati che l'elemento selezionato e il relativo contesto scorrano senza problemi nell'area visibile.
Guide alla concentrazione
Consulta le seguenti guide per scoprire come gestire e personalizzare la messa a fuoco in Componi:
- Target di selezione: scopri come i componenti interattivi diventano target di selezione e come rendere selezionabili i componenti personalizzati.
- Ordine di attraversamento della messa a fuoco: scopri l'ordine di visualizzazione 1D e la navigazione spaziale 2D e come personalizzare i percorsi di attraversamento.
- Focus nei campi di testo: scopri come i campi di testo a una o più righe gestiscono i tasti Tab e freccia e come funziona l'interazione con l'IME della TV.
- Target di messa a fuoco del gruppo: raggruppa i componenti con
focusGroupe intercetta il reindirizzamento di entrata o uscita. - Ripristina stato attivo: ripristina lo stato attivo dei bambini attivi in precedenza nei contenitori, gestisci i componenti di navigazione e gestisci lo stato attivo durante le transizioni tra le schermate.
- Indica lo stato attivo: applica indicatori visivi e indicazioni personalizzate per evidenziare i componenti attivi.
- React to focus: osserva le modifiche dello stato attivo ed esegui query sulle proprietà dello stato attivo
utilizzando
onFocusChanged. - Richiedere lo stato attivo in modo programmatico: sposta esplicitamente lo stato attivo in risposta ad azioni dell'utente o errori di convalida.
- Sposta e cancella lo stato attivo: sposta o cancella lo stato attivo in modo programmatico utilizzando
FocusManager. - Acquisizione e rilascio della messa a fuoco: acquisisci la messa a fuoco per le interazioni secondarie modali e rilasciala in modo sicuro.
- Testa la navigazione con lo stato attivo: scrivi test automatici di Compose per verificare le interazioni della tastiera con i campi di testo 1D, 2D.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Target di messa a fuoco
- Ordine di attraversamento del focus
- Focus nei campi di testo
- Target di messa a fuoco del gruppo
- Testare la navigazione con la messa a fuoco