1.4.12 Mezery v textu
Částečně automaticky
Toto kritérium z WCAG 2.1 testujeme částečně automaticky.
Co testujeme automaticky:
- avoid-inline-spacing – Kontrola, že inline styly nepřepisují uživatelské nastavení mezer
Co vyžaduje manuální kontrolu:
- Obsah při zvětšení mezer (řádkování 1,5×, mezery mezi odstavci 2×, mezi slovy 0,16×, mezi písmeny 0,12×) neztrácí obsah ani funkčnost
Oficiální znění
V obsahu implementovaném pomocí značkovacích jazyků, které podporují vlastnosti stylování textu, nedochází ke ztrátě obsahu nebo funkčnosti při nastavení: výšky řádku 1,5; mezery mezi odstavci 2; mezery mezi písmeny 0,12; mezery mezi slovy 0,16.
Co to znamená v praxi
Web musí správně fungovat, když si uživatel pomocí rozšíření prohlížeče zvětší mezery v textu.
Kontrola:
Použijte bookmarklet nebo rozšíření, které nastaví tyto mezery, a ověřte, že se obsah nepřekrývá a nic nezmizí.
Řešení:
Používejte flexibilní kontejnery, které se přizpůsobí většímu textu.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 1.4.12 Text Spacing
1.4.13 Obsah při najetí nebo fokusu
Pouze manuální testování
Toto kritérium z WCAG 2.1 nelze automaticky testovat. Vyžaduje ověření chování obsahu zobrazeného při najetí myši nebo fokusu.
Co kontrolujeme:
- Zrušitelné: Obsah lze zavřít (Esc) bez přesunu fokusu
- Najetí: Ukazatel lze přesunout nad dodatečný obsah bez jeho zmizení
- Trvalé: Obsah zůstává viditelný, dokud ho uživatel nezavře
Oficiální znění
Když najetí kurzorem nebo fokus klávesnice vyvolá zobrazení dodatečného obsahu a pak jeho skrytí, platí: obsah lze zavřít bez přesunu kurzoru/fokusu, kurzor lze přesunout na nový obsah, obsah zůstane viditelný dokud není odstraněna podmínka jeho zobrazení.
Co to znamená v praxi
Tooltips, dropdown menu a další obsah zobrazený při hover/focus musí být použitelný i pro uživatele s potížemi s motorikou.
Požadavky:
- Zavřitelné – lze zavřít Escape klávesou bez přesunu myši
- Najetitelné – myš se může přesunout na nový obsah
- Perzistentní – zůstane dokud uživatel neodejde nebo nezavře
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 1.4.13 Content on Hover or Focus
2.1.1 Klávesnice
Částečně automaticky
Toto kritérium testujeme částečně automaticky.
Co testujeme automaticky:
- frame-focusable-content – Iframe s tabulátorem má focusovatelný obsah
- scrollable-region-focusable – Scrollovatelné regiony jsou přístupné klávesnicí
- server-side-image-map – Nepoužívají se serverové image mapy
Co vyžaduje manuální kontrolu:
- Všechny interaktivní prvky jsou dosažitelné pomocí Tab
- Vlastní komponenty (dropdown, modal) jsou ovladatelné klávesnicí
- Drag & drop má alternativní ovládání
Oficiální znění
Veškerá funkcionalita obsahu je ovladatelná přes rozhraní klávesnice bez nutnosti specifického časování jednotlivých úhozů, s výjimkou případů, kdy základní funkce vyžaduje vstup závisející na trajektorii pohybu uživatele a nejen na koncových bodech.
Co to znamená v praxi
Vše, co lze udělat myší, musí jít udělat i klávesnicí. To je zásadní pro uživatele, kteří nemohou používat myš.
Kontrola:
- Procházejte web pomocí Tab, Shift+Tab, Enter, mezerníku a šipek
- Ověřte, že lze aktivovat všechny interaktivní prvky
- Ověřte, že lze zavřít modální okna a menu
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.1.1 Keyboard
2.1.2 Žádná past pro klávesnici
Pouze manuální testování
Toto kritérium nelze automaticky testovat. Vyžaduje manuální ověření navigace pomocí klávesnice.
Co kontrolujeme:
- Z každé komponenty lze odejít pomocí Tab nebo Shift+Tab
- Modální okna lze zavřít pomocí Esc
- Výběrová pole (dropdown, datepicker) neuzamknou fokus
- Vložené aplikace (iframe) nepasti fokus
Oficiální znění
Pokud lze fokus klávesnice přesunout na komponentu stránky pomocí rozhraní klávesnice, pak lze fokus z této komponenty přesunout pryč pouze pomocí rozhraní klávesnice, a pokud to vyžaduje více než nemodifikované šipky nebo klávesy Tab nebo Escape, nebo jiné standardní metody opuštění, je uživatel informován o metodě přesunutí fokusu pryč.
Co to znamená v praxi
Uživatel nesmí "uvíznout" v žádném prvku – vždy musí být možné se z něj dostat klávesnicí.
Časté pasti:
- Modální okna bez možnosti zavření Escape
- Iframe s interaktivním obsahem
- Rich text editory
- Video přehrávače
Řešení:
Testujte klávesnicí a zajistěte, že Tab/Escape vždy fungují.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.1.2 No Keyboard Trap
2.1.3 Klávesnice (bez výjimky)
Částečně automaticky
Toto kritérium úrovně AAA testujeme částečně automaticky.
Co testujeme automaticky:
- scrollable-region-focusable – Scrollovatelné regiony jsou přístupné klávesnicí
Co vyžaduje manuální kontrolu:
- Absolutně veškerá funkcionalita je dostupná klávesnicí
- Žádné výjimky (na rozdíl od 2.1.1)
Oficiální znění
Veškerá funkcionalita obsahu je ovladatelná přes rozhraní klávesnice bez nutnosti specifického časování jednotlivých úhozů.
Co to znamená v praxi
Přísnější verze kritéria 2.1.1 bez výjimek pro funkce závislé na trajektorii.
Rozdíl od 2.1.1:
Kritérium 2.1.1 povoluje výjimky pro kreslení, hry apod. Toto kritérium AAA takové výjimky nemá.
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.1.3 Keyboard (No Exception)
2.1.4 Klávesové zkratky
Pouze manuální testování
Toto kritérium z WCAG 2.1 nelze automaticky testovat. Vyžaduje ověření implementace klávesových zkratek.
Co kontrolujeme:
- Klávesové zkratky používající pouze písmena, čísla nebo symboly lze vypnout
- Nebo lze zkratky přemapovat na kombinaci s modifikátorem (Ctrl, Alt)
- Nebo jsou zkratky aktivní pouze při fokusu na komponentě
Proč je to důležité: Uživatelé používající hlasové ovládání mohou nechtěně spustit akce vyslovením znaků.
Oficiální znění
Pokud je klávesová zkratka implementována v obsahu pouze pomocí písmen (včetně velkých a malých písmen), interpunkce, čísel nebo symbolů, pak platí alespoň jedno z následujícího: zkratku lze vypnout, přemapovat, nebo je aktivní pouze při fokusu.
Co to znamená v praxi
Jednopísmenné klávesové zkratky mohou kolidovat s ovládáním hlasem nebo způsobit nechtěnou aktivaci.
Příklady problémů:
- Stisknutí "s" odešle formulář
- Stisknutí "d" smaže položku
Řešení:
- Použijte kombinace s Ctrl/Alt
- Nebo poskytněte možnost vypnout/přemapovat zkratky
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.1.4 Character Key Shortcuts
2.2.1 Nastavitelný čas
Částečně automaticky
Toto kritérium testujeme částečně automaticky.
Co testujeme automaticky:
- meta-refresh – Stránka nepoužívá automatické přesměrování
Co vyžaduje manuální kontrolu:
- Časové limity session lze prodloužit nebo vypnout
- Uživatel je upozorněn před vypršením limitu
- Časově omezené akce mají alternativu
Oficiální znění
Pro každý časový limit nastavený obsahem platí alespoň jedno z následujícího: lze jej vypnout, upravit, prodloužit s varováním, nebo se jedná o výjimku (reálný čas, nezbytnost, více než 20 hodin).
Co to znamená v praxi
Časové limity mohou být problém pro uživatele, kteří potřebují více času – starší, s kognitivními problémy, s motorickými obtížemi.
Řešení:
- Před vypršením varujte a nabídněte prodloužení
- Poskytněte možnost limit 10× prodloužit
- Nebo umožněte limit vypnout
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.1 Timing Adjustable
2.2.2 Pozastavit, zastavit, skrýt
Částečně automaticky
Toto kritérium testujeme částečně automaticky.
Co testujeme automaticky:
- blink – Nepoužívá se element blink
- marquee – Nepoužívá se element marquee
Co vyžaduje manuální kontrolu:
- Animace a karusely mají tlačítko pro pozastavení
- Automaticky aktualizující obsah lze zastavit
- Pohybující se obsah déle než 5 sekund lze ovládat
Oficiální znění
Pro pohybující se, blikající, posouvající se nebo automaticky aktualizující se informace platí požadavky na možnost pozastavení, zastavení nebo skrytí.
Co to znamená v praxi
Automaticky se pohybující obsah může rušit a znemožňovat čtení pro uživatele s kognitivními problémy.
Příklady:
- Karusely/slidery – musí mít tlačítko pauzy
- Animované bannery – musí jít zastavit
- Auto-refresh stránky – musí jít vypnout
- Video na pozadí – musí jít pozastavit
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.2 Pause, Stop, Hide
2.2.3 Žádné časování
Pouze manuální testování
Toto kritérium úrovně AAA nelze automaticky testovat. Vyžaduje ověření, že žádná funkcionalita není časově omezena.
Co kontrolujeme:
- Žádné časové limity pro interakci (kromě médií)
- Uživatel má neomezený čas na dokončení úkolů
- Výjimkou jsou pouze synchronizované události v reálném čase
Oficiální znění
Časování není nezbytnou součástí události nebo činnosti prezentované obsahem, s výjimkou neinteraktivních synchronizovaných médií a událostí v reálném čase.
Co to znamená v praxi
Žádná činnost na webu by neměla vyžadovat splnění v určitém čase.
Příklady:
- Kvízy bez časového limitu
- Formuláře bez automatického odhlášení
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.3 No Timing
2.2.4 Přerušení
Částečně automaticky
Toto kritérium úrovně AAA testujeme částečně automaticky.
Co testujeme automaticky:
- meta-refresh-no-exceptions – Stránka nepoužívá automatické přesměrování bez výjimek
Co vyžaduje manuální kontrolu:
- Notifikace a upozornění lze odložit nebo vypnout
- Výjimkou jsou pouze nouzové situace
Oficiální znění
Přerušení lze odložit nebo potlačit uživatelem, s výjimkou přerušení zahrnujících nouzovou situaci.
Co to znamená v praxi
Oznámení, upozornění a jiná přerušení by měla jít vypnout nebo odložit.
Příklady:
- Push notifikace
- Chat bubliny
- Newsletter pop-upy
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.4 Interruptions
2.2.5 Opětovná autentizace
Pouze manuální testování
Toto kritérium úrovně AAA nelze automaticky testovat. Vyžaduje ověření zachování dat po opětovné autentizaci.
Co kontrolujeme:
- Data zadaná uživatelem se neztratí po vypršení session
- Po opětovném přihlášení lze pokračovat v práci
- Rozepsané formuláře jsou zachovány
Oficiální znění
Když vyprší autentizovaná relace, uživatel může pokračovat v činnosti bez ztráty dat po opětovné autentizaci.
Co to znamená v praxi
Pokud se uživatel musí znovu přihlásit, nesmí ztratit rozpracovaná data (formuláře, nákupní košík).
Řešení:
- Automaticky ukládejte rozpracovaná data
- Po přihlášení obnovte stav před odhlášením
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.5 Re-authenticating
2.2.6 Časové limity
Pouze manuální testování
Toto kritérium úrovně AAA z WCAG 2.1 nelze automaticky testovat. Vyžaduje ověření informování uživatele o časových limitech.
Co kontrolujeme:
- Uživatel je informován o délce časového limitu na začátku procesu
- Upozornění na možnou ztrátu dat při nečinnosti
- Výjimka: data jsou zachována déle než 20 hodin
Oficiální znění
Uživatelé jsou varováni o délce jakékoli nečinnosti uživatele, která by mohla způsobit ztrátu dat, pokud nejsou data uchovávána po dobu delší než 20 hodin bez jakékoli akce uživatele.
Co to znamená v praxi
Informujte uživatele předem, jak dlouho můžou být neaktivní, než ztratí data.
Příklady:
"Vaše relace vyprší po 30 minutách nečinnosti. Nezapomeňte uložit práci."
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.2.6 Timeouts
2.3.1 Tři záblesky nebo pod hranicí
Pouze manuální testování
Toto kritérium nelze automaticky testovat. Vyžaduje měření frekvence blikání obsahu.
Co kontrolujeme:
- Žádný obsah nebliká více než 3× za sekundu
- Pokud bliká, je pod hranicí pro obecné a červené záblesky
- Pozor na videa, animace, GIFy a dynamické efekty
Proč je to důležité: Blikající obsah může vyvolat epileptické záchvaty.
Oficiální znění
Webové stránky neobsahují nic, co by blikalo více než třikrát za sekundu, nebo je blikání pod hranicí obecného blikání a červeného blikání.
Co to znamená v praxi
Blikající obsah může vyvolat záchvaty u lidí s fotosenzitivní epilepsií.
Pravidla:
- Max 3 záblesky za sekundu
- Nebo záblesk zabírá méně než 25% obrazovky
- Vyhněte se červeným záblesků
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.3.1 Three Flashes or Below Threshold
2.3.2 Tři záblesky
Pouze manuální testování
Toto kritérium úrovně AAA nelze automaticky testovat. Je přísnější verzí kritéria 2.3.1.
Rozdíl oproti 2.3.1:
- Kritérium 2.3.1 (A): Blikání pod 3×/s NEBO pod hranicí záblesku
- Kritérium 2.3.2 (AAA): Blikání pod 3×/s bez výjimky
Co kontrolujeme: Žádný obsah absolutně nesmí blikat více než 3× za sekundu.
Oficiální znění
Webové stránky neobsahují nic, co by blikalo více než třikrát za sekundu.
Co to znamená v praxi
Přísnější verze bez výjimek pro malé nebo nevýrazné záblesky.
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.3.2 Three Flashes
2.3.3 Animace z interakcí
Pouze manuální testování
Toto kritérium úrovně AAA z WCAG 2.1 nelze automaticky testovat. Týká se animací vyvolaných uživatelskou interakcí.
Co kontrolujeme:
- Animace vyvolané interakcí (scroll, hover, klik) lze zakázat
- Respektování prefers-reduced-motion v CSS
- Přepínač pro vypnutí animací v UI
Výjimka: Animace nezbytné pro funkcionalitu (např. indikátor načítání).
Oficiální znění
Animaci pohybu vyvolanou interakcí lze vypnout, pokud není animace nezbytná pro funkcionalitu nebo předávanou informaci.
Co to znamená v praxi
Parallax efekty a pohybové animace mohou způsobovat nevolnost u některých uživatelů.
Řešení:
- Respektujte prefers-reduced-motion media query
- Nabídněte možnost vypnout animace
Poznámka: Toto je kritérium úrovně AAA.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.3.3 Animation from Interactions
2.4.1 Přeskočení bloků
Částečně automaticky
Toto kritérium testujeme částečně automaticky.
Co testujeme automaticky:
- bypass – Přítomnost skip linků nebo landmark regionů
Co vyžaduje manuální kontrolu:
- Skip link skutečně přeskočí navigaci
- Fokus se přesune na hlavní obsah
- Landmark regiony jsou správně použity
Oficiální znění
Je k dispozici mechanismus umožňující přeskočit bloky obsahu, které se opakují na více webových stránkách.
Co to znamená v praxi
Uživatelé klávesnice potřebují možnost přeskočit opakující se navigaci a dostat se rychle k hlavnímu obsahu.
Řešení:
- Odkaz "Přeskočit na obsah" na začátku stránky
- Správné použití landmark rolí (main, nav, header)
- Hierarchie nadpisů pro navigaci
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.4.1 Bypass Blocks
2.4.2 Titulek stránky
Testujeme automaticky
Toto kritérium testujeme plně automaticky.
Co testujeme:
- document-title – Stránka má neprázdný element <title>
Poznámka: Automaticky testujeme pouze přítomnost titulku. Kvalitu a smysluplnost titulku je třeba ověřit manuálně.
Oficiální znění
Webové stránky mají titulky, které popisují téma nebo účel.
Co to znamená v praxi
Element <title> musí jasně popisovat obsah stránky. Je to první věc, kterou čtečka obrazovky přečte.
Dobré titulky:
- "Kontakt | Název organizace"
- "Výsledky vyhledávání pro 'klíčové slovo' | Web"
Špatné titulky:
- "Stránka"
- "Document"
- Stejný titulek pro všechny stránky
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.4.2 Page Titled
2.4.3 Pořadí fokusu
Pouze manuální testování
Toto kritérium nelze automaticky testovat. Vyžaduje ověření logického pořadí fokusu.
Co kontrolujeme:
- Fokus se pohybuje v logickém pořadí (obvykle zleva doprava, shora dolů)
- Modály a vyskakovací okna správně zachytávají fokus
- Po zavření modálu se fokus vrací na původní místo
- Nepoužívá se pozitivní tabindex (kromě 0)
Oficiální znění
Pokud lze webovou stránku sekvenčně procházet a sekvence ovlivňuje význam nebo ovládání, komponenty přijímající fokus jej přijímají v pořadí zachovávajícím význam a ovladatelnost.
Co to znamená v praxi
Pořadí fokusu při procházení Tab klávesou musí být logické a předvídatelné.
Časté problémy:
- Modální okno se otevře, ale fokus zůstane za ním
- Formulářová pole v nelogickém pořadí
- Fokus skáče na neočekávaná místa
Řešení:
Nepoužívejte pozitivní tabindex. Držte logické pořadí v HTML.
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.4.3 Focus Order
2.4.4 Účel odkazu (v kontextu)
Částečně automaticky
Toto kritérium testujeme částečně automaticky.
Co testujeme automaticky:
- link-name – Odkaz má přístupný název
Co vyžaduje manuální kontrolu:
- Text odkazu je srozumitelný (ne "klikněte zde", "více")
- Kontext odkazu (okolní text, nadpis) pomáhá identifikovat účel
- Odkazy na stejné cíle mají konzistentní text
Oficiální znění
Účel každého odkazu lze určit pouze z textu odkazu nebo z textu odkazu společně s jeho programově určitelným kontextem odkazu, s výjimkou případů, kdy by účel odkazu byl pro uživatele obecně nejednoznačný.
Co to znamená v praxi
Text odkazu musí dávat smysl sám o sobě nebo v kontextu věty/odstavce.
Špatně:
- "Klikněte zde"
- "Více"
- "Číst dál"
Správně:
- "Stáhnout výroční zprávu (PDF, 2 MB)"
- "Přečíst článek o přístupnosti"
- "Kontaktovat podporu"
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.4.4 Link Purpose (In Context)
2.4.5 Více způsobů
Pouze manuální testování
Toto kritérium nelze automaticky testovat. Vyžaduje ověření existence více navigačních mechanismů.
Co kontrolujeme:
- Web nabízí více způsobů navigace: hlavní menu, vyhledávání, mapa stránek, drobečková navigace
- Uživatel si může vybrat preferovaný způsob
Výjimka: Stránky v rámci procesu (např. checkout) nemusí mít alternativní navigaci.
Oficiální znění
Je k dispozici více než jeden způsob, jak najít webovou stránku v rámci sady webových stránek, s výjimkou případů, kdy je stránka výsledkem nebo krokem procesu.
Co to znamená v praxi
Uživatelé by měli mít více možností, jak najít obsah na webu.
Způsoby navigace:
- Hlavní menu
- Vyhledávání
- Mapa webu
- Drobečková navigace
- Související články
Originální znění
Originální znění W3C: WCAG 2.1 Success Criterion 2.4.5 Multiple Ways