Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klawisze dostępu to skróty klawiaturowe, które zwiększają użyteczność i dostępność aplikacji Windows, zapewniając intuicyjny sposób szybkiego nawigowania i interakcji z widocznym interfejsem użytkownika aplikacji za pomocą klawiatury zamiast urządzenia wskazującego (np. dotykowego interfejsu lub myszy).
Aplikacja systemu Windows zapewnia wbudowaną obsługę kontrolek platformy dla dostępu opartego na klawiaturze i sprzężenia zwrotnego interfejsu użytkownika za pośrednictwem wizualnych wskazówek nazywanych podpowiedziami klawiszy.
Uwaga / Notatka
Klawiatura jest niezbędna dla użytkowników z pewnymi niepełnosprawnościami (zobacz ułatwienia dostępu klawiatury), a także jest ważnym narzędziem dla użytkowników, którzy wolą go jako bardziej wydajny sposób interakcji z aplikacją.
Aby uzyskać szczegółowe informacje na temat wywoływania typowych akcji w aplikacji Windows za pomocą skrótów klawiaturowych, zobacz temat Klawisze akceleratora.
Aby utworzyć własne niestandardowe skróty klawiaturowe, zobacz sekcję Zdarzenia klawiatury.
Przegląd
Klucz dostępu jest kombinacją Alt i co najmniej jednego klucza alfanumerycznego — czasami nazywanego mnemonic — zwykle naciskaną sekwencyjnie, a nie jednocześnie.
Podpowiedzi klawiszy są wyświetlane obok kontrolek, które obsługują klawisze dostępu, gdy użytkownik naciska klawisz Alt. Każda etykietka klucza zawiera klucze alfanumeryczne, które aktywują skojarzona kontrolkę.
Uwaga / Notatka
Skróty klawiaturowe są automatycznie obsługiwane dla klawiszy dostępu z pojedynczym znakiem alfanumerycznym. Na przykład jednoczesne naciśnięcie Alt+F w programie Word otwiera menu Plik bez wyświetlania podpowiedzi klawiszy.
Wciśnięcie klawisza Alt inicjuje funkcję skrótu klawiaturowego i wyświetla wszystkie obecnie dostępne kombinacje w formie podpowiedzi klawiszowych. Kolejne naciśnięcia klawiszy są obsługiwane przez strukturę klawiszy dostępu, która odrzuca nieprawidłowe klawisze do momentu naciśnięcia prawidłowego klucza dostępu lub naciśnięcia Enter, Esc, Tab lub strzałki w celu dezaktywowania klawiszy dostępu i zwrócenia obsługi naciśnięć przez aplikację.
Aplikacje pakietu Microsoft Office zapewniają obszerną obsługę kluczy dostępu. Na poniższej ilustracji przedstawiono kartę Narzędzia główne programu Word z aktywowanymi kluczami dostępu (zwróć uwagę na obsługę liczb i wielu naciśnięć).
znaczki KeyTip dla kluczy dostępu w programie Microsoft Word
Aby dodać klucz dostępu do kontrolki, użyj właściwości AccessKey. Wartość tej właściwości określa kombinację klawiszy dostępu, skróty (jeśli jest to pojedynczy znak alfanumeryczny) i podpowiedź dotyczącą klawisza.
<Button Content="Accept" AccessKey="A" Click="AcceptButtonClick" />
Kiedy należy używać kluczy dostępu
Zalecamy określenie kluczy dostępu wszędzie tam, gdzie jest to odpowiednie w interfejsie użytkownika, i obsługę kluczy dostępu we wszystkich kontrolkach niestandardowych.
Klucze dostępu sprawiają, że aplikacja jest bardziej dostępna dla użytkowników niepełnosprawnych ruchowo, w tym tych użytkowników, którzy mogą naciskać tylko jeden naraz lub mieć trudności z użyciem myszy.
Dobrze zaprojektowany interfejs użytkownika klawiatury jest ważnym aspektem ułatwień dostępu do oprogramowania. Umożliwia użytkownikom upośledzenie wzroku lub osobom niepełnosprawnym ruchowym nawigowanie po aplikacji i interakcję z jej funkcjami. Tacy użytkownicy mogą nie być w stanie obsługiwać myszy i zamiast tego polegać na różnych technologiach pomocniczych, takich jak narzędzia do ulepszania klawiatury, klawiatury ekranowe, powiększacze ekranu, czytniki ekranu i narzędzia wprowadzania głosu. Dla tych użytkowników kluczowe jest zapewnienie kompleksowego pokrycia poleceń.
Klucze dostępu sprawiają, że aplikacja będzie bardziej użyteczna dla użytkowników, którzy wolą korzystać z klawiatury.
Doświadczeni użytkownicy często mają silne preferencje dotyczące używania klawiatury, ponieważ polecenia oparte na klawiaturze można wprowadzać szybciej i nie wymagają od nich usunięcia rąk z klawiatury. Dla tych użytkowników kluczowe znaczenie mają wydajność i spójność; kompleksowość jest ważna tylko w przypadku najczęściej używanych poleceń.
Ustawianie zakresu klucza dostępu
Jeśli na ekranie jest dostępnych wiele elementów obsługujących klawisze dostępu, zalecamy ograniczenie zasięgu klawiszy dostępu w celu zmniejszenia obciążenia poznawczego. Minimalizuje to liczbę kluczy dostępu na ekranie, co ułatwia ich lokalizowanie i poprawia wydajność i produktywność.
Na przykład, program Microsoft Word oferuje dwa obszary kluczy dostępu: główny obszar dla kart Wstążki i dodatkowy obszar dla poleceń na wybranej karcie.
Na poniższych obrazach przedstawiono dwa zakresy kluczy dostępu w programie Word. Pierwszy zestaw pokazuje podstawowe skróty klawiszowe, które pozwalają użytkownikowi wybrać kartę i inne główne polecenia, a drugi zestaw pokazuje pomocnicze skróty klawiszowe dla karty Start.
w programie Microsoft Word
klawisze skrótu w programie Microsoft Word
Klucze dostępu można duplikować dla elementów w różnych zakresach. W poprzednim przykładzie "2" jest kluczem dostępu do cofania w zakresie podstawowym, a także do Kursywy w zakresie pomocniczym.
W tym miejscu pokazano, jak zdefiniować zakres klucza dostępu.
<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>
Podstawowe klucze dostępu
Zakres podstawowy paska poleceń i obsługiwane klucze dostępu
dodatkowy zakres CommandBar i obsługiwane klawisze dostępu
Windows 10 Creators Update i starsze
Przed aktualizacją Windows 10 Fall Creators Update niektóre kontrolki, takie jak CommandBar, nie obsługiwały wbudowanych zakresów kluczy dostępu.
W poniższym przykładzie pokazano, jak obsługiwać pomocnicze polecenia CommandBar z kluczami dostępu, które są dostępne po wywołaniu polecenia nadrzędnego (podobnie jak wstążka w programie 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;
}
}
Unikaj kolizji kluczy dostępu
Kolizje klucza dostępu występują, gdy co najmniej dwa elementy w tym samym zakresie mają zduplikowane klucze dostępu lub zaczynają się od tych samych znaków alfanumerycznych.
System rozwiązuje zduplikowane klucze dostępu, przetwarzając klucz dostępu pierwszego elementu dodanego do drzewa wizualizacji, ignorując wszystkie inne.
Gdy wiele kluczy dostępu zaczyna się od tego samego znaku (na przykład "A", "A1" i "AB"), system przetwarza klucz dostępu z jednym znakiem i ignoruje wszystkie inne.
Unikaj kolizji, używając unikatowych kluczy dostępu lub ograniczając polecenia.
Wybieranie kluczy dostępu
Podczas wybierania kluczy dostępu należy wziąć pod uwagę następujące kwestie:
- Użyj pojedynczego znaku, aby zminimalizować naciśnięcia klawiszy i obsługiwać klawisze skrótu (Alt+AccessKey) domyślnie.
- Unikaj używania więcej niż dwóch znaków
- Unikaj kolizji kluczy dostępu
- Unikaj znaków, które są trudne do odróżnienia od innych znaków, takich jak litera "I" i cyfra "1" lub litera "O" i cyfra "0"
- Używaj dobrze znanych precedensów z innych popularnych aplikacji, takich jak Word ("F" dla "Plik", "H" dla "Strona główna", itd.)
- Użyj pierwszego znaku nazwy polecenia lub znaku z bliskim skojarzeniem do polecenia, które pomaga przypomnieć
- Jeśli pierwsza litera jest już przypisana, użyj litery, która jest jak najbardziej zbliżona do pierwszej litery nazwy polecenia ("N" dla Wstaw)
- Użyj charakterystycznej spółgłoski z nazwy polecenia ("W" dla Widoku)
- Użyj samogłoski z nazwy polecenia.
Lokalizowanie kluczy dostępu
Jeśli aplikacja będzie lokalizowana w wielu językach, należy również rozważyć zlokalizowanie kluczy dostępu. Na przykład „H” dla „Strona główna” w en-US i „I” dla „Inicio” w es-ES.
Użyj rozszerzenia x:Uid w znaczniku, aby zastosować zlokalizowane zasoby, jak pokazano poniżej:
<Button Content="Home" AccessKey="H" x:Uid="HomeButton" />
Zasoby dla każdego języka są dodawane do odpowiednich folderów Stringów w projekcie:
foldery z ciągami zasobów w języku angielskim i hiszpańskim
Zlokalizowane klucze dostępu są określone w pliku resources.resw zasobów projektów.
Określ właściwość AccessKey określoną w pliku resources.resw
Aby uzyskać więcej informacji, zobacz Tłumaczenie zasobów interfejsu użytkownika
Pozycjonowanie wskazówek klawiszy
Podpowiedzi klawiszowe są wyświetlane jako pływające etykiety względem odpowiedniego elementu interfejsu użytkownika, z uwzględnieniem obecności innych elementów interfejsu użytkownika, pozostałych podpowiedzi klawiszowych i krawędzi ekranu.
Zazwyczaj domyślna lokalizacja wskazówki klawisza jest wystarczająca i zapewnia wbudowaną obsługę adaptacyjnego interfejsu użytkownika.
**
Przykład automatycznego umieszczania podpowiedzi klawisza
Jednak jeśli potrzebujesz większej kontroli nad pozycjonowaniem klawiszowych wskazówek, zalecamy wykonanie następujących czynności:
Oczywista zasada kojarzenia: użytkownik może łatwo skojarzyć kontrolkę z kluczem klawiszowym.
a. Etykieta klucza powinna być blisko elementu, który ma przypisany klucz dostępu (właściciel).
b. Wskaźnik dostępu powinien unikać zakrywania włączonych elementów posiadających klawisze dostępu.
c. Jeśli nie można umieścić podpowiedzi klawiszowej blisko jej właściciela, powinna nakładać się na właściciela.Odnajdywanie: Użytkownik może szybko odnaleźć element sterujący za pomocą podpowiedzi klawiszowej.
a. Podpowiedź klawiszowa nigdy nie nachodzi na inne podpowiedzi klawiszowe.
Łatwe skanowanie: Użytkownik może łatwo przeglądać wskazówki klawiszy.
a. podpowiedzi klawiszowe powinny być wyrównane ze sobą i z elementem interfejsu użytkownika. b. etykietki kluczy powinny być pogrupowane jak najwięcej.
Położenie względne
Użyj właściwości KeyTipPlacementMode, aby dostosować umieszczanie etykietki klucza dla poszczególnych elementów lub poszczególnych grup.
Tryby umieszczania to: Górny, Dolny, Prawy, Lewy, Ukryty, Środkowy i Automatyczny.
tryby umieszczania wskazówek klawiszy
Środkowa linia kontrolki służy do obliczania wyrównania pionowego i poziomego oznaczenia klawisza.
W poniższym przykładzie pokazano, jak ustawić położenie podpowiedzi klawiszowych grupy elementów sterujących przy użyciu właściwości KeyTipPlacementMode kontenera StackPanel.
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" KeyTipPlacementMode="Top">
<Button Content="File" AccessKey="F" />
<Button Content="Home" AccessKey="H" />
<Button Content="Insert" AccessKey="N" />
</StackPanel>
Przesunięcia
Użyj właściwości KeyTipHorizontalOffset i KeyTipVerticalOffset elementu, aby uzyskać jeszcze bardziej szczegółową kontrolę lokalizacji podpowiedzi klawisza.
Uwaga / Notatka
Nie można ustawić przesunięcia, gdy dla opcji KeyTipPlacementMode ustawiono wartość Auto.
Właściwość KeyTipHorizontalOffset wskazuje, jak daleko przenieść etykietkę klucza w lewo lub w prawo.
Ustaw przesunięcia klawiszy dostępu w pionie i poziomie dla przycisku
<Button
Content="File"
AccessKey="F"
KeyTipPlacementMode="Bottom"
KeyTipHorizontalOffset="20"
KeyTipVerticalOffset="-8" />
Wyrównanie krawędzi ekranu {#screen-edge-alignment .ListParagraph}
Lokalizacja keytipu jest automatycznie dostosowywana w oparciu o krawędź ekranu, aby była w pełni widoczna. W takim przypadku odległość między elementem sterującym a punktem wskazania klucza może się różnić od wartości określonych dla przesunięć poziomych i pionowych.
podpowiedzi klawisza są automatycznie ustawiane na podstawie krawędzi ekranu
Styl skrótu klawiszowego
Zalecamy korzystanie z wbudowanego wsparcia dla skrótów klawiaturowych w motywach platformy, w tym z wysokiego kontrastu.
Jeśli musisz określić własne style wskazówek klawiszy, użyj zasobów aplikacji, takich jak KeyTipFontSize (rozmiar czcionki), KeyTipFontFamily (rodzina czcionek), KeyTipBackground (tło), KeyTipForeground (kolor czcionki), KeyTipPadding (margines wewnętrzny), KeyTipBorderBrush (kolor obramowania) i KeyTipBorderThemeThickness (grubość obramowania).
opcje dostosowywania kluczowej etykiety
W tym przykładzie pokazano, jak zmienić te zasoby aplikacji:
<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>
Klawisze dostępu i Narrator
Struktura XAML uwidacznia właściwości automatyzacji, które umożliwiają klientom automatyzacji interfejsu użytkownika odnajdywanie informacji o elementach w interfejsie użytkownika.
Jeśli określisz właściwość AccessKey w kontrolce UIElement lub TextElement, możesz użyć właściwości AutomationProperties.AccessKey , aby uzyskać tę wartość. Narzędzia ułatwień dostępu, takie jak Narrator, odczytują wartość tej właściwości za każdym razem, gdy element jest skupiony.
Powiązane artykuły
Próbki