Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přístupové klávesy jsou klávesové zkratky, které zlepšují použitelnost a přístupnost aplikací pro Windows tím, že uživatelům poskytují intuitivní způsob, jak rychle procházet a pracovat s viditelným uživatelským rozhraním aplikace pomocí klávesnice místo ukazatele (například dotykového ovládání nebo myši).
Aplikace pro Windows poskytuje integrovanou podporu napříč ovládacími prvky platformy pro přístupové klávesy založené na klávesnici i související zpětnou vazbu uživatelského rozhraní prostřednictvím vizuálních upozornění označovaných jako popisy kláves.
Poznámka:
Klávesnice je nezbytná pro uživatele s určitým postižením (viz přístupnost pomocí klávesnice) a je také důležitým nástrojem pro uživatele, kteří ho dávají přednost jako efektivnější způsob interakce s aplikací.
Podrobnosti o vyvolání běžných akcí v aplikaci pro Windows pomocí klávesových zkratek naleznete v tématu Urychlovače kláves.
Pokud chcete vytvořit vlastní klávesové zkratky, přečtěte si téma Události klávesnice .
Přehled
Přístupová klávesa je kombinace kláves Alt a jedné nebo více alfanumerických kláves – někdy označovaných jako mnemonic – obvykle stisknuté postupně, nikoli současně.
Klávesové zkratky jsou odznáčky zobrazené vedle ovládacích prvků, které podporují přístupové klávesy, když uživatel stiskne klávesu Alt. Každý popisek obsahuje alfanumerické klávesy, které aktivují přidružený ovládací prvek.
Poznámka:
Klávesové zkratky jsou automaticky podporovány pro přístupové klávesy s jedním alfanumerickým znakem. Například současné stisknutí kombinace kláves Alt+F ve Wordu otevře nabídku Soubor bez zobrazení klávesových zkratek.
Stisknutím klávesy Alt se inicializuje funkce přístupové klávesy a zobrazí se všechny aktuálně dostupné kombinace kláves v popisech kláves. Následné stisknutí kláves se zpracovává systémem přístupových kláves, který odmítá neplatné klávesy, dokud se nestiskne platná přístupová klávesa, nebo klávesy Enter, Esc, Tab nebo šipky se stisknou, aby se deaktivovaly přístupové klávesy a zpracování stisknutí se vrátilo do aplikace.
Aplikace Microsoft Office poskytují rozsáhlou podporu přístupových klíčů. Na následujícím obrázku je karta Domů Wordu s aktivovanými přístupovými klávesami (všimněte si podpory pro čísla i více stisknutí kláves).
KeyTip odznaky pro přístupové klávesy v Microsoft Word
Chcete-li přidat přístupový klíč do ovládacího prvku, použijte AccessKey vlastnost. Hodnota této vlastnosti určuje pořadí přístupových klíčů, klávesovou zkratku (pokud se jedná o jediný alfanumerický znak) a tip pro klávesu.
<Button Content="Accept" AccessKey="A" Click="AcceptButtonClick" />
Kdy použít přístupové klíče
Doporučujeme zadat přístupové klíče všude, kde je to v uživatelském rozhraní vhodné, a podporovat přístupové klíče ve všech vlastních ovládacích prvcích.
Přístupové klávesy usnadňují přístup k aplikaci uživatelům s motorovým postižením, včetně uživatelů, kteří můžou stisknout jenom jednu klávesu najednou nebo mají potíže s používáním myši.
Dobře navržené uživatelské rozhraní klávesnice je důležitým aspektem přístupnosti softwaru. Umožňuje uživatelům s vadami zraku nebo s určitým motorickým postižením procházet aplikaci a pracovat s jejími funkcemi. Tito uživatelé možná nebudou moct pracovat s myší a místo toho spoléhají na různé technologie usnadnění, jako jsou nástroje pro vylepšení klávesnice, klávesnice na obrazovce, zvětšovače obrazovky, čtečky obrazovky a nástroje pro hlasový vstup. Pro tyto uživatele je zásadní komplexní pokrytí příkazů.
Přístupové klávesy usnadňují používání aplikace pro výkonné uživatele, kteří dávají přednost interakci pomocí klávesnice.
Zkušení uživatelé často mají silnou předvolbu pro používání klávesnice, protože příkazy založené na klávesnici je možné zadat rychleji a nevyžadují, aby si odebrali ruce z klávesnice. Pro tyto uživatele je zásadní efektivita a konzistence; komplexnost je důležitá jenom pro nejčastěji používané příkazy.
Nastavení oboru přístupového klíče
Pokud na obrazovce existuje mnoho prvků, které podporují přístupové klíče, doporučujeme určit rozsah přístupových klíčů, aby se snížilo kognitivní zatížení. Tím se minimalizuje počet přístupových kláves na obrazovce, což usnadňuje jejich vyhledání a zvyšuje efektivitu a produktivitu.
Například Microsoft Word poskytuje dva rozsahy přístupových klíčů: primární rámec pro záložky pásu karet a sekundární rámec pro příkazy na vybrané záložce.
Následující obrázky ukazují dva obory přístupových klíčů ve Wordu. První zobrazuje primární přístupové klíče, které uživateli umožňují vybrat kartu a další příkazy nejvyšší úrovně, a druhý zobrazuje sekundární přístupové klávesy pro kartu Domů.
Primární přístupové klíče v Microsoft Wordu
Sekundární přístupové klíče v Microsoft Wordu
Přístupové klíče lze duplikovat pro prvky v různých oborech. V předchozím příkladu je "2" přístupovým klíčem pro vrácení zpět v primární oblasti a také pro kurzívu v sekundární oblasti.
Tady si ukážeme, jak definovat obor přístupového klíče.
<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ární obor CommandBar a podporované přístupové klíče
Sekundární obor CommandBar a podporované přístupové klíče
Windows 10 Creators Update a starší
Před Windows 10 Fall Creators Update některé ovládací prvky, jako je například CommandBar, nepodporují integrované obory přístupových klíčů.
Následující příklad ukazuje, jak podporovat sekundární příkazy CommandBar s přístupovými klávesami, které jsou dostupné po aktivaci nadřazeného příkazu, podobně jako je to na panelu nástrojů ve Wordu.
<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;
}
}
Vyhněte se kolizím přístupových klíčů
Ke kolizím přístupových klíčů dochází v případě, že dva nebo více prvků ve stejném oboru mají duplicitní přístupové klíče nebo začínají stejnými alfanumerickými znaky.
Systém vyřeší duplicitní přístupové klíče tím, že zpracuje přístupový klíč prvního prvku přidaného do vizuálního stromu a ignoruje všechny ostatní.
Když začíná více přístupových klíčů se stejným znakem (například "A", "A1" a "AB"), systém zpracuje přístupový klíč jednoho znaku a ignoruje všechny ostatní.
Vyhněte se kolizím pomocí jedinečných přístupových klíčů nebo omezení příkazů podle rozsahu.
Volba přístupových klíčů
Při výběru přístupových klíčů zvažte následující skutečnosti:
- Použití jednoho znaku k minimalizaci stisknutí kláves a podpory kláves akcelerátorů ve výchozím nastavení (Alt+AccessKey)
- Nepoužívejte více než dva znaky.
- Vyhněte se kolizím přístupových klíčů
- Vyhněte se znakům, které se obtížně odlišují od jiných znaků, jako je písmeno "I" a číslo "1" nebo písmeno "O" a číslo "0".
- Používejte známé předchůdce z jiných oblíbených aplikací, jako je Word ("F" pro "Soubor", "H" pro "Domů" atd.)
- Použijte první znak názvu příkazu nebo znak s blízkým přidružením k příkazu, který pomáhá s připomenutím.
- Pokud je první písmeno již přiřazené, použijte písmeno, které je co nejblíže prvnímu písmenu názvu příkazu ("N" pro vložení).
- Použijte výraznou souhlásku z názvu příkazu ("W" pro zobrazení).
- Použijte samohlásku z názvu příkazu.
Lokalizace přístupových klíčů
Pokud se vaše aplikace bude lokalizovat ve více jazycích, měli byste zvážit také lokalizaci přístupových klíčů. Například pro "H" pro "Domov" v en-US a "I" pro "Inicio" v es-ES.
K použití lokalizovaných prostředků použijte rozšíření x:Uid v kódu, jak je znázorněno zde:
<Button Content="Home" AccessKey="H" x:Uid="HomeButton" />
Prostředky pro každý jazyk se přidají do odpovídajících složek String v projektu:
Složky souborů s řetězci zdrojů v angličtině a španělštině
Lokalizované přístupové klíče jsou zadané v souboru resources.resw vašich projektů:
Zadejte vlastnost AccessKey zadanou v souboru resources.resw.
Další informace najdete v tématu Překlad prostředků uživatelského rozhraní.
Umístění tipů kláves
Klíčové indikátory se zobrazují jako plovoucí odznáčky vztahující se k odpovídajícím prvkům uživatelského rozhraní s ohledem na přítomnost dalších prvků uživatelského rozhraní, dalších klíčových indikátorů a okrajů obrazovky.
Výchozí umístění klávesové zkratky obvykle stačí a poskytuje integrovanou podporu adaptivního uživatelského rozhraní.
Příklad automatického umístění klávesové nápovědy
Pokud ale potřebujete větší kontrolu nad umístěním klávesových zkratek, doporučujeme následující:
Zjevný princip přidružení: Uživatel může ovládací prvek snadno přidružit ke klíči.
a. Popisek klávesy by měl být blízko prvku, který má přístupový klíč (vlastník).
b) Klíčová nápověda by se měla vyhnout zakrývání prvků které mají přístupové klávesy.
c. Pokud se popisek nedá umístit blízko jeho vlastníka, měl by překrývat vlastníka.Zjistitelnost: Uživatel může rychle zjistit ovládací prvek pomocí klávesové zkratky.
a. Popis klávesy se nikdy nepřekrývá jinými popisy.
Snadné skenování: Uživatel může snadno přeskočit popisy kláves.
a. klávesové zkratky by měly být zarovnané mezi sebou a s prvkem uživatelského rozhraní. b) klávesové zkratky by měly být co nejvíce seskupeny .
Relativní pozice
Vlastnost KeyTipPlacementMode slouží k přizpůsobení umístění klávesové zkratky pro jednotlivé prvky nebo skupiny.
Režimy umístění jsou: Nahoře, Dole, Vpravo, Vlevo, Skrytý, Uprostřed a Automaticky.
režimy umístění KeyTip
Středová čára ovládacího prvku slouží k výpočtu vertikálního a horizontálního zarovnání náznaku.
Následující příklad ukazuje, jak nastavit umístění klíčové zkratky pro skupinu ovládacích prvků pomocí vlastnosti KeyTipPlacementMode kontejneru StackPanel.
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" KeyTipPlacementMode="Top">
<Button Content="File" AccessKey="F" />
<Button Content="Home" AccessKey="H" />
<Button Content="Insert" AccessKey="N" />
</StackPanel>
Odnože
Použijte vlastnosti KeyTipHorizontalOffset a KeyTipVerticalOffset u elementu pro ještě přesnější ovládání umístění popisu klíče.
Poznámka:
Posuny nelze nastavit, pokud je vlastnost KeyTipPlacementMode nastavená na hodnotu Auto.
Vlastnost KeyTipHorizontalOffset označuje, jak daleko přesunout KeyTip doleva nebo doprava.
Nastavení svislých a vodorovných posunů klávesových zkratek pro tlačítko
<Button
Content="File"
AccessKey="F"
KeyTipPlacementMode="Bottom"
KeyTipHorizontalOffset="20"
KeyTipVerticalOffset="-8" />
Zarovnání okraje obrazovky {#screen-edge-alignment .ListParagraph}
Umístění klávesové zkratky se automaticky upraví na základě okraje obrazovky, aby se zajistilo, že je popisek zcela viditelný. Pokud k tomu dojde, vzdálenost mezi kontrolem a klíčovým bodem zarovnání se může lišit od hodnot zadaných pro horizontální a vertikální posuny.
klávesové zkratky se automaticky umístí na základě okraje obrazovky.
Styl klávesové zkratky
Pro motivy platforem, včetně vysokého kontrastu, doporučujeme použít integrovanou podporu klávesových zkratek.
Pokud potřebujete zadat vlastní styly klávesových tipů, použijte prostředky aplikace, jako jsou KeyTipFontSize (velikost písma), KeyTipFontFamily (rodina písem), KeyTipBackground (pozadí klávesových tipů), KeyTipForeground (popředí klávesových tipů), KeyTipPadding (odsazení), KeyTipBorderBrush (barva ohraničení) a KeyTipBorderThemeThickness (tloušťka ohraničení).
Možnosti přizpůsobení keytipů
Tento příklad ukazuje, jak změnit tyto prostředky aplikace:
<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>
Přístupové klávesy a Narrator
Architektura XAML zveřejňuje vlastnosti automatizace, které umožňují klientům automatizace uživatelského rozhraní zjišťovat informace o prvcích v uživatelském rozhraní.
Pokud zadáte vlastnost AccessKey na ovládacím prvku UIElement nebo TextElement, můžete tuto hodnotu získat pomocí vlastnosti AutomationProperties.AccessKey. Klienti přístupnosti, jako je Předčítání, čtou hodnotu této vlastnosti pokaždé, když se prvek dostane do centra pozornosti.
Související články
Ukázky
Windows developer