Proč a jak testovat přístupnost pro uživatele se znevýhodněním
Webová přístupnost není jen zákonný požadavek nebo kontrolní seznam, ale soubor postupů, které zajišťují, že web je použitelný pro co nejširší spektrum lidí – včetně uživatelů se zrakovým, sluchovým, motorickým či kognitivním znevýhodněním. Testování přístupnosti (A11y) ověřuje, zda rozhraní splňuje principy WCAG (Perceivable, Operable, Understandable, Robust) a zda je v praxi ovladatelné pomocí asistivních technologií. Tento článek představuje metodický rámec, nástroje, scénáře a měřitelné výstupy přístupnostních testů.
Rámec: WCAG 2.x a principy POUR
- Vnímatelné (Perceivable): obsah musí být prezentován způsoby, které mohou uživatelé vnímat (textové alternativy, kontrast, strukturovaná média).
- Ovládatelné (Operable): rozhraní musí být ovladatelné bez klávesových pastí, s dostatečnou dobou na reakci a bez zbytečných pohybových aktivací.
- Srozumitelné (Understandable): předvídatelné chování, jasné popisy, srozumitelné chybové zprávy a asistence při zadávání dat.
- Robustní (Robust): kompatibilita s asistivními technologiemi a standardy (HTML, ARIA), stabilní DOM a korektní role/stavy.
Role testování: kombinace automatizace, manuální kontroly a uživatelských studií
Žádná jediná metoda nepokryje vše. Úspěšné programy přístupnosti kombinují:
- Automatizované skeny: rychlá detekce typických porušení (atributy alt, kontrasty, role, názvy ovládacích prvků).
- Manuální heuristiky: hodnocení ovladatelnosti klávesnicí, čitelnosti, logiky fokusů, navigačních vzorů a validace formulářů.
- Testy s asistivními technologiemi: čtení screen readerem, ovládání výhradně klávesnicí, hlasové ovládání.
- Studie s uživateli se znevýhodněním: validace reálného použití, odhalení bariér překračujících standardní požadavky.
Plán testování: rozsah, priority a definice „Done“
- Definujte cíle: které uživatelské cesty (registrace, nákup, vyhledání informací) musí být bezbariérové.
- Vyberte kritéria: úroveň WCAG (A/AA) jako minimální cílový standard, u kritických produktů zvažte i úroveň AAA.
- Stanovte priority: kritické bariéry (blokující dokončení úkolu) > závažné > střední > nízké.
- Definujte „Definition of Done“: žádné blokující a závažné chyby, 100 % klíčových cest splňuje úroveň AA, automatizace integrována v CI.
Nástroje: automatizovaná kontrola a CI/CD
- Prohlížečové doplňky: inspekce kontrastu, atributů role/aria-*, názvů ovládacích prvků, titulků a hierarchie nadpisů.
- CLI a CI: integrace testovacích nástrojů do pipeline, nastavení prahových hodnot (například „0 kritických chyb“ jako blokátor buildu).
- Snapshoty a vizuální testy: ověření, že změny CSS nezpůsobily ztrátu viditelnosti fokusu či kontrastu.
- Linting šablon: statická analýza HTML/JSX (zakázat použití „onClick“ bez klávesové alternativy, vyžadovat
labelafor).
Manuální test: pouze klávesnice
- Navigace Tab/Shift+Tab: ověřte logické pořadí, absence pastí a dosažitelnost všech interaktivních prvků.
- Viditelný fokus: prvek ve fokusu musí mít výraznou vizuální indikaci i při vysokém kontrastu.
- Klávesové alternativy: akce dostupné kliknutím musí být proveditelné stiskem Enter nebo Space; rozbalovací prvky ovládejte šipkami.
- Skip link: odkaz „Přeskočit na obsah“ musí být viditelný při fokusu a funkční na všech stránkách.
Manuální test: kontrast, barvy a režimy
- Kontrast: text proti pozadí splňuje minimálně poměr 4,5:1 (úroveň AA) pro běžný text, 3:1 pro velký text (≥18 pt nebo 14 pt tučně).
- Barva není jediný nosič informace: doplňte informaci vzorem, tvarem nebo textem.
- Vysoký kontrast a tmavý režim: ověřte, že systémové režimy nezpůsobí neviditelnost prvků.
Formuláře: popisky, chyby a nápověda
- Explicitní popisky: každý
inputmusí mít viditelnýlabela programový název (Accessible Name). - Chybové zprávy: konkrétní, připojené k poli, oznamované živě (například pomocí
aria-live="polite"). - Skupiny polí: používejte
fieldsetalegendpro logické celky (například výběr pohlaví). - Tipy a příklady: uveďte očekávaný formát, masky zadávání nesmí bránit čtečkám obrazovky.
Semantika a ARIA: kdy ano a kdy ne
- Preferujte nativní prvky: tlačítka, odkazy, seznamy, tabulky, nadpisy (
h1–h6). - ARIA používejte s rozvahou: přidávejte pouze tam, kde nelze využít nativní semantiku; nikdy nepřepisujte nativní role.
- Landmarky: prvky jako
header,nav,main,aside,footerumožňují rychlé skoky v screen readeru. - Stavy a názvy: ověřujte Accessible Name/Description Computation (například u ikonických tlačítek).
Fokus management a dialogy
- Trapování fokusu: modální okno musí zachytit fokus uvnitř a po zavření jej vrátit na předchozí prvek.
- Oznámení otevření: dialog má roli
dialogneboalertdialog, nadpis a popis. - ESC a uzavření: umožněte bezpečné klávesové zavření bez ztráty stavu.
Média: titulky, přepisy a popisy
- Video: synchronní titulky, případně audio popis vizuálních informací.
- Audio: textový přepis, ovladatelný přehrávač s podporou klávesnice i čteček obrazovky.
- Automatické přehrávání: vypnuté nebo snadno zastavitelné; respektujte uživatelskou preferenci „reduced motion“.
Testy se screen readery: praktický postup
- Zvolte kombinace: Windows+NVDA, Windows+JAWS, macOS+VoiceOver, iOS+VoiceOver, Android+TalkBack.
- Scénářové testy: dokončení nákupu, vyplnění formuláře, filtr výsledků, práce s tabulkou.
- Navigační rychlopříkazy: skoky podle nadpisů, formulářových polí, odkazů či regionů; kontrola čtecího pořadí.
- Výstup a očekávání: zaznamenávejte přesné verbální výstupy a porovnejte je s očekávanými názvy, rolemi a stavy.
Motorická přístupnost: alternativní vstupy a zóny kliků
- Velikost cíle: minimální rozměry 24×24 px; dostatečné rozestupy pro dotykové ovládání.
- Alternativy gestům: například „táhni“ musí mít ekvivalentní tlačítko; nepoužívejte gesto shake či poklep bez alternativy.
- Hlasové ovládání: prvky musí mít stabilní, srozumitelné názvy pro hlasové systémy.
Kognitivní přístupnost: srozumitelnost a kognitivní zátěž
- Jasný jazyk: krátké věty, vyvarujte se žargonu; vysvětlete důležité pojmy.
- Průvodci a postupy: složité úkony rozdělte do kroků s indikátorem průběhu.
- Předvídatelnost: konzistentní umístění navigace, žádné neočekávané přesuny fokusu.
Mobilní přístupnost: orientace, zvětšení a rotace
- Responzivní layout: zajistěte, aby textové bloky nevyžadovaly horizontální posun.
- Zvětšení: podporujte systémové zvětšení písma bez narušení rozhraní.
- Orientace: aplikace by neměla beze zdůvodnění vynucovat jedinou orientaci.
Tabulky, grafy a komplexní komponenty
- Datové tabulky: definujte záhlaví pomocí
<th scope="col/row">; komplexní tabulky opatřete atributyheadersaid. - Grafy: poskytněte textový souhrn trendu a klíčových hodnot, přístupnou legendu a popisky os.
- Drag & drop: klávesové alternativy (tlačítka „přesunout nahoru/dolů“) a živá oznámení změny pořadí.
PDF a dokumenty: alternativy a tagování
- Preferujte HTML: dokumentace na webu by měla být v HTML s možností tisku.
- Accessible PDF: pokud je PDF nezbytné, zajistěte tagování, správné čtecí pořadí, záložky, alternativní texty a odpovídající kontrast.
Testovací scénáře: uživatelské cesty end-to-end
- Najít informace: vyhledání článku, přechod z výsledků, čtení a stažení souboru.
- Odeslat formulář: přihlášení k odběru, validace, chybové stavy, potvrzení.
- Nákup: přidání do košíku, změna varianty, platba, rekapitulace.
- Správa účtu: změna hesla, dvoufaktorová autentizace, nastavení preferencí.
Zapojení osob se znevýhodněním: etika a metodika
- Nábor: zahrňte diverzní profily (zrak, sluch, motorika, kognitivní) a různé asistivní technologie.
- Souhlas a odměna: zajistěte informovaný souhlas, bezpečné prostředí a přiměřenou kompenzaci.
- Moderace: zaměřte se na úkolově orientované scénáře, bez navádění, zachyťte verbální i neverbální signály.
Reporting: jak psát nálezy, aby vedly k opravám
- Struktura nálezu: název, závažnost, příslušné WCAG kritérium, kroky k reprodukci, očekávané vs. skutečné chování, screenshoty/video, návrh řešení.
- Prioritizace: blokující (nelze dokončit úkol), závažné (výrazná bariéra), střední, nízké.
- Sledovatelnost: propojte nález s user story nebo test case; sledujte stav v backlogu.
Kontinuální zlepšování: metriky a governance
- KPI: procento cest splňujících úroveň AA, počet kritických chyb mezi releasy, doba nápravy, skóre automatizace.
- Školení: pravidelné vzdělávací kurzy pro designéry, vývojáře i testery; knihovna přístupných komponent.
- Design systém: dokumentované vzory s příklady kódu, požadavky na ARIA a testovací checklisty.
Checklist: rychlá kontrola pro každou stránku
- Nadpisy tvoří logickou hierarchii a odpovídají struktuře obsahu.
- Všechny interaktivní prvky jsou dostupné a ovladatelné klávesnicí, fokus je viditelný.
- Textové alternativy správně popisují význam ne-textových prvků.
- Kontrast splňuje minimální poměry, barva není jediným nosičem informace.
- Formuláře mají popisy, chybové zprávy a nápovědu; chyby jsou oznamovány.
- Dialogy správně zachycují fokus a informují screen reader.
- Média obsahují titulky/přepisy; animace respektují preferenci „reduced motion“.
- HTML je validní, role, stavy a názvy odpovídají očekáváním asistivních technologií.
Příklady běžných antipatternů a jejich náprava
- Ikonické tlačítko bez názvu: doplňte
aria-labelnebo viditelný text. - Custom select bez klávesnicového ovládání: použijte nativní
<select>nebo doplňte ARIA, rolilistboxa klávesové chování. - Neviditelný fokus: přidejte styl s dostatečným kontrastem a tloušťkou.
- Chybové zprávy



























