Wenn Nutzer mit Ihrer App interagieren, verwenden sie häufig Eingabemechanismen, die nicht auf Berührung basieren:
- Desktopumgebungen: Nutzer navigieren und geben Daten mit physischen Hardwaretastaturen und Trackpads ein.
- Android TV: Nutzer navigieren in der Benutzeroberfläche mit dem Steuerkreuz.
- Automobil: Fahrer und Beifahrer interagieren über Drehregler.
- Faltbare Geräte und Tablets: Nutzer bringen Tastatur-Cover und externes Eingabezubehör an.
In all diesen Szenarien muss Ihre App nachverfolgen, welches interaktive Element auf dem Bildschirm aktiv ist. Dieser aktive Status wird als Fokus bezeichnet.
Wichtige Faktoren für eine intuitive Tastaturnavigation
Damit Ihre App auf großen Bildschirmen und Geräten ohne Touchscreen eine gute Nutzerfreundlichkeit bietet, sollten Sie sie nach den folgenden Grundsätzen gestalten:
- Logischer anfänglicher Fokus: Setzen Sie den anfänglichen Fokus auf das Element, mit dem Nutzer beim Aufrufen eines Bildschirms am wahrscheinlichsten interagieren.
- Konsistente Navigationsreihenfolge: Sorgen Sie für eine vorhersehbare eindimensionale (Tabulatortaste) und zweidimensionale (Pfeiltasten oder Steuerkreuz) Fokusbewegung.
- Fokus beibehalten: Der Fokus wird nach Unterbrechungen, dem Schließen von Dialogfeldern oder Konfigurationsänderungen nahtlos wiederhergestellt.
- Deutlicher Fokusstatus: Zeigen Sie gut sichtbare, zugängliche visuelle Hinweise (z. B. Fokusringe oder Wellen) an, die angeben, welches Element gerade den Fokus hat.
- Intuitives Scrollen: Das fokussierte Element und der umgebende Kontext müssen reibungslos in den sichtbaren Bereich gescrollt werden.
Fokus-Leitfäden
In den folgenden Leitfäden erfahren Sie, wie Sie den Fokus in Compose verwalten und anpassen:
- Fokusziele: Hier erfahren Sie, wie interaktive Komponenten zu Fokuszielen werden und wie Sie benutzerdefinierte Composables fokussierbar machen.
- Reihenfolge der Fokusbewegung: Informationen zur 1D-Darstellungsreihenfolge und zur 2D-räumlichen Navigation sowie zum Anpassen von Bewegungspfaden.
- Fokus in Textfeldern: Hier erfahren Sie, wie einzeilige und mehrzeilige Textfelder mit der Tabulatortaste und den Pfeiltasten umgehen und wie die Interaktion mit der TV-Eingabemethode funktioniert.
- Fokusziele gruppieren: Gruppieren Sie Komponenten mit
focusGroupund der Umleitung beim Aufrufen oder Verlassen. - Fokus wiederherstellen: Der Fokus wird auf zuvor aktive untergeordnete Elemente in Containern zurückgesetzt. Außerdem werden Navigationskomponenten verarbeitet und der Fokus bei Bildschirmübergängen verwaltet.
- Fokusstatus angeben: Wenden Sie visuelle Hinweise und benutzerdefinierte Anzeigen an, um fokussierte Komponenten hervorzuheben.
- Auf Fokus reagieren: Fokusänderungen beobachten und Fokusstatus-Attribute mit
onFocusChangedabfragen. - Fokus programmatisch anfordern: Verschieben Sie den Fokus explizit als Reaktion auf Nutzeraktionen oder Validierungsfehler.
- Fokus verschieben und löschen: Mit
FocusManagerkönnen Sie den Fokus programmatisch verschieben oder löschen. - Fokus erfassen und freigeben: Erfassen Sie den Fokus für modale Unterinteraktionen und geben Sie ihn sicher frei.
- Fokusnavigation testen: Schreiben Sie automatisierte Compose-Tests, um Tastaturinteraktionen in 1D, 2D und Textfeldern zu überprüfen.
Empfehlungen für Sie
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist
- Fokusziele
- Reihenfolge des Fokusdurchlaufs
- Fokus in Textfeldern
- Fokusziele für Gruppen
- Fokusnavigation testen