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.
Toto téma představuje koncepty a technologie související s vytvářením přístupných Windows aplikací.
Přístupné Windows aplikace podporují nejen osoby s postižením (dočasné i trvalé), ale také osoby s osobními předvolbami, specifické pracovní styly nebo situační a environmentální omezení (například sdílené pracovní prostory, nízká šířka pásma, jasné sluneční světlo, hlučné nebo tiché prostředí, při vaření atd.).
Pokyny jsou napsané pro vývojové týmy, které považují přístupnost za základní požadavek na kvalitu a používají automatizované kontroly přístupnosti jako součást běžných technických pracovních postupů. V těchto tématech můžete definovat očekávání přístupnosti v rané fázi, průběžně je ověřovat a bránit regresím při vývoji funkcí.
Mnoho postižení, včetně zhoršené mobility, zraku, vnímání barev, sluchu, řeči, poznání a gramotnosti, lze řešit poskytnutím následujících možností:
- Podpora interakcí s klávesnicí a čtečkami obrazovky
- Podpora přizpůsobení uživatelů, jako je písmo, nastavení lupy (zvětšení), barva a nastavení vysokého kontrastu
- Alternativní nebo doplňkové uživatelské rozhraní.
Ovládací prvky XAML poskytují integrovanou podporu přístupu pomocí klávesnice a technologie usnadnění, jako jsou čtečky obrazovky. Tato integrovaná podpora umožňuje základní úroveň přístupnosti, kterou můžete přizpůsobit různými vlastnostmi. Pokud vytváříte vlastní komponenty a ovládací prvky XAML, můžete k těmto ovládacím prvkům také přidat podobnou podporu pomocí automatizačního partnera (další informace najdete v tématu Vlastní automatizační partneři).
Kromě toho funkce datové vazby, stylu a šablony umožňují dynamicky podporovat alternativní uživatelské rozhraní a změny nastavení zobrazení.
Automatizace uživatelského rozhraní
Podpora přístupnosti pochází především z integrace architektury Microsoft model UI Automation. Tato podpora je poskytována prostřednictvím základních tříd, integrovaného chování implementací tříd pro typy ovládacích prvků, a také rozhraní API poskytovatele model UI Automation. Každá třída ovládacích prvků používá model UI Automation koncepty partnerských uzlů automatizace a vzorů automatizace, které hlásí roli a obsah ovládacího prvku pro model UI Automation klienty. Aplikace je považována za okno nejvyšší úrovně model UI Automation a prostřednictvím model UI Automation architektury je veškerý obsah relevantní pro přístupnost v daném okně aplikace dostupný pro klienta model UI Automation. Další informace o model UI Automation najdete v tématu model UI Automation Přehled.
Asistenční technologie
Mnoho potřeb přístupnosti splňuje produkty technologie usnadnění nainstalované uživatelem nebo nástroji a nastaveními poskytovanými operačním systémem. To zahrnuje čtečky obrazovky, lupy obrazovky a nastavení vysokého kontrastu.
Produkty asistenční technologie zahrnují širokou škálu softwaru a hardwaru. Tyto produkty pracují se standardním rozhraním klávesnice a architekturami přístupnosti, které hlásí informace o obsahu a struktuře uživatelského rozhraní pro čtečky obrazovky a další technologie usnadnění. Mezi příklady produktů technologie usnadnění patří:
- Klávesnice na obrazovce (OSK) nebo softwarová klávesnice, která umožňuje uživatelům místo hardwarové klávesnice psát text pomocí ukazatele.
- Software pro rozpoznávání hlasu, který převádí mluvená slova na napsaný text.
- Čtečky obrazovky, které převádějí text na mluvená slova nebo formáty, jako je Braillovo písmo.
- Čtečka obrazovky Narrator, integrovaná do Windows, má dotykový režim, který umožňuje provádět úkoly čtení obrazovky pomocí dotykových gest.
- Programy nebo nastavení, která upravují zobrazení, například motivy s vysokým kontrastem, tečky na palec (dpi) nebo nástroj Lupa.
Aplikace, které mají dobrou podporu klávesnice a čtečky obrazovky, obvykle dobře fungují s různými produkty technologie usnadnění. V mnoha případech aplikace Windows s těmito produkty pracuje bez dalších úprav informací nebo struktury. Můžete ale chtít upravit některá nastavení pro optimální prostředí přístupnosti nebo implementovat další podporu.
Podívejte se na testování přístupnosti , kde se dozvíte, jak otestovat základní scénáře přístupnosti pomocí technologií usnadnění.
Podpora čtečky obrazovky a základní informace o přístupnosti
Čtečky obrazovky zajišťují přístup k textu v aplikaci tím, že jej převedou do jiného formátu, například mluveného jazyka nebo výstupu v Braillově písmu. Přesné chování čtečky obrazovky závisí na softwaru, jak ho uživatel nakonfiguroval.
Například některé čtečky obrazovky čtou celé uživatelské rozhraní, když uživatel spustí nebo přepne do aplikace, což uživateli umožní získat veškerý informační obsah před pokusem o navigaci. Některé čtečky obrazovky také čtou text přidružený k jednotlivým ovládacím prvkům, když při procházení pomocí tabulátoru získá fokus. Uživatelé se tak můžou orientovat při procházení mezi vstupními ovládacími prvky aplikace. Narrator je příkladem čtečky obrazovky, která podporuje obě dvě chování.
Nejdůležitější informace, které čtečka obrazovky nebo jakákoli jiná technologie usnadnění potřebuje, aby uživatelé lépe pochopili nebo mohli procházet aplikaci, je přístupný název pro každý prvek aplikace. V mnoha případech již ovládací prvek nebo prvek má přístupný název odvozený z jiných hodnot vlastností, například element, který podporuje a zobrazuje vnitřní text. U jiných prvků může být nutné zadat přístupný název prostřednictvím struktury elementu. A někdy potřebujete explicitně zadat přístupný název. Další podrobnosti o tom, jak tyto odvozené hodnoty fungují v běžných prvech uživatelského rozhraní, a další informace o přístupných názvech obecně naleznete v tématu Zveřejnění základních informací o přístupnosti.
K dispozici je několik dalších vlastností automatizace (včetně vlastností klávesnice popsaných v další části). Ne všechny čtečky obrazovky ale podporují všechny vlastnosti automatizace, takže byste měli otestovat všechny vhodné vlastnosti automatizace s celou řadou čteček obrazovky.
Podpora klávesnice
Vytváření přístupnosti klávesnice (tradičního, upraveného nebo emulačního hardwaru klávesnice) do vaší aplikace pomáhá uživatelům, kteří jsou nevidomí, slabozrakí nebo mají problémy s ovládáním motoru, procházet a používat plnou funkčnost vaší aplikace. Umožňuje také uživatelům bez postižení zvolit klávesnici pro navigaci kvůli předvolbě nebo efektivitě.
Základní řídicí model XAML poskytuje integrovanou podporu klávesnice, včetně navigace na kartách, zadávání textu a podpory specifické pro ovládací prvky. Prvky, které slouží jako kontejnery rozložení (například panely), používají pořadí rozložení k vytvoření výchozího pořadí ovládacích prvků a poskytují přístupnou reprezentaci uživatelského rozhraní. Ovládací prvky ListView a GridView poskytují integrovanou navigaci pomocí kláves se šipkami. Ovládací prvky tlačítek zpracovávají mezerník nebo klávesy Enter pro aktivaci tlačítka.
Další informace o všech aspektech podpory klávesnice, včetně pořadí karet a aktivace nebo navigace založené na klávesách, naleznete v Přístupnost klávesnice.
Multimédia a titulky
Zvukové vizuální médium se obvykle zobrazuje prostřednictvím objektu MediaPlayerElement . Pro účely přístupnosti poskytněte ovládací prvky, které uživatelům umožní přehrávat, pozastavit a zastavovat multimédia, a také titulky nebo alternativní zvukové stopy.
Přístupný text
Při návrhu a implementaci textu v aplikaci se zaměřte na tyto tři základní požadavky na přístupnost.
- Technologie usnadnění musí být schopny určit, jestli se má text číst během navigace v posloupnosti karet nebo jako součást celkového obsahu dokumentu. Toto chování můžete ovlivnit tak, že zvolíte správný textový prvek a odpovídajícím způsobem nastavíte jeho vlastnosti. Vzhledem k tomu, že každý textový prvek se mapuje na konkrétní účel a často na odpovídající roli automatizace uživatelského rozhraní, může použití nesprávného prvku odhalit nesprávnou roli a vytvořit matoucí prostředí pro uživatele asistivní technologie.
- Mnoho uživatelů má slabozraké nebo barevné nedostatky a nemůže spolehlivě číst text, pokud není dostatečný kontrast mezi textem a pozadím. Tento dopad může být během návrhu snadno podceňován. Následující zavedené pokyny k kontrastu pomáhají těmto uživatelům zabránit nečitelnému textu. Další informace najdete v tématu Požadavky na text s podporou přístupnosti.
- Text, který je příliš malý, je pro mnoho uživatelů obtížně čitelný. Začněte rozumnou výchozí velikostí textu a ujistěte se, že vaše aplikace funguje správně se systémovým textem a škálováním zobrazení. To je zvlášť důležité v uživatelských rozhraních, které obsahují velké množství textu nebo hustých rozložení vizuálů.
Podpora motivů s vysokým kontrastem
Ovládací prvky XAML získávají svůj vizuální vzhled ze slovníků prostředků motivů, včetně těch s vysokým kontrastem. Když uživatel povolí režim vysokého kontrastu, ovládací prvky se automaticky přeloží na příslušné prostředky s vysokým kontrastem. Chcete-li toto chování zachovat, vyhněte se stylovým přístupům, které blokují vyhledávání prostředků motivu, například pevně zakódované barvy nebo explicitní styly, které brání tomu, aby hodnoty motivu s vysokým kontrastem přepsaly vaše vlastní nastavení. Další informace najdete v tématu Motivy s vysokým kontrastem.
Návrh pro alternativní uživatelské rozhraní
V mnoha případech můžete efektivněji sdělit podstatné informace pomocí více nápověd. Například zkombinujte ikony s barvou, abyste podpořili uživatele s vadami barevného vidění, a spárujte vizuální upozornění se zvukem, abyste podpořili uživatele, kteří jsou neslyšící nebo nedoslýchaví.
V případě potřeby poskytněte alternativní přístupné uživatelské rozhraní, které odebere nepodstatné vizuály a animace a zjednoduší procesy interakce. Následující příklad kódu ukazuje, jak přepnout jeden UserControl pro jiný na základě nastavení uživatele.
<StackPanel x:Name="LayoutRoot" Background="White">
<CheckBox x:Name="ShowAccessibleUICheckBox" Click="ShowAccessibleUICheckBox_Click">
Show Accessible UI
</CheckBox>
<ContentControl x:Name="ContentBlock">
<local:ContentPage/>
</ContentControl>
</StackPanel>
private void ShowAccessibleUICheckBox_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox checkBox)
{
ContentBlock.Content = checkBox.IsChecked == true
? new AccessibleContentPage()
: new ContentPage();
}
}
Podpora asistenčních technologií ve vlastních ovládacích prvcích
Při vytváření vlastního ovládacího prvku implementujte nebo rozšiřte jednu nebo více podtříd AutomationPeer , aby byla zajištěna podpora přístupnosti. V některých případech může opětovné použití stejné třídy kolegů jako základního ovládacího prvku poskytnout přijatelnou základní automatizační funkci pro váš odvozený ovládací prvek. Měli byste to ale ověřit prostřednictvím testování a ve většině případů byste měli implementovat vyhrazený peer, aby mohl hlásit správný název třídy a chování vlastního ovládacího prvku. Pokyny k implementaci najdete v tématu Vlastní automatizační partneři.
Podpora podpůrné technologie v aplikacích, které podporují interoperabilitu mezi XAML a Microsoft DirectX
Ve výchozím nastavení není obsah Microsoft DirectX hostovaný v uživatelském rozhraní XAML (pomocí SwapChainPanel nebo SurfaceImageSource) přístupný. Ukázka spolupráce XAML SwapChainPanel DirectX (archivovaná vzorová ukázka) ukazuje, jak zpřístupnit obsah hostovaný prostřednictvím model UI Automation vytvořením AutomationPeer pro obsah DirectX. Díky této technice je hostovaný obsah přístupný prostřednictvím model UI Automation.
Ověřování a publikování
Zacházejte s ověřováním přístupnosti jako s průběžnou technickou činností, nikoli s konečným průchodem kontroly kvality. Pokud je to možné, spusťte automatizované kontroly pro každé sestavení a spárujte je s cíleným ručním ověřováním asistenčních technologií pro kritické cesty uživatelů.
Další informace o deklaracích přístupnosti a publikování aplikace najdete v tématu Přístupnost ve Storu.
Příklady
Otevřete aplikaci Galerie WinUI 3 a v praxi se podívejte na následující principy přístupnosti:
- Podpora čtečky obrazovky
- Podpora klávesnice
- Barevný kontrast
![]()
Aplikace Galerie WinUI 3 obsahuje interaktivní příklady ovládacích prvků a funkcí WinUI. Získejte aplikaci z Microsoft Store nebo vyhledejte zdrojový kód na GitHub.
Související témata
Windows developer