Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Steuerelemente in einer App sollten so organisiert werden, dass sie eine sequenzielle Navigation ermöglichen, um es Bildschirmleser-Benutzern zu erleichtern. Eine logische Reihenfolge reduziert auch Verwirrung für Tastaturbenutzer und hilft ihnen, produktiver zu sein.
Aussagekräftiger Bildschirmname
Wenn ein Bildschirm geladen wird, liest der Screenreader dessen Namen vor. Wählen Sie einen aussagekräftigen Namen aus, um Benutzer zu orientieren.
Sie können den Bildschirmnamen in der Steuerelementstruktur oder im Eigenschaftenbereich in Power Apps Studio ändern. Wählen Sie den Bildschirm aus, und wählen Sie dann das
um den Bildschirm umzubenennen.
Das erste Element auf einem Bildschirm ist der Name. Er ist visuell verborgen und nur für Benutzer der Sprachausgabe zugänglich.
Wenn ein neuer Bildschirm geladen wird, stellt Power Apps den Fokus auf den Bildschirmnamen. Wenn Sie SetFocus beim Laden des Bildschirms sofort verwenden, wird der Bildschirmname nicht gelesen. Erwägen Sie das Erstellen eines sichtbaren Titels und machen Sie ihn zu einer Liveregion , um die Änderung im Kontext anzukündigen.
Logische Steuerungsreihenfolge
Benutzer der Sprachausgabe können nacheinander durch Inhalte navigieren. Die Reihenfolge wird durch die Position der Steuerelemente bestimmt, beginnend von oben nach unten und dann von links nach rechts. Die Größe des Steuerelements spielt keine Rolle, nur seine X - und Y-Eigenschaften sind wichtig.
In diesem Beispiel wird A zuerst in der Sequenz angezeigt, da sie am nächsten am oberen Rand ist. B und C haben die gleiche vertikale Position, aber da B näher an der linken Seite ist, erscheint sie vor C. D zuletzt, da sie von oben am weitesten entfernt ist.
Hinweis
- Im Vorschaumodus beim Bearbeiten einer App wird die Steuerelementreihenfolge aus Leistungsgründen nicht aktualisiert. Die Reihenfolge ist korrekt, wenn die App veröffentlicht und ausgeführt wird.
- Die Reihenfolge der Steuerelemente entspricht nicht der in der Strukturansicht von Steuerelementen in Power Apps Studio. Die Strukturansicht sortiert Steuerelemente nach dem Zeitpunkt, zu dem sie der App hinzugefügt wurden. Sie wirkt sich nicht auf die Reihenfolge der Steuerelemente aus, wenn die App ausgeführt wird.
- Wenn der X - oder Y-Wert eines Steuerelements auf einen Ausdruck festgelegt ist, wird die Steuerelementreihenfolge nicht aktualisiert, wenn sich das Ergebnis des Ausdrucks ändert. Die Reihenfolge wird berechnet und beim Speichern der App mithilfe des Anfangszustands der App zum Auswerten von Ausdrücken festgelegt.
- Wenn Sie die Position ändern, da andere Steuerelemente ausgeblendet oder angezeigt werden, können Sie automatische Layout-Container verwenden, die X und Y für Sie verwalten.
- Sie können alle Steuerelemente auch auf logische Weise positionieren, unabhängig von Ausdruckswerten. Zum Beispiel, wenn Steuerelement A immer unter Steuerelement B sein soll und B manchmal ausgeblendet sein kann, legen Sie A's Y auf
If(B.Visible, B.Y + B.Height, B.Y + 1)fest. Durch das Hinzufügen von 1 wird sichergestellt, dass A immer unter B liegt, auch wenn B ausgeblendet ist.
Gruppierte Steuerelemente
Die Standardreihenfolge eignet sich für isolierte Inhalte, aber nicht für gruppierte Inhalte. Betrachten Sie zwei Kacheln nebeneinander, die mit Rectangle-Steuerelement gezeichnet sind. Jede Kachel hat eine Überschrift. Unterhalb der Überschrift sind zwei Schaltflächen senkrecht angeordnet: A und B für die erste Kachel und C und D für die andere.
Die Standardreihenfolge geht von oben nach unten und dann von links nach rechts. Daher lautet die Reihenfolge der Steuerelemente:
- Linkes Rechteck
- Rechts Rechteck
- Linke Überschrift
- Überschrift rechts
- Ein
- C
- B
- D
Diese Struktur vermittelt nicht, dass A und B zusammen sind, und ähnlich sind C und D zusammen.
Verwenden Sie Container , um verwandte Inhalte zu gruppieren. Alle Steuerelemente in einem Container werden in Folge angezeigt. Innerhalb eines Containers werden Steuerelemente mit derselben Regel sortiert: von oben nach unten, dann von links nach rechts.
Durch das Ersetzen der Rechtecke des vorherigen Beispiels mit Behältnissen wird die Reihenfolge der Steuerelement nun logisch für Benutzer der Sprachausgabe angezeigt:
- Linker Container
- Linke Überschrift
- Ein
- B
- Rechter Container
- Überschrift rechts
- C
- D
Alle Steuerelemente auf einer Formularkarte und einem Katalog werden automatisch gruppiert, sodass Sie keinen Container verwenden müssen. Wenn jedoch Untergruppen vorhanden sind, sollten Sie weiterhin Container für diese verwenden.
In diesem Beispiel enthält eine Galeriezeile eine Miniaturansicht und zwei Textstücke links. Rechts befinden sich zwei Schaltflächen. Visuell und logisch sollten die beiden Steuerelementegruppen gruppiert werden. Dadurch wird sichergestellt, dass Benutzer der Sprachausgabe zuerst auf die linke Gruppe und nicht auf die rechte Gruppe treffen.
Logische Tastaturnavigationsreihenfolge
Die Tastaturnavigation ist ein wichtiger Aspekt jeder App. Für viele ist die Tastatur effizienter als die Verwendung von Toucheingabe oder Maus. Die Navigationsreihenfolge sollte:
- Folgen Sie dem visuellen Fluss der Bedienelemente.
- Folgen Sie entweder einer intuitiven Reihenfolge über und dann nach unten „Z“ oder einer Reihenfolge nach unten und dann über „Reverse-N“.
- Lassen Sie Tabulatoren nur bei interaktiven Steuerelementen stehen.
AcceptsFocus gibt an, ob Steuerelemente über die Tastatur erreicht werden können. Bei klassischen Steuerelementen ist die entsprechende Eigenschaft TabIndex.
Die Navigationsreihenfolge folgt der Steuerungsreihenfolge: von links nach rechts, dann von oben nach unten in einem "Z"-Muster. Sie können sie auf die gleiche Weise wie bei der Steuerungsreihenfolge anpassen. Beispielsweise werden Steuerelemente in Containern, Formularkarten und Katalogen automatisch gruppiert. Die TAB-TASTE navigiert durch alle Elemente innerhalb des Containers, bevor Sie mit dem nächsten Steuerelement außerhalb des Containers fortfahren.
Wenn die Navigationsreihenfolge unerwartet ist, sollten Sie zuerst überprüfen, ob die App-Struktur logisch ist.
Hinweis
Wenn Steuerelemente dynamisch auf dem Bildschirm verschoben werden, z. B. durch Ändern des X - oder Y-Werts gemäß einem Power Fx-Ausdruck, wird die Navigationsreihenfolge nicht aktualisiert.
Workaround für benutzerdefinierte Tab-Reihenfolge
Bei seltenen Szenarien, in denen sich die Reihenfolge der Tastaturnavigation von der visuellen Reihenfolge unterscheiden sollte, können Sie Containersteuerelemente sorgfältig positionieren, um denselben Effekt zu haben.
Im folgenden Beispiel befindet sich Schaltfläche A über Schaltfläche B. Die natürliche Tabreihenfolge ist A, dann B.
Um die Tab-Navigationsreihenfolge umzukehren, fügen Sie B in ein Container-Steuerelement ein. Setzen Sie den Y-Wert des Containers so, dass er über A liegt. Die App-Struktur hat jetzt den Container (und B) vor A. Daher ist die Tab-Navigationsreihenfolge B und dann A.
Bei dieser Technik wird Benutzern der Sprachausgabe auch B vor A angezeigt, wenn Sie ohne die TAB-TASTE navigieren.With this technique, screen reader users will also encounter B before A when navigation without the TAB key.
Benutzerdefinierte Registerkartenindizes (eingestellte Funktion)
Benutzerdefinierte Tab-Indizes sind solche, die größer als Null sind. Sie werden nicht mehr unterstützt. Alle TabIndex-Werte größer als Null werden als Null behandelt.
Benutzerdefinierte Registerkartenindizes sind fast immer ein Zeichen für schlechtes Design. Es gibt bessere Alternativen wie das Erstellen einer geeigneten App-Struktur oder die Verwendung von SetFocus , um den Fokus zu ändern.
Einige Probleme mit benutzerdefinierten Tab-Indizes:
Accessibility
Benutzerdefinierte Tab-Indizes stellen ein schwerwiegendes Problem bei der Barrierefreiheit dar. Sprachausgabebenutzer navigieren in einer App mithilfe ihrer logischen Struktur. Benutzerdefinierte Registerkartenindizes ignorieren diese Struktur. Da Benutzer der Sprachausgabe auch mithilfe der Tab-Taste navigieren können, sind sie verwirrt, wenn sie eine andere Reihenfolge als bei anderen Navigationsmethoden vorfinden.
Usability
Benutzer können verwirrt sein, wenn einige Elemente den Anschein haben, dass sie übersprungen werden. Sie können desorientiert sein, wenn sich der Fokus in einer unvorhersehbaren Abfolge bewegt. Dies ist für Benutzer mit kognitiven Behinderungen noch problematischer.
Maintenance
App-Entwickler müssen den TabIndex mehrerer Steuerelemente manuell aktualisieren, wenn ein neues Steuerelement eingefügt wird. Es ist einfach, ein Update zu verpassen oder die Reihenfolge falsch zu machen.
Leistung
Um benutzerdefinierte Tabulatorindizes zu unterstützen, muss das System von Power Apps alle Steuerelemente auf der Seite untersuchen und die entsprechende Reihenfolge berechnen. Diese Berechnung ist ein intensiver Prozess. Container-Steuerelemente wie Galerie haben komplizierte Regeln dazu, wie TabIndex bei Kindersicherungen funktioniert. Das System ordnet den gewünschten TabIndex des App-Herstellers einem anderen Wert zu, um diesen Regeln zu entsprechen. Dies ist der Grund, auch wenn TabIndex für alle Steuerelemente auf Null festgelegt ist, wird der tatsächliche HTML-Code tabindex eine positive Zahl sein.
Integration in andere Komponenten
Benutzerdefinierte Tab-Indizes funktionieren nur mit integrierten Steuerelementen. Steuerelemente, die nicht in das Registerkartenindexsystem von Power Apps integriert sind, weisen eine unerwartete Navigationsreihenfolge auf. Dies kann ein Problem für Codekomponenten sein. Entwickler dieser Komponenten müssen interaktive Elemente nachverfolgen und den Tab-Index festlegen. Sie verwenden möglicherweise Bibliotheken von Drittanbietern, die möglicherweise nicht einmal eine Möglichkeit zum Anpassen von Registerkartenindizes bieten. Wenn alle Tabindizes entweder 0 oder -1 sind, ist es nicht nötig, das Tabindexsystem von Power Apps zu verwenden. Jede in die App eingebettete Drittanbieterkomponente erhält automatisch die korrekte Tab-Reihenfolge.
In der anderen Richtung funktionieren benutzerdefinierte Registerkartenindizes nicht, wenn Canvas-Apps in eine andere Webseite eingebettet sind. Beispiel: auf benutzerdefinierten Seiten. Power Apps können die Elemente außerhalb der Canvas-App nicht steuern, sodass die gesamte Registerkartennavigationsreihenfolge unlogisch ist.
Nächste Schritte
Barrierefreie Farben in Power Apps