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.
Zugriffstasten sind Tastenkombinationen, die die Benutzerfreundlichkeit und die Barrierefreiheit Ihrer Windows-Anwendungen verbessern, indem sie Benutzern eine intuitive Möglichkeit bieten, schnell durch die sichtbare Benutzeroberfläche einer App über eine Tastatur anstatt über ein Zeigergerät (z. B. Toucheingabe oder Maus) zu navigieren und mit dieser zu interagieren.
Die Windows-App bietet integrierte Unterstützung für plattformübergreifende App-Steuerelemente sowohl für tastaturbasierte Zugriffstasten als auch für das zugehörige UI-Feedback durch visuelle Hinweise, die als Keytips bezeichnet werden.
Hinweis
Eine Tastatur ist für Benutzer mit bestimmten Behinderungen unerlässlich (siehe Barrierefreiheit der Tastatur), und ist auch ein wichtiges Tool für Benutzer, die es als effizientere Möglichkeit für die Interaktion mit einer App bevorzugen.
Weitere Informationen zum Aufrufen allgemeiner Aktionen in einer Windows-Anwendung mit Tastenkombinationen finden Sie im Thema Tastenbefehle.
Informationen zum Erstellen eigener benutzerdefinierter Tastenkombinationen finden Sie im Thema Tastaturereignisse.
Überblick
Eine Zugriffstaste ist eine Kombination aus der ALT-TASTE und einer oder mehreren alphanumerischen Tasten , die manchmal als mnemonicbezeichnet werden , in der Regel sequenziell und nicht gleichzeitig gedrückt.
Tastenkombinationshinweise sind Symbole, die neben Steuerelementen angezeigt werden, die Zugriffstasten unterstützen, wenn der Benutzer die Alt-Taste drückt. Jede Keytip enthält die alphanumerischen Tasten, die das zugeordnete Steuerelement aktivieren.
Hinweis
Tastenkombinationen werden automatisch für Zugriffstasten mit einem einzelnen alphanumerischen Zeichen unterstützt. Wenn Sie z. B. in Word gleichzeitig Alt+F drücken, wird das Menü "Datei" geöffnet, ohne die Zugriffstastenanzeige anzuzeigen.
Durch das Drücken der Alt-Taste werden Funktionen der Zugriffstasten initialisiert, und alle derzeit verfügbaren Tastenkombinationen werden in Tastenhinweisen angezeigt. Nachfolgende Tastenanschläge werden vom Zugriffstastensystem behandelt, das ungültige Tasten zurückweist, bis entweder eine gültige Zugriffstaste gedrückt wird oder die Eingabetaste, Esc, Tab oder Pfeiltaste gedrückt werden, um die Zugriffstasten zu deaktivieren und die Tastenverarbeitung an die App zurückzugeben.
Microsoft Office-Apps bieten umfassende Unterstützung für Zugriffstasten. Die folgende Abbildung zeigt die Registerkarte "Start" von Word mit aktivierten Zugriffstasten (beachten Sie die Unterstützung sowohl für Zahlen als auch für mehrere Tastendrücke).
Tastenhinweis-Badges für Zugriffstasten in Microsoft Word
Um einem Steuerelement eine Zugriffstaste hinzuzufügen, verwenden Sie die AccessKey-Eigenschaft. Der Wert dieser Eigenschaft gibt die Zugriffstastenabfolge, die Tastenkombination (wenn es sich um ein einzelnes alphanumerisches Zeichen handelt) und den Tastenhinweis an.
<Button Content="Accept" AccessKey="A" Click="AcceptButtonClick" />
Wann Zugriffstasten verwenden
Es wird empfohlen, zugriffstasten anzugeben, wo immer sie in der Benutzeroberfläche geeignet sind, und Zugriffstasten in allen benutzerdefinierten Steuerelementen zu unterstützen.
Zugriffstasten machen Ihre App für Benutzer mit Motorbehinderungen barrierefreier, einschließlich der Benutzer, die jeweils nur eine Taste drücken können oder Schwierigkeiten bei der Verwendung einer Maus haben.
Eine gut gestaltete Tastaturbenutzeroberfläche ist ein wichtiger Aspekt der Barrierefreiheit der Software. Sie ermöglicht Benutzern mit Sehbehinderungen oder mit bestimmten motorischen Behinderungen, in einer App zu navigieren und mit ihren Features zu interagieren. Solche Benutzer können möglicherweise keine Maus bedienen und verlassen sich stattdessen auf verschiedene Hilfstechnologien wie Tastaturerweiterungstools, Bildschirmtastaturen, Bildschirmvergrößerungsgeräte, Bildschirmsprachausgaben und Spracheingabeprogramme. Für diese Benutzer ist eine umfassende Befehlsabdeckung von entscheidender Bedeutung.
Zugriffstasten machen Ihre App für Power-Benutzer, die die Interaktion über die Tastatur bevorzugen, besser nutzbar.
Erfahrene Benutzer haben häufig eine starke Vorliebe für die Verwendung der Tastatur, da tastaturbasierte Befehle schneller eingegeben werden können und sie ihre Hände nicht von der Tastatur nehmen müssen. Für diese Nutzer sind Effizienz und Konsistenz von entscheidender Bedeutung; Vollständigkeit ist nur für die am häufigsten verwendeten Befehle wichtig.
Festlegen des Zugriffstastenbereichs
Wenn auf dem Bildschirm viele Elemente vorhanden sind, die Zugriffstasten unterstützen, empfehlen wir, die Zugriffstasten zu begrenzen, um kognitive Lastzu reduzieren. Dadurch wird die Anzahl der Zugriffstasten auf dem Bildschirm minimiert, wodurch sie leichter zu finden sind, und die Effizienz und Produktivität verbessert werden.
Microsoft Word bietet beispielsweise zwei Bereiche für Zugriffstasten: einen primären Bereich für die Ribbon-Registerkarten und einen sekundären Bereich für Befehle auf der ausgewählten Registerkarte.
Die folgenden Bilder veranschaulichen die beiden Zugriffstastenbereiche in Word. Im ersten Beispiel werden die primären Zugriffstasten angezeigt, mit denen ein Benutzer eine Registerkarte und andere Befehle auf oberster Ebene auswählen kann, und die zweite zeigt die sekundären Zugriffstasten für die Registerkarte "Start" an.
Primäre Zugriffstasten in Microsoft Word
Sekundäre Zugriffstasten in Microsoft Word
Zugriffstasten können für Elemente in verschiedenen Bereichen dupliziert werden. Im vorherigen Beispiel sind "2" die Zugriffstasten für "Rückgängig" im primären Bereich und auch Kursiv im sekundären Bereich.
Hier erfahren Sie, wie Sie einen Zugriffsschlüsselbereich festlegen.
<CommandBar x:Name="MainCommandBar" AccessKey="M" >
<AppBarButton AccessKey="G" Icon="Globe" Label="Go"/>
<AppBarButton AccessKey="S" Icon="Stop" Label="Stop"/>
<AppBarSeparator/>
<AppBarButton AccessKey="R" Icon="Refresh" Label="Refresh" IsAccessKeyScope="True">
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem AccessKey="A" Icon="Globe" Text="Refresh A" />
<MenuFlyoutItem AccessKey="B" Icon="Globe" Text="Refresh B" />
<MenuFlyoutItem AccessKey="C" Icon="Globe" Text="Refresh C" />
<MenuFlyoutItem AccessKey="D" Icon="Globe" Text="Refresh D" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton AccessKey="B" Icon="Back" Label="Back"/>
<AppBarButton AccessKey="F" Icon="Forward" Label="Forward"/>
<AppBarSeparator/>
<AppBarToggleButton AccessKey="T" Icon="Favorite" Label="Favorite"/>
<CommandBar.SecondaryCommands>
<AppBarToggleButton Icon="Like" AccessKey="L" Label="Like"/>
<AppBarButton Icon="Setting" AccessKey="S" Label="Settings" />
</CommandBar.SecondaryCommands>
</CommandBar>
primärer Command-Bar-Geltungsbereich und unterstützte Tastenkombinationen
Sekundärer CommandBar-Bereich und unterstützte Zugriffstasten
Windows 10 Creators Update und älter
Vor dem Windows 10 Fall Creators Update haben einige Steuerelemente, z. B. die CommandBar, keine integrierten Bereiche für Zugriffstasten unterstützt.
Das folgende Beispiel zeigt, wie CommandBar SecondaryCommands mit Zugriffstasten unterstützt wird, die verfügbar sind, sobald ein übergeordneter Befehl aufgerufen wird (ähnlich wie das Menüband in Word).
<local:CommandBarHack x:Name="MainCommandBar" AccessKey="M" >
<AppBarButton AccessKey="G" Icon="Globe" Label="Go"/>
<AppBarButton AccessKey="S" Icon="Stop" Label="Stop"/>
<AppBarSeparator/>
<AppBarButton AccessKey="R" Icon="Refresh" Label="Refresh" IsAccessKeyScope="True">
<AppBarButton.Flyout>
<MenuFlyout>
<MenuFlyoutItem AccessKey="A" Icon="Globe" Text="Refresh A" />
<MenuFlyoutItem AccessKey="B" Icon="Globe" Text="Refresh B" />
<MenuFlyoutItem AccessKey="C" Icon="Globe" Text="Refresh C" />
<MenuFlyoutItem AccessKey="D" Icon="Globe" Text="Refresh D" />
</MenuFlyout>
</AppBarButton.Flyout>
</AppBarButton>
<AppBarButton AccessKey="B" Icon="Back" Label="Back"/>
<AppBarButton AccessKey="F" Icon="Forward" Label="Forward"/>
<AppBarSeparator/>
<AppBarToggleButton AccessKey="T" Icon="Favorite" Label="Favorite"/>
<CommandBar.SecondaryCommands>
<AppBarToggleButton Icon="Like" AccessKey="L" Label="Like"/>
<AppBarButton Icon="Setting" AccessKey="S" Label="Settings" />
</CommandBar.SecondaryCommands>
</local:CommandBarHack>
public class CommandBarHack : CommandBar
{
CommandBarOverflowPresenter secondaryItemsControl;
Popup overflowPopup;
public CommandBarHack()
{
this.ExitDisplayModeOnAccessKeyInvoked = false;
AccessKeyInvoked += OnAccessKeyInvoked;
}
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
Button moreButton = GetTemplateChild("MoreButton") as Button;
moreButton.SetValue(Control.IsTemplateKeyTipTargetProperty, true);
moreButton.IsAccessKeyScope = true;
// SecondaryItemsControl changes
secondaryItemsControl = GetTemplateChild("SecondaryItemsControl") as CommandBarOverflowPresenter;
secondaryItemsControl.AccessKeyScopeOwner = moreButton;
overflowPopup = GetTemplateChild("OverflowPopup") as Popup;
}
private void OnAccessKeyInvoked(UIElement sender, AccessKeyInvokedEventArgs args)
{
if (overflowPopup != null)
{
overflowPopup.Opened += SecondaryMenuOpened;
}
}
private void SecondaryMenuOpened(object sender, object e)
{
//This is not necessary given we are automatically pushing the scope.
var item = secondaryItemsControl.Items.First();
if (item != null && item is Control)
{
(item as Control).Focus(FocusState.Keyboard);
}
overflowPopup.Opened -= SecondaryMenuOpened;
}
}
Vermeiden Sie Zugriffstastenkonflikte
Zugriffstastenkonflikte treten auf, wenn zwei oder mehr Elemente im selben Bereich doppelte Zugriffstasten aufweisen oder mit denselben alphanumerischen Zeichen beginnen.
Das System löst doppelte Zugriffstasten auf, indem die Zugriffstaste des ersten Elements verarbeitet wird, das der visuellen Struktur hinzugefügt wurde, wobei alle anderen ignoriert werden.
Wenn mehrere Zugriffstasten mit demselben Zeichen beginnen (z. B. "A", "A1" und "AB"), verarbeitet das System die Zugriffstasten, die nur aus einem einzelnen Zeichen bestehen, und ignoriert alle anderen.
Vermeiden Sie Kollisionen, indem Sie eindeutige Zugriffstasten verwenden oder den Geltungsbereich von Befehlen definieren.
Zugriffstasten auswählen
Beachten Sie beim Auswählen von Zugriffstasten Folgendes:
- Verwenden Sie ein einzelnes Zeichen, um Tastenanschläge zu minimieren und Zugriffstasten standardmäßig zu unterstützen (ALT+AccessKey)
- Vermeiden Sie die Verwendung von mehr als zwei Zeichen.
- Vermeiden von Zugriffstastenkonflikten
- Vermeiden Sie Zeichen, die schwer von anderen Zeichen zu unterscheiden sind, z. B. den Buchstaben "I" und die Zahl "1" oder den Buchstaben "O" und die Zahl "0".
- Verwenden Sie bekannte Vorbilder aus anderen beliebten Apps wie Word ("F" für "Datei", "H" für "Startseite" usw.)
- Verwenden Sie das erste Zeichen des Befehlsnamens oder ein Zeichen mit einer engen Zuordnung zum Befehl, der beim Rückruf hilft.
- Wenn der erste Buchstabe bereits zugewiesen ist, verwenden Sie einen Buchstaben, der so nah wie möglich am ersten Buchstaben des Befehlsnamens ("N" für "Einfügen") ist.
- Verwenden Sie einen markanten Konsonanten aus dem Befehlsnamen ("W" für View)
- Verwenden Sie einen Vokal aus dem Befehlsnamen.
Zugriffstasten lokalisieren
Wenn Ihre App in mehreren Sprachen lokalisiert werden soll, sollten Sie auch erwägen, die Zugriffstastenzu lokalisieren. Zum Beispiel, für "H" für "Startseite" in en-US und "I" für "Start" in es-ES.
Verwenden Sie die x:Uid-Erweiterung im Markup, um lokalisierte Ressourcen wie hier gezeigt anzuwenden:
<Button Content="Home" AccessKey="H" x:Uid="HomeButton" />
Ressourcen für jede Sprache werden den entsprechenden String-Ordnern im Projekt hinzugefügt.
Ressourcenzeichenfolgenordner für Englisch und Spanisch
Lokalisierte Zugriffstasten werden in der Datei "resources.resw" Ihrer Projekte angegeben.
Geben Sie die AccessKey-Eigenschaft an, die in der Datei "resources.resw" angegeben ist.
Weitere Informationen finden Sie unter Übersetzen von UI-Ressourcen
Tastenhinweis-Positionierung
Tastenkombinationshinweise werden als schwebende Markierungen relativ zum entsprechenden UI-Element angezeigt, wobei die Präsenz anderer UI-Elemente, anderer Tastenkombinationshinweise und der Bildschirmkante berücksichtigt wird.
In der Regel reicht der Standardspeicherort für Zugriffstasteninfos aus und bietet integrierte Unterstützung für adaptive UI.
Beispiel für die automatische Platzierung von Tastenhinweisen
Sollten Sie jedoch mehr Kontrolle über die Positionierung von Tastaturhinweisen benötigen, empfehlen wir Folgendes:
Offensichtliches Zuordnungsprinzip: Der Benutzer kann das Steuerelement mit der Tastenkombination problemlos assoziieren.
a) Die Zugriffstasteninfo sollte nah an dem Element sein, wer die Zugriffstaste (der Besitzer) hat.
b. Die Tastenkombinationen-Hinweis sollte vermeiden, dass aktivierte Elemente mit Zugriffstasten abgedeckt werden.
Abschnitt c. Wenn eine Zugriffstippe nicht in der Nähe des Elements platziert werden kann, sollte sie das Element überlappen.Auffindbarkeit: Der Benutzer kann das Steuerelement schnell mit der Tastenkombination entdecken.
a) Die Zugriffstasteninfo überlappt niemals anderen Zugriffstasteninfos.
Einfaches Scannen: Der Benutzer kann die Zugriffstasteninfos problemlos überspringen.
a) Tastenkürzel sollten und sowohl miteinander als auch mit dem UI-Element ausgerichtet werden. b. Zugriffstasteninfos sollten so weit wie möglich gruppiert werden.
Relative Position
Verwenden Sie die KeyTipPlacementMode--Eigenschaft, um die Platzierung des Tastenhinweises auf Element- oder Gruppenbasis anzupassen.
Die Platzierungsmodi sind: Oben, Unten, Rechts, Links, Ausgeblendet, Zentriert und Auto.
Keytip-Platzierungsmodi
Die Mittellinie des Steuerelements wird verwendet, um die vertikale und horizontale Ausrichtung des Kurzschlüssels zu berechnen.
Im folgenden Beispiel wird gezeigt, wie die Keytip-Positionierung einer Gruppe von Steuerelementen mithilfe der "KeyTipPlacementMode"-Eigenschaft eines "StackPanel"-Containers festgelegt wird.
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" KeyTipPlacementMode="Top">
<Button Content="File" AccessKey="F" />
<Button Content="Home" AccessKey="H" />
<Button Content="Insert" AccessKey="N" />
</StackPanel>
Kompensationen
Um die Positionierung der KeyTips noch präziser zu steuern, verwenden Sie die Eigenschaften KeyTipHorizontalOffset und KeyTipVerticalOffset eines Elements.
Hinweis
Offsets können nicht festgelegt werden, wenn KeyTipPlacementMode auf "Auto" festgelegt ist.
Die KeyTipHorizontalOffset-Eigenschaft gibt an, wie weit der KeyTip nach links oder rechts verschoben werden soll.
Vertikale und horizontale Tastenhinweis-Abstände für eine Schaltfläche festlegen
<Button
Content="File"
AccessKey="F"
KeyTipPlacementMode="Bottom"
KeyTipHorizontalOffset="20"
KeyTipVerticalOffset="-8" />
Bildschirmrand-Ausrichtung {#screen-edge-alignment .ListParagraph}
Die Position einer Zugriffstasteninfo wird basierend auf dem Bildschirmrand automatisch angepasst, um sicherzustellen, dass die Zugriffstasteninfo vollständig sichtbar ist. In diesem Fall kann sich der Abstand zwischen dem Steuerelement und dem Ausrichtungspunkt für Tastenkürzel von den Werten unterscheiden, die für die horizontalen und vertikalen Abstände angegeben sind.
Zugriffstasteninfos werden automatisch anhand des Bildschirmrands positioniert
Keytip-Stil
Wir empfehlen die Verwendung der integrierten Keytip-Unterstützung für Plattform-Designs, einschließlich hohen Kontrasts.
Wenn Sie eigene KeyTip-Stile angeben müssen, verwenden Sie Anwendungsressourcen wie KeyTipFontSize (Schriftgröße), KeyTipFontFamily (Schriftfamilie), KeyTipBackground (Hintergrund), KeyTipForeground (Vordergrund), KeyTipPadding (Abstand), KeyTipBorderBrush (Rahmenfarbe) und KeyTipBorderThemeThickness (Rahmenstärke).
Keytip-Anpassungsoptionen
In diesem Beispiel wird veranschaulicht, wie Sie diese Anwendungsressourcen ändern:
<Application.Resources>
<SolidColorBrush Color="DarkGray" x:Key="MyBackgroundColor" />
<SolidColorBrush Color="White" x:Key="MyForegroundColor" />
<SolidColorBrush Color="Black" x:Key="MyBorderColor" />
<StaticResource x:Key="KeyTipBackground" ResourceKey="MyBackgroundColor" />
<StaticResource x:Key="KeyTipForeground" ResourceKey="MyForegroundColor" />
<StaticResource x:Key="KeyTipBorderBrush" ResourceKey="MyBorderColor"/>
<FontFamily x:Key="KeyTipFontFamily">Consolas</FontFamily>
<x:Double x:Key="KeyTipContentThemeFontSize">18</x:Double>
<Thickness x:Key="KeyTipBorderThemeThickness">2</Thickness>
<Thickness x:Key="KeyTipThemePadding">4,4,4,4</Thickness>
</Application.Resources>
Zugriffstasten und Sprachausgabe
Das XAML-Framework macht Automatisierungseigenschaften verfügbar, mit denen Benutzeroberflächenautomatisierungs-Clients Informationen zu Elementen auf der Benutzeroberfläche ermitteln können.
Wenn Sie die AccessKey-Eigenschaft für ein UIElement- oder TextElement-Steuerelement angeben, können Sie die AutomationProperties.AccessKey-Eigenschaft verwenden, um diesen Wert abzurufen. Barrierefreiheitsdienste wie der Bildschirmleser lesen den Wert dieser Eigenschaft vor, jedes Mal, wenn ein Element den Fokus erhält.
Verwandte Artikel
Beispiele
Windows developer