Soudcovo kladívko na stole, v pozadí lidé během soudního řízení.

Popis obrázku: Soudcovo kladívko na stole, v pozadí lidé během soudního řízení.

Co je předmětem žalob: Praktický průvodce vzory uživatelského rozhraní, které stojí za 6 666 stížnostmi na nedostatečnou přístupnost

Katalog vzorů · 19 exponátů

Co je předmětem žalob: Praktický průvodce vzory uživatelského rozhraní, které stojí za 6 666 stížnostmi na nedostatečnou přístupnost

Stížnosti na porušení předpisů o přístupnosti na federální úrovni podané podle zákona Americans with Disabilities Act zřídka poukazují na nové nedostatky. Opakovaně uvádějí stále těch devatenáct stejných bodů, a to v přibližně stejném znění. Jedná se o katalog jednotlivých vzorců, který zahrnuje prvky stránek, chyby v kódu a designová řešení, která se vyskytují nejčastěji – každý z nich je podložen doslovnou citací z příslušných stížnostních dokumentů.

V předchozím díle této série jsme se na soudní spory podívali z nadhledu: 8 788 federálních případů v USA, kdo je podává, jak koncentrovaná je skupina žalobců a jak rychle se případy urovnávají. Tento pohled je užitečný pro právní a finanční týmy. Pro vývojáře, designéry nebo produktové manažery, kteří musí v pondělí ráno vydat konkrétní opravu, je však méně užitečný.

Tato příručka zastává opačný přístup. Vychází ze stránky a rozšiřuje se směrem ven. Každý záznam níže představuje konkrétní vzor uživatelského rozhraní – někdy se jedná o jediný prvek, jindy o celý postup –, s nímž se setkal uživatel čtečky obrazovky, uživatel klávesnice nebo uživatel se slabým zrakem, nemohl jej ovládat a který se stal součástí podání u federálního soudu. U každého z nich uvádíme, co žalobci ve skutečnosti napsali v žalobě, jak často se tento vzor v datovém souboru vyskytuje, proč vyvolává soudní spor a jak vypadá jeho náprava.

Rejstřík důkazů · Kat. 2026.04

19 vzorců · seřazeno podle četnosti v extrahovaných záznamech stížností

n = 113 120 čísel
ID Vzor Stránka / plocha Zaznamenané problémy
E·01Pole formuláře označené jako „pole pro úpravy“Formuláře pro celý web17,693 ↑
E·02Globální navigace / rozbalovací nabídkaZáhlaví, na každé stránce7,934
E·03Chybějící nebo neviditelný indikátor zaostřeníV rámci celého webu7,294
E·04Logo a ozdobné obrázky bez alternativního textuZáhlaví, bannery6,337
E·05Modální okno / vyskakovací okno není ohlášeno ani není aktivníV rámci celého webu3,476
E·06Video bez titulků nebo přepisuHrdina, obsahové stránky3,355
E·07Karta produktu / Tabulka PLP nefungujeSeznamové stránky2,900
E·08Velikost, množství, tlačítka pro náhled (stránka produktu)Podrobnosti o produktu2,725
E·09Prázdné odkazy a „klikněte zde“ / „číst dále“V rámci celého webu2,723
E·10Struktura stránky: chybí nadpis H1, nefunkční orientační bodyV rámci celého webu2,485
E·11Chyby v procesu platby a povinná polePokladna1,656
E·12Ovládací prvky pouze s ikonami (košík, chat, sociální sítě)Záhlaví, zápatí1,531
E·13Vyhledávací pole a návrhy automatického doplňováníZáhlaví1,252
E·14Překryvná vrstva pro usnadnění přístupu / samotný widgetV rámci celého webu1,210
E·15Formuláře pro přihlášení, registraci a zadání heslaStránky s autorizací1,158
E·16Stránka košíku: počet, odstranit, aktualizovatNákupní košík1,022
E·17Překážky dostupné pouze na mobilních zařízeníchMobilní web / aplikace787
E·18„Přidat do košíku“ – bez zvukového potvrzeníPDP, vozík718
E·19Popisky polí pro zadání platebních údajů (CVV, číslo karty)Pokladna524

Počty odrážejí kategorizované záznamy o sporných bodech získané z dokumentů stížností v datovém souboru federálních soudů; jeden případ obvykle generuje desítky záznamů. Vzory jsou seřazeny podle celkového počtu zaznamenaných sporných bodů, nikoli podle četnosti na úrovni jednotlivých případů.

Odkud data pocházejí

Katalog čerpá ze stejného souboru dat federálních soudů, který byl popsán v předchozím díle: jedná se o 8 788 případů týkajících se přístupnosti webových stránek podle hlavy III zákona ADA, získaných ze systému PACER (systém federálního soudnictví pro veřejný přístup k elektronickým soudním záznamům), přičemž z dokumentů žalob bylo extrahováno 6 666 popisů jednotlivých problémů a zařazeno do 27 funkčních kategorií – globální navigace, hlášení čteček obrazovky, navigace pomocí klávesnice, formuláře, modální okna, platby a tak dále.

Každá doslovná citace v níže uvedených záznamech je převzata z výňatků spisu tak, jak se objevuje v původní žalobě, s pouze drobnými redakčními úpravami za účelem opravy zjevných chyb způsobených optickým rozpoznáváním znaků (např. „A nnounced“ → „Announced“), ke kterým došlo při skenování soudních spisů. Počet záznamů odráží počet kategorizovaných záznamů, nikoli počet jedinečných případů – jeden případ obvykle generuje desítky záznamů, které se vztahují k více kategoriím. Tam, kde je to užitečné, upozorňujeme na relativní převahu určitého podvzoru v rámci dané kategorie.

Žalobci se nezabývají nějakými neobvyklými, těžko zjistitelnými chybami. Zaměřují se na stejný proces platby, stejné logo, stejné modální okno a stejné pole formuláře – a to na jedné webové stránce za druhou.

Část I · Cesta uživatele
Vzory, kvůli kterým dochází k soudním sporům, v pořadí, v jakém se s nimi uživatel setkává

Osm příkladů seřazených od příchodu na stránku až po dokončení objednávky. Prvky stránky, které jsou zdrojem většiny případů, se nenacházejí na okrajích webu, ale podél konverzní cesty – záhlaví, vyhledávání, produkt, košík, pokladna – přesně tam, kde se generují tržby.

E·02

Globální navigace a neoznačené hamburgerové menu

Doslovný citát ze stížností
Tlačítko hlavního menu není označeno
Odkaz „Přejít na nabídku“ nefunguje správně
Na stránce chybí odkaz pro přeskočení
Na stránce chybí odkaz pro přeskočení nebo orientační oblast, která by uživatelům klávesnice umožnila přeskočit na další část, takže jsou nuceni procházet prvky záhlaví pomocí klávesy Tab
Frekvence
7 934záznamů zařazených do kategorie Globální navigace / Záhlaví
301 záznamůtýkajících se konkrétně chyb v nabídce, u hamburgeru nebo u odkazů pro přeskočení
Proč je žalována

Záhlaví je první interaktivní prvek na každé stránce a tlačítko „hamburger“ je často první věcí, na kterou uživatel ovládající stránku pomocí klávesnice narazí. Pokud je toto tlačítko zobrazeno jako <div> pokud má prvek obrázek na pozadí v CSS, nemá přístupný název nebo rozbaluje nabídku, která zadržuje fokus nebo neoznamuje svůj stav (otevřeno/zavřeno), stává se celý web z hlediska struktury neovladatelný pomocí klávesnice ještě dříve, než se uživatel dostane k jakémukoli skutečnému obsahu.

Odkaz na přeskočení je příčinou poruchy. Funkční "Skip to main content" Odkaz „skip link“ je sice záležitost pěti řádků, ale zároveň představuje nejúčinnější způsob, jak zjistit, zda má vývojový tým přístupnost vůbec na svém seznamu úkolů. Stížnosti často zmiňují obojí v jednom odstavci, protože chybějící nebo nefunkční odkaz „skip link“ je jakousi varovnou signálem – pokud tým nezahrnul odkaz „skip link“, téměř jistě nezahrnul ani stavy atributu `aria-expanded`.

Oprava

Zobrazit spouštěč nabídky jako skutečný <button> s viditelným textovým popiskem nebo popiskem dostupným pouze pro čtečky obrazovky a spravovaným aria-expanded atribut. Zadejte "Skip to main content" odkaz, který se zobrazí po zaostření a směřuje do <main> orientační bod. Zajistěte, aby se fokus při otevření přesunul do nabídky, při jejím zavření se vrátil na spouštěč a aby Esc zavře nabídku.

Záhlaví stránky, každá stránka WCAG 2.2 AA2.4.1 Přeskočení bloků · 4.1.2 Název, role, hodnota · 2.1.1 Klávesnice
E·13

Vyhledávací pole a návrhy automatického doplňování

Doslovný citát ze stížností
Uživatel nemůže používat vyhledávací lištu
Na návrhy vyhledávání zobrazené pod vyhledávacím polem nebylo možné přesunout fokus klávesnicí
Uživatel si po zadání vyhledávacího výrazu do vyhledávacího pole nevšiml návrhů vyhledávání
Žalobce nebyl informován o tom, že se na obrazovce objevily výsledky vyhledávání
Frekvence
1 252záznamů v sekci „Vyhledávání a filtrování
164 záznamůtýkajících se konkrétně automatického doplňování, návrhů nebo prediktivního uživatelského rozhraní
Proč je žalována

Na většině velkých webů je vyhledávání implementováno jako vlastní komponenta – jedná se o textové pole s odskokem, které při každém stisknutí klávesy odešle požadavek a zobrazí plovoucí seznam návrhů uvnitř prvku s absolutním umístěním <div>. Samotné zadávání textu obvykle funguje bez problémů. Seznam návrhů však téměř nikdy nefunguje správně. Je vykreslován mimo kontext DOM vstupního pole a nemá role="listbox", ne aria-activedescendanta při zobrazení výsledků se nezobrazí žádné upozornění na aktivní oblast. Uživatel čtečky obrazovky napíše text, nic neslyší, stiskne klávesu Enter a zobrazí se mu stránka s výsledky, o které nevěděl, že na něj čeká.

Stejný architektonický vzor se opakuje v panelech filtrů pro faceted search i v samotném seznamu výsledků: prvky, na které lze přesunout fokus klávesnicí, jsou sice vizuálně viditelné, ale nikdy nejsou hlasově ohlášeny. Stížnosti na vyhledávání se málokdy týkají samotného vyhledávacího pole; týkají se všeho, co se objeví poté, co uživatel něco napíše.

Oprava

Použijte zavedený vzor WAI-ARIA pro rozbalovací seznam: role="combobox" na vstupu pomocí aria-expanded, aria-controlsa aria-activedescendant připojený k role="listbox" navrhů. Přidejte elegantní interaktivní oblast, která zobrazuje počet výsledků. Zajistěte, aby byl seznam návrhů přístupný pomocí šipky dolů, nikoli pouze myší.

Hlavičkastránky · stránka s výsledky vyhledávání WCAG 2.2 AA4.1.2 Název, role, hodnota · 4.1.3 Stavové zprávy · 2.1.1 Klávesnice
E·07

Karta produktu a tabulka PLP

Doslovný citát ze stížností
Uživatel nemůže tento filtr ovládat
Uživatel nemůže používat nabídku filtrů
atributy a nedostupné filtry
Tento výsledek znemožňuje uživatelům čteček obrazovky používat nástroj „Filtr“
Frekvence
2 900záznamů na stránce se seznamem produktů
30 případůs podrobným rozborem problémů PLP
Proč je žalována

Mřížka PLP sdružuje na jedné obrazovce hned několik nevhodných postupů. Každá dlaždice je obvykle klikatelnou kartou se třemi či čtyřmi interaktivními podprvky – odkazem na obrázek, odkazem na název, vzorníky barev a tlačítkem pro rychlé přidání –, které jsou navíc obaleny dalším odkazem na stránku produktu. Výsledkem jsou vnořené interaktivní prvky (což je chyba z hlediska HTML), nadbytečný text odkazů (čtyřikrát se opakující text „Hero Dash Three Graphic Image Link“) a vzorníky barev vytvořené z <div> prvky s obslužnými funkcemi pro kliknutí, které nemají ani roli, ani název.

Postranní panel s filtry přidává druhou kategorii chyb. Filtrační kritéria jsou obvykle seznamy zaškrtávacích políček, jsou však vytvořena pomocí vlastních prvků div a span, které jsou stylizovány tak, aby vypadaly jako zaškrtávací políčka, přičemž skutečné <input> skrytý mimo zobrazenou plochu. Jakmile tento skrytý vstup ztratí svou vazbu – ať už kvůli pravidlu CSS, obslužné rutině JavaScriptu, která zachycuje stisknutí mezerníku, nebo kvůli chybějícímu for atribut na viditelném štítku – filtr lze ovládat pouze myší.

Oprava

Používejte jednu kotvu na každou dlaždici s popisným textem, nikoli tři odkazy na jeden produkt. Zobrazujte vzorky tak, jak vypadají ve skutečnosti <button> prvky uvnitř role="radiogroup". Vytvořte filtrační kritéria na základě skutečných <input type="checkbox"> prvky s přidruženými <label> tagy; vstupní pole vizuálně upravte, místo abyste je skrývali. O změnách ve filtru informujte pomocí zdvořilého živého regionu.

Stránky s přehledemproduktů, výsledky vyhledávání WCAG 2.2 AA1.3.1 Informace a vztahy · 2.4.4 Účel odkazu · 4.1.2 Název, role, hodnota
E·08

Podrobnosti o produktu: tlačítka pro velikost, množství a vzorek

Doslovný citát ze stížností
Tlačítka „Velikost“ a „Množství“ na stránkách produktů nemají popisky
Tlačítko „Množství“ není na stránkách produktů označeno ani dostupné
Tlačítko „Tabulka velikostí“ není na stránkách produktů označeno
Na stránce produktu se na webu nezobrazují informace o velikostní tabulce
Frekvence
2 725záznamů na stránce s podrobnostmi o produktu
169 záznamůtýkajících se konkrétně velikosti, množství, vzorků nebo výběru barev
Proč je žalována

Na stránce s podrobnostmi o produktu musí uživatel čtečky obrazovky provést několik konkrétních kroků ve správném pořadí: vybrat barvu, vybrat velikost, zadat počet kusů a poté přidat do košíku. Každý z těchto kroků je v moderním e-shopu realizován jako vlastní widget – obvykle se jedná o vodorovný řádek <button>ve tvaru <div>Co se týče velikostí, jedná se o barevné dlaždice vytvořené z prvků div se styly CSS a číselný posuvník tvořený dvěma ikonovými tlačítky po stranách vstupního pole. Tlačítka pro zvýšení a snížení se běžně dodávají bez přístupného názvu; stížnosti je popisují jako oznámeno jako „button, button“ aniž by bylo zřejmé, čím se zabývají.

Průvodci velikostmi a tabulky velikostí představují samostatný problém: téměř vždy se nacházejí za odkazem „Tabulka velikostí“, který otevírá modální okno, přičemž samotný odkaz často nemá žádný popisek, modální okno často nemá žádný zobrazený název a tabulka uvnitř často neobsahuje žádné záhlaví řádků ani sloupců.

Oprava

Používejte skutečné ovládací prvky formulářů. Vzorky barev a voliče velikosti by měly být role="radiogroup" z role="radio" tlačítka (nebo skutečné přepínače stylizované tak, aby nebyly viditelné), z nichž každé má přístupný název, například „Velikost: Střední“. Posuvník pro nastavení množství by měl být číselné pole s popiskou a dvojicí tlačítek pro zvýšení a snížení, jejichž přístupné názvy obsahují popis akce a aktuální množství. Celý blok výběru obalte do pole s popiskou.

Stránky s podrobnostmio produktech WCAG 2.2 AA1.3.1 Informace a vztahy · 4.1.2 Název, role, hodnota · 3.3.2 Popisky nebo pokyny
E·18

„Přidat do košíku“ – tlačítko, které nepotvrzuje

Doslovný citát ze stížností
Potvrzení přidání do košíku nebylo oznámeno
Tlačítko „Přidat do košíku“ není nahlas ohlášeno a není přístupné
Uživatelům čteček obrazovky není oznámena zpráva „Přidat do košíku“
Uživatel nemůže přidat do košíku
Frekvence
718záznamů o akci „Přidat do košíku“
78 záznamů, v nichž se konkrétně vyskytuje výraz „nebylo oznámeno“ / „bez potvrzení“
Proč je žalována

Funkce „Přidat do košíku“ je nejčastěji testovaným bodem v každém e-commerce nákupním procesu a zároveň jedním z těch, které uživatelům asistivních technologií nejčastěji nefungují. Schéma je mechanické: návštěvník stiskne tlačítko, na dvě až tři sekundy se objeví malé potvrzovací okénko nebo vysouvací panel s košíkem a ikona košíku v záhlaví aktualizuje počet položek. Uživatelé s normálním zrakem vidí všechny tři signály. Uživatelé čteček obrazovky obvykle nevidí nic. Oznámení se zobrazí mimo jakoukoli aktivní oblast, zásuvka se objeví bez řízení fokusu a změna počtu v košíku je doručena jako prostá změna DOM, kterou žádná čtečka obrazovky neoznámí.

Výsledkem je tlačítko, které z pohledu uživatele nefunguje. Stisknou ho, nic se neozve, domnívají se, že selhalo, a stisknou ho znovu. V některých stížnostech se uvádí, že uživatelé tlačítko stiskli pětkrát či šestkrát, než si uvědomili, že se do košíku tiše nashromáždilo pět nebo šest položek.

Oprava

Obalte oblast cart-status do aria-live="polite" a při každém úspěšném přidání položky aktualizujte jeho text. Pokud návrh využívá potvrzovací panel, přesuňte fokus na tento panel při jeho otevření a po jeho zavření vraťte fokus zpět na původní tlačítko. Aktualizujte štítek s počtem položek v košíku tak, aby obsahoval hlášení určené pouze pro čtečky obrazovky, například: „Přidána 1 položka. Celkem v košíku: 3 položky.“

Podrobnostio produktu· rozbalovací košík · stránky s nabídkou WCAG 2.2 AA4.1.3 Stavové zprávy · 4.1.2 Název, role, hodnota · 2.4.3 Pořadí fokusů
E·12

Ovládací prvky pouze s ikonami: košík, bublinka chatu, řádek sociálních sítí

Doslovný citát ze stížností
Ikona nákupního košíku není správně označena
Ikony „Účet“ a „Košík“ nejsou na digitální platformě žalovaného označeny
Ikona chatu není přístupná pomocí klávesnice
Odkazy na sociální sítě v zápatí nejsou označeny
Frekvence
1 531záznamů v sekci Ikony a vizuální prvky
40 příspěvkůvěnovaných konkrétně označování ikon košíku
Proč je žalována

Ovládací prvky tvořené pouze ikonami selhávají předvídatelným způsobem: viditelný obsah představuje symbol ve formátu SVG nebo z ikonového fontu, přístupný obsah je prázdný a výstup čtečky obrazovky se omezí na strukturální roli prvku bez názvu. Ikona košíku je nakonec oznámena jako „odkaz“ nebo „sbaleno“; bublinka chatu jako „tlačítko“; řada ikon sociálních sítí v zápatí jako „odkaz, odkaz, odkaz, odkaz, odkaz“. Uživatel nemá žádný způsob, jak zjistit, k čemu který z nich slouží.

Ikony nákupního košíku selhávají častěji než jiné ikony z architektonického důvodu: mnoho implementací vykresluje počet položek v košíku přímo v přístupném názvu ikony (např. ikona zobrazuje uvnitř SVG hodnotu „0“) a čtečka obrazovky zachytí pouze tuto číslici. Stížnosti uvádějí, že ikona nákupního košíku je ohlášena jako „3, odkaz“ nebo „0, odkaz“, aniž by bylo jasné, že číslo „3“ označuje počet položek v nákupním košíku.

Oprava

Každý ovládací prvek tvořený pouze ikonou musí mít přístupný název. Přidejte aria-label na tlačítko nebo do něj vložit textový popisek, který nebude viditelný: "Shopping cart, 3 items". Vyhněte se vkládání číselných znaků do popisného názvu ikony bez kontextu. U dekorativních ikon, které se nacházejí vedle viditelného textu, použijte aria-hidden="true" klikněte na ikonu a nechte text sloužit jako popisek.

Záhlaví· zápatí · plovoucí widgety WCAG 2.2 AA1.1.1 Netextový obsah · 4.1.2 Název, role, hodnota · 2.4.4 Účel odkazu
E·11

Pokladna: formulář, který nelze vyplnit

Doslovný citát ze stížností
Na stránce pokladny se chybová zpráva nezobrazuje
Uživatel nemůže při placení zadat fakturační údaje
Rozbalovací nabídky v části „Údaje k fakturaci“ nelze ovládat pomocí mezerníku
Chybové zprávy při placení jsou nekonkrétní a neinformují uživatele o tom, co je třeba opravit
Frekvence
1 656záznamů o problémech v procesu platby
124 záznamůtýkajících se chybových hlášení, povinných polí nebo překážek při vyplňování fakturačního formuláře
Proč je žalována

Stránka pokladny v sobě soustřeďuje více rizik souvisejících s dodržováním předpisů na jeden pixel než jakákoli jiná stránka e-shopu a výskyt chyb je zde velmi častý. Rozbalovací seznamy adres zobrazené jako vlastní <div> komponenty, které ignorují mezerník. Označení povinných polí se zobrazují pouze jako červená hvězdička, bez aria-required a bez programového propojení. Chybové hlášky se zobrazují červeným textem přímo pod polem, bez aria-describedby propojení pole s chybou a absence upozornění v aktivní oblasti v případě neúspěšné validace. Uživatel vyplní formulář, stiskne tlačítko „Pokračovat“, je bez varování přesměrován zpět a nemá možnost zjistit, která pole byla neplatná ani proč.

Ve stovkách případů se opakují stejné stížnosti: chybová hlášení nejsou hlasově oznamována, jsou nekonkrétní, nelze zadat platební údaje. Nejedná se o ojedinělé chyby. Jde o standardní chování většiny komponent pro dokončení nákupu, které jsou dodávány bez výslovné úpravy z hlediska přístupnosti.

Oprava

Použijte skutečné <label> prvky přiřazené k vstupům pomocí for/id. Povinná pole označte pomocí aria-required="true" a označte povinnost viditelným textem, nikoli pouze barvou. V případě neúspěšné validace zobrazte chybovou zprávu uvnitř pole aria-describedby cíl, zadejte pole, u kterého došlo k chybě aria-invalid="true"a přesuňte fokus klávesnice na první neplatné pole. V horní části formuláře vytvořte souhrnnou oblast s chybami, která bude obsahovat odkazy na jednotlivá pole s chybami.

SurfaceCheckout· formuláře pro zadání adresy · kontaktní formuláře WCAG 2.2 AA3.3.1 Identifikace chyb · 3.3.3 Návrhy řešení chyb · 1.3.1 Informace a vztahy · 4.1.3 Stavové zprávy
E·19

Platba: pole CVV bez popisku

Doslovný citát ze stížností
Vstupní pole „Debetní nebo kreditní karta“ na stránce pokladny NEJSOU označena
Při pokusu o platbu kreditní kartou zde chybí odpovídající popisek označující pole pro zadání CVV
Uživatel nemůže při placení zadat údaje o kreditní kartě
Uživatel nemůže při placení přidat kreditní kartu
Frekvence
524záznamů týkajících se plateb
75 záznamůtýkajících se konkrétně označení kreditních karet, kódu CVV nebo čísla karty
Proč je žalována

Platební blok je neobvyklý tím, že je často poskytován prostřednictvím vloženého iframe od třetí strany – Stripe Elements, Braintree Hosted Fields nebo Adyen drop-in. Uvnitř iframe je vlastní formulář poskytovatele platebních služeb obvykle jasně označen. Jakmile však web vytvoří vlastní zadávací pole pro kartu nebo vloží pole do vlastního rozvržení, které přepíše popisky vizuálními zástupnými symboly, stanou se tato čtyři pole – číslo, datum platnosti, CVV, PSČ – pro čtečku obrazovky řadou prázdných vstupních polí.

Pole pro CVV je nejčastěji nesprávně označené, protože vývojáři obvykle nahrazují jeho popisek ikonou otazníku, která po kliknutí otevře popisek vysvětlující, co je to CVV. Tento popisek však není skutečným popiskem; pole stále potřebuje programový název. Pokud jej nemá, čtečka obrazovky ohlásí celý platební blok jako „edit, edit, edit, edit“ a transakce se zastaví.

Oprava

Pokud využíváte integraci hostovaných polí od jiného poskytovatele, řiďte se jeho pokyny k přístupnosti – většina z nich nabízí zdokumentovaný postup pro označování polí mimo rámec iframe. Pokud vytváříte vlastní formulář pro zadávání údajů, musí mít každý vstupní prvek skutečný <label> prvek s viditelným textovým popiskem, a navíc autocomplete="cc-number" / cc-exp" / cc-csc" atributy, aby správci hesel a asistenční technologie mohly pole identifikovat podle účelu.

SurfaceCheckout· krok platby WCAG 2.2 AA3.3.2 Popisky nebo pokyny · 1.3.5 Identifikace účelu vstupu · 4.1.2 Název, role, hodnota
E·16

Stránka košíku: posuvník pro výběr počtu kusů a chybějící tlačítko „Odstranit“

Doslovný citát ze stížností
V důsledku toho nemohou uživatelé čteček obrazovky odebírat položky z košíku
Žalobce nemohl z nákupního košíku odebrat žádný produkt
Žalobce nemohl upravit počet položek v nákupním košíku
V nákupním košíku není možnost výběru množství správně označena
Frekvence
1 022záznamů o problémech na stránce Nákupní košík
174 záznamůtýkajících se konkrétně operací s množstvím, odstraněním nebo aktualizací
Proč je žalována

Na stránce košíku se opakuje stejná chyba jako u posuvníku množství na stránce produktu, tentokrát však s vážnějšími důsledky: uživatel čtečky obrazovky, který posuvník nedokáže ovládat, nemůže objednávku dokončit. Ovládací prvek „Odstranit“ je sám o sobě protipříkladem – obvykle se jedná o malou ikonu ve tvaru křížku vedle každé položky, často bez viditelného textu, bez aria-label, a při odstranění řádku se nezobrazí žádné hlášení. Uživatel stiskne tlačítko, o kterém se domnívá, že slouží k odstranění, řádek zmizí a čtečka obrazovky mlčí. Neexistuje žádný způsob, jak ověřit, zda se akce podařila.

Několik stížností popisuje podobný druh selhání: celková částka v košíku se dynamicky aktualizuje při změně množství nebo vyřazení položek, avšak nová částka se zobrazuje jako běžný text v DOM mimo jakoukoli živou oblast, takže uživatel nemá ponětí, kolik mu bude účtováno.

Oprava

U každé položky by mělo být k dispozici označené tlačítko pro odstranění (např. "Remove Blue T-Shirt, size M, from cart"). Ovládací prvky pro nastavení množství by měly oznamovat svou aktuální hodnotu jako součást přístupného názvu nebo prostřednictvím spárovaných aktualizací živé oblasti. Mezičíslo košíku by mělo být umístěno uvnitř aria-live="polite" v dané oblasti, takže jsou změny oznamovány. Odstranění potvrďte pomocí funkce pro vrácení zpět.

Stránka košíku /košík WCAG 2.2 AA4.1.3 Stavové zprávy · 4.1.2 Název, role, hodnota · 2.4.4 Účel odkazu
Část II · Vzorce platné pro celý web
Chyby, které se opakují na každé stránce, bez ohledu na průběh návštěvy

Sedm prvků, které nejsou vázány na konkrétní fázi konverzního trychtýře. Jedná se o otázky infrastruktury – standardy na úrovni stránek, globální komponenty, základní obsah – a jakákoli chyba v této oblasti se projeví na každé stránce, kde se daná komponenta objeví.

E·01

Pole formuláře označené jako „pole pro úpravy“

Doslovný citát ze stížností
Žalobce narazil na neoznačená pole formuláře, která byla označena pouze jako „pole pro úpravu“, a nemohl uplatnit slevy ani dokončit platbu
Na stránce pro přihlášení nemá vstupní pole žádný popisek a není přečteno
Chybějící popisky polí ve formuláři • Problém: Chybí popisky u polí „Jméno“ a „E-mailová adresa“
Tlačítka pro zvýšení a snížení hlasitosti rovněž nemají popisky a nejsou oznamována uživatelům čteček obrazovky
Frekvence
17 693záznamů zařazených do kategorie „Hlasová oznámení čtečky obrazovky“
2 522záznamů přímo v kategorii Formuláře
Proč je žalována

Jedná se o nejrozsáhlejší kategorii v datovém souboru, protože jde o problém, jehož odhalení je nejméně nákladné, zatímco jeho ignorování je nejnákladnější. Čtečka obrazovky prochází strukturu DOM a narazí na <input>a přečte jeho popisný název, který vypočítá z následujících údajů v tomto pořadí: aria-labelledby, aria-label, přidružený <label for>, title atribut nebo zástupný symbol. Pokud žádný z nich neexistuje, čtečka obrazovky přečte pouze roli: „editovací pole“ nebo „editovací pole, prázdné“. Tato fráze se téměř doslovně opakuje ve stovkách záznamů o stížnostech.

Důvod, proč je to tak běžné, je strukturální. Moderní designové systémy často zobrazují v poli pro zadávání text náhradní text, který nahrazuje viditelný popisek, a vývojáři se domnívají, že tento náhradní text plní funkci popisku. Není tomu tak. Náhradní text zmizí, jakmile uživatel začne psát, nezanechá žádný programový název a pole se stane nepoužitelným pro kohokoli, kdo k němu dorazí později v rámci procesu nebo se k němu vrátí po chybě.

Oprava

Každý interaktivní ovládací prvek má viditelný popisek, který je k němu přiřazen programově. <label for="email">Email</label><input id="email" type="email"> je standardní postup. Zástupné symboly slouží pouze jako doplňkové vodítko, nikoli jako náhrada. U ovládacích prvků, u nichž je viditelný popisek skutečně nežádoucí (vyhledávací pole, tlačítka s ikonami), použijte aria-label s popisným textem – nikdy s duplicitním zástupným symbolem.

Zobrazit všechnyformuláře na webu WCAG 2.2 AA3.3.2 Popisky nebo pokyny · 1.3.1 Informace a vztahy · 4.1.2 Název, role, hodnota
E·05

Modální okno, které není ani ohlášeno, ani aktivní

Doslovný citát ze stížností
Toto vyskakovací okno není ohlášeno ani není aktivní
Kurzor se však do vyskakovacího okna nepřesune
Dialogové okno nezískalo automaticky fokus
Vyskakovací okno nezíská fokus a není ohlášeno
Frekvence
3 476záznamů o problémech týkajících se vyskakovacích oken, modálních oken a překryvných oken
1 165 záznamů,které zmiňují soustředění, útěk nebo propuštění
Proč je žalována

Fráze „nebylo oznámeno ani nebylo přiděleno fokus“ se doslovně objevuje ve více než 400 záznamech stížností a patří k nejčastěji opakovaným větám v celém souboru dat. Popisuje konkrétní typ selhání: na stránce se objeví modální okno nebo dialog (často automaticky – přihlášení k odběru newsletteru, ověření věku, potvrzení polohy), viditelný obsah se posune, ale čtečka obrazovky nedostane žádný signál, že se něco změnilo. Fokus zůstává na původní stránce. Uživatel pokračuje v procházení pomocí klávesy Tab tím, co bylo pod modálním oknem, aniž by si vůbec uvědomil, že se objevilo blokující dialogové okno.

Toto je typický příklad modálního okna, které selhává ve všech ohledech najednou: ne role="dialog", ne aria-modal="true", nedochází k programovému přesunu fokus na otevření, nedochází k uvíznutí fokusu při otevření, nedochází k zavření stisknutím klávesy Esc, nezobrazuje se hlášení o názvu. Jelikož se všechny tyto chyby vyskytují společně, opravou pouze jedné z nich se na stavu případu nic nezmění.

Oprava

Použijte zavedený vzor dialogového okna (vzorem je specifikace WAI-ARIA Authoring Practices). Při otevření: přesuňte fokus na první prvek v dialogovém okně, na který lze zaměřit fokus, nastavte aria-modal="true" a role="dialog", pojmenujte dialogové okno aria-labelledby s odkazem na jeho nadpis. Během zobrazení: udržujte fokus uvnitř dialogového okna. Při zavření: vraťte fokus na prvek, který okno vyvolal. Respektujte klávesu Esc. Pokud modální okno narušuje průběh akce (např. automatické přehrávání při načtení stránky), poskytněte uživateli jediný způsob, jak jej trvale zavřít.

Vyskakovací oknas novinkami· banner s informacemi o souborech cookie · věkové omezení · vysouvací okna pro potvrzení obsahu košíku WCAG 2.2 AA4.1.2 Název, role, hodnota · 2.4.3 Pořadí fokusů · 2.1.2 Žádné klávesové pasti · 4.1.3 Stavové zprávy
E·03

Chybějící indikátor zaostření

Doslovný citát ze stížností
Indikátory fokusu na klávesnici, které nejsou rozeznatelné
Navíc se u nich nezobrazují viditelné indikátory zaostření
indikátor fokusu klávesnice nebyl rozeznatelný
Mezi další porušení patří pastičky na klávesnici
Frekvence
7 294záznamů o problémech s navigací pomocí klávesnice a fokusem
197 záznamůtýkajících se konkrétně indikátorů zaostření nebo viditelného zaostření
Proč je žalována

Indikátory zaostření jsou obvykle záměrně odstraněny vývojářem nebo designérem, který vnímal výchozí obrys prohlížeče jako vizuální rušení a napsal *:focus { outline: none; } do globálního stylu. Stránka nyní působí na vidoucího uživatele s myší přehledněji. Pro vidoucího uživatele s klávesnicí – včetně většiny uživatelů se slabozrakostí, uživatelů s motorickým postižením a uživatelů, kteří se pohybují po stránce bez myši – se však stránka stává nepoužitelnou. Uživatel může stisknout klávesu Tab, ale nevidí, kde se právě nachází.

Jedná se o jeden z mála typů chyb, které lze odhalit i bez použití asistenčních technologií. Kontrolor kvality, který jednou projde domovskou stránku pomocí klávesy Tab bez použití dalších nástrojů, na ni narazí za méně než minutu. Skutečnost, že týmy pro přístupnost ji v rámci sporných webů nacházejí opakovaně, zatímco interní kontrola ji přehlédla, je jedním z nejspolehlivějších signálů v datovém souboru, že daný web vůbec neprošel testováním pomocí klávesnice.

Oprava

Nikdy nevypínejte vše najednou :focus obrysy bez náhrady. Použijte styl zvýraznění – obvykle obrys o šířce 2–3 px s dostatečným kontrastem jak vůči prvku, tak vůči jeho pozadí – pomocí :focus-visible takže se indikátor zobrazuje při navigaci pomocí klávesnice, ale ne při kliknutí myší. Ověřte to u všech interaktivních komponent, včetně vlastních widgetů, odkazů uvnitř karet a prvků s tabindex.

Povrch: Každýinteraktivní prvek na webu WCAG 2.2 AA2.4.7 Viditelný fokus · 2.1.1 Klávesnice · 1.4.11 Kontrast mezi textem a pozadím
E·04

Logo a ozdobné obrázky bez alternativního textu

Doslovný citát ze stížností
Chybí alternativní text k obrázku loga
Chybí alternativní text k obrázku loga
Chybí textový popis obrázku loga
Obrázek s prázdným atributem alt by neměl mít atributy title, aria-label ani aria-labelledby
Frekvence
6 337záznamů v sekci Obrázky + alternativní text
394 záznamů, které výslovně zmiňují logo webu
Proč je žalována

Logo je nejčastěji navštěvovaným obrázkem na webových stránkách a zároveň jedním z těch, u nichž dochází nejčastěji k chybám. Obvykle je součástí odkazu, který přesměrovává zpět na domovskou stránku, ale obrázek se načítá bez alt, ne aria-label na odkazu a žádný okolní text. Čtečka obrazovky přečte pouze „odkaz“, aniž by bylo jasné, kam to vede. A to na každé stránce webu.

Širší kategorie – obrázky bez alternativního textu – zahrnuje bannerové grafiky, fotografie produktů, úvodní ilustrace, symboly sociálních sítí a rozsáhlý katalog marketingových obrázků, které typický e-shop obsahuje. Stížnosti v této kategorii často uvádějí konkrétní názvy souborů obrázků, což naznačuje, že znalec žalobce provedl automatickou kontrolu, která vypsala všechny obrázky, u nichž alt atribut chyběl nebo byl prázdný, ačkoli měl být popisný.

Oprava

Loga by měla obsahovat alternativní text popisující název společnosti a, pokud logo odkazuje na nějakou stránku, také její adresu — alt="Acme Co. — homepage". Dekorativní obrázky mají prázdný atribut alt (alt=""), což je záměrně skrývá před asistenčními technologiemi. Informační obrázky by měly mít popisný alternativní text. Vyhněte se automatickému generování alternativního textu z názvů souborů nebo popisků vytvořených umělou inteligencí bez lidské kontroly; v záznamech o stížnostech se opakovaně objevují případy, kdy nástroje pro překryvný text označily firemní logo jako „modro-žlutý znak“.

LogoSurfaceHeader· bannery · produktové obrázky · marketingové stránky WCAG 2.2 AA1.1.1 Netextový obsah · 2.4.4 Účel odkazu
E·09

Prázdné odkazy a „klikněte zde“ / „číst dále“

Doslovný citát ze stížností
Web obsahuje prázdné odkazy bez textu
Například odkazy typu „Číst dále“ neposkytují dostatek kontextu
Například odkaz s popiskem „Klikněte sem“ neposkytoval dostatečný kontext
Nejasné popisy odkazů • Problém: Odkazy typu „klikněte sem“ neposkytují žádné informace o svém účelu
Frekvence
2 723záznamů v sekci Odkazy a tlačítka
85 záznamůodpovídajících vzorům „empty-link“ nebo „generic-link-text“
Proč je žalována

Čtečky obrazovky zobrazují režim „seznamu odkazů“, který zkušení uživatelé hojně využívají k rychlému prohledání stránky během několika vteřin. V tomto režimu se zobrazuje pouze text odkazu, oddělený od okolního odstavce. Stránka, na které každý úvodní odstavec blogu končí značkou „Číst dále“ se v tomto zobrazení zobrazí jako patnáct stejných položek. Stránka s pěti prázdnými odkazy — <a href="..."></a>, k čemuž často dochází, když jsou ikony umístěny v obalech odkazů bez náhradního textu — vygeneruje pět mezer.

Řešení je dobře známé a chyba je dobře známá, a proto se tento problém v stížnostech stále objevuje – jeho přetrvávání naznačuje, že vývojový proces neobsahuje automatizovanou kontrolu textu odkazů ani ruční kontrolu pomocí čtečky obrazovky.

Oprava

Každý odkaz musí mít popisný název, který vystihuje jeho cíl nebo funkci. Nahraďte obecné výrazy popisnými — „Číst dále“ stane se „Přečtěte si více o výsledcích za třetí čtvrtletí“. U odkazů tvořených pouze ikonou přidejte vizuálně skrytý text nebo aria-label. Proveďte automatickou kontrolu (axe, Lighthouse atd.) na prázdné <a> prvky během CI.

Celý web· upoutávky na blogu · zápatí · bloky souvisejícího obsahu WCAG 2.2 AAA2.4.4 Účel odkazu · 2.4.9 Účel odkazu (pouze odkaz)
E·06

Video bez titulků nebo přepisu

Doslovný citát ze stížností
Web obsahuje mnoho videí, která nemají titulky
Chybějící skryté titulky u videí na webových stránkách
Na webových stránkách je ještě mnoho dalších videí, která nemají titulky
Frekvence
3 355záznamů o video a audio obsahu
86 záznamů, které se konkrétně týkají titulků, automatického přehrávání nebo zvukového popisu
Proč je žalována

Ve stížnostech se videa objevují ve dvou podobách. První je zřejmá: marketingové video, ukázka produktu nebo vysvětlující video je zveřejněno bez titulků, přepisu nebo jakékoli textové alternativy – a návštěvník, který je neslyšící nebo má sluchové postižení, tak k obsahu nemá přístup. Druhý je subtilnější: úvodní video, které se spustí automaticky při načtení stránky, což narušuje výstup čtečky obrazovky a porušuje požadavky na ovládací prvky pro pozastavení/zastavení očekávané na úrovni WCAG 2.2 AA (podle SC 2.2.2 Pozastavit, zastavit, skrýt pro pohyblivý obsah a SC 1.4.2 pro jakýkoli zvuk).

Některé stížnosti v tomto souboru dat tvrdí, že „absence skrytých titulků u videí na webových stránkách představuje porušení zákona ADA“, což je formulováno jako právní závěr. To, zda tato interpretace obstojí, se liší podle jurisdikce a okolností; jistější však je, že tato videa soustavně nesplňují požadavky normy WCAG 2.2 AA, kterou většina soudů a mimosoudních dohod považuje za rozhodující měřítko shody.

Oprava

Zajistěte synchronizované titulky pro všechna předem nahraná videa se zvukem. Připojte také textový přepis; přepisy jsou užitečné pro uživatele s vypnutým zvukem, v prostředích s nízkou šířkou pásma a pro účely indexování. Vyhněte se automatickému přehrávání; pokud je automatické přehrávání nezbytné z designových důvodů, zajistěte ovládací prvky pro pozastavení/zastavení, které jsou okamžitě dostupné pomocí klávesnice. U obsahu, který obsahuje pouze video (bez zvuku), zajistěte zvukový popis nebo textovou alternativu.

VideaSurfaceHero· ukázky produktů · marketingové stránky · vložená videa z YouTube WCAG 2.2 AA1.2.2 Titulky (předem nahrané) · 1.2.5 Audio popis (předem nahraný) · 2.2.2 Pozastavit, zastavit, skrýt
E·15

Formuláře pro přihlášení, registraci a zadání hesla

Doslovný citát ze stížností
Uživatel nemůže vyplnit přihlašovací formulář
Uživatel se nemůže přihlásit ke svému účtu
Uživatel se nemůže přihlásit ke svému účtu
Uživatel se nemůže přihlásit při placení
Frekvence
1 158záznamů o problémech v sekci „Uživatelský účet + ověřování“
Proč je žalována

Přihlášení je klíčovým bodem celého procesu ověřování. Pokud formulář selže, všechny následující stránky se stanou nedostupnými a uživatelé často vnímají tuto řetězovou reakci jako jedinou překážku. Jedná se o stejnou chybu v označení formuláře jako u E·01, často v kombinaci se třemi konkrétními dílčími chybami: přepínač „Zobrazit heslo“ implementovaný jako tlačítko pouze s ikonou bez názvu a bez oznámení o změně stavu, CAPTCHA, která zcela znemožňuje použití čtečky obrazovky, a inline chyby („neplatné přihlašovací údaje“), které se zobrazují na obrazovce, ale nejsou oznamovány.

Zaškrtávací políčko „Zapamatovat si mě“ představuje další opakující se dílčí chybu: je zobrazeno jako stylizovaný <div>, přičemž skutečný <input> Jelikož je zaškrtávací políčko skryté mimo obrazovku, lze jej ovládat myší, nikoli však klávesnicí ani čtečkou obrazovky. Uživatel nemá možnost zvolit si trvalou relaci.

Oprava

Použijte skutečné <input>, <label>a <button> prvky. Udělejte z přepínače pro zobrazení/skrytí hesla skutečné tlačítko s popisným názvem, který se mění podle aktuálního stavu ("Show password" / "Hide password") a oznámit tuto změnu pomocí aria-pressed. Zajistěte bezbariérovou alternativu k obrazovým CAPTCHÁM (zvuková CAPTCHA nebo – v ideálním případě – nahraďte CAPTCHU ověřením založeným na riziku či bezbariérovými variantami hCaptcha).

StránkySurfaceLogin· přihlášení k platbě · ovládací panely účtů WCAG 2.2 AA3.3.2 Popisky nebo pokyny · 4.1.2 Název, role, hodnota · 1.1.1 Netextový obsah (CAPTCHA)
Část III · Infrastruktura a vzory na úrovni kódu
Chyby způsobené volbami v oblasti značkovacího jazyka, struktury a nástrojů

Čtyři příklady, které ilustrují selhání architektury, nikoli konkrétního uživatelského rozhraní. Jedná se o rozhodnutí přijatá na úrovni nad rámec jednotlivých stránek – struktura nadpisů, kompatibilita s mobilními zařízeními, závislost na řešeních třetích stran –, jejichž dopady se projevují ve všech oblastech.

E·10

Struktura stránky: chybí nadpis H1, nefunkční orientační body, není uveden jazyk

Doslovný citát ze stížností
Chybí značka nadpisu – H1
Nesprávná struktura nadpisů a chybějící deklarace jazyka dokumentu
Main landmark not announced by screen reader • Issue: The <main> landmark is not defined within the page
Na stránce chybí odkaz pro přeskočení nebo orientační bod, který by uživatelům klávesnice umožnil přeskočit na další část
Frekvence
2 485záznamů týkajících se struktury stránky a sémantiky
Více než 950 záznamů, které se konkrétně zabývají záhlavími, orientačními body nebo otázkami týkajícími se H1
Proč je žalována

Čtečky obrazovky zobrazují stránku ve třech režimech navigace: podle nadpisů, podle orientačních bodů a podle odkazů. Stránka, která se dodává bez <h1>, aniž by <main>, <nav>a <footer> památky a bez lang="en" atribut na <html> prvek odstranil všechny tři tyto navigační režimy najednou. Uživatelé nemají možnost procházet stránku, nemají možnost přejít přímo k obsahu a čtečka obrazovky nemůže načíst správný modul pro výslovnost.

Jedná se o neobvykle závažnou chybu: chybějící jediný orientační bod vyvolá řetězovou reakci stížností, protože selhávají všechny navigační strategie čteček obrazovky, které se na něm zakládají. Stížnosti této kategorie obvykle uvádějí čtyři či pět konkrétních strukturálních problémů najednou a prezentují je jako důkaz toho, že web postrádá sémantický základ.

Oprava

Každá stránka má přesně jednu <h1>, s podnadpisy (<h2>, <h3>) logicky vnořené. Oblasti obalte do prvků HTML5 pro orientační body: <header>, <nav>, <main>, <aside>, <footer>. Nastavit lang v kořenovém adresáři <html> prvek. Ověřte pomocí nástroje pro kontrolu obrysů nebo spusťte document.querySelectorAll('h1').length === 1 jako zkušební test v CI.

Zobrazit všechnystránky WCAG 2.2 AA1.3.1 Informace a vztahy · 2.4.6 Nadpisy a popisky · 3.1.1 Jazyk stránky
E·17

Překážky dostupné pouze na mobilních zařízeních

Doslovný citát ze stížností
Chyby se mobilním jednotkám SRU neoznamují
Nabídka není oznamována uživatelům mobilních čteček obrazovky (SRU)
Například název pole „Číslo mobilního telefonu“ není přečten
Mobilní SRU nemohou jako způsob platby vybrat tlačítko „Apple Pay“
Frekvence
787záznamů v sekci Mobilní zařízení a responzivní design
203 záznamů, které výslovně porovnávají chování uživatelů na mobilních zařízeních a stolních počítačích
Proč je žalována

Většina testování přístupnosti se provádí v prohlížečích na stolních počítačích s NVDA nebo JAWS. Mobilní asistenční technologie – VoiceOver v systému iOS, TalkBack v systému Android – zobrazují stejný DOM odlišně, často s jinými chybami. Stížnosti opakovaně používají zkratku „mobile SRU“ (uživatel mobilního čtečky obrazovky) k označení selhání, která jsou specifická pro mobilní zobrazení: hamburgerové menu, které funguje s NVDA na stolním počítači, ale v VoiceOveru nereaguje, tlačítko Apple Pay, které je dostupné na notebooku, ale ne na ekvivalentní stránce pro iPhone, chybové zprávy, které se oznamují na stolním počítači, ale ne na mobilu.

Data naznačují, že žalovaní, u nichž je přístupnost na stolních počítačích jinak bezchybná, jsou i nadále žalováni kvůli problémům specifickým pro mobilní zařízení. Sladění s mobilními verzemi je samostatným kritériem pro úspěšné absolvování auditu.

Oprava

Aplikaci otestujte alespoň pomocí funkcí VoiceOver v prohlížeči Safari pro iOS a TalkBack v prohlížeči Chrome pro Android, a to na stejných scénářích, jaké pokrývá testování kvality na počítači. Zvláštní pozornost věnujte interakcím pomocí gest, nativním platebním tlačítkům a hlášení o polích formuláře při jejich aktivaci. Pokud existuje nativní aplikace, proveďte u ní stejnou kontrolu – stížnosti se často týkají jak webové verze, tak aplikace v rámci stejného případu.

Webpro Surface Mobile· nativní aplikace pro iOS a Android WCAG 2.2 AAAll— použito pro mobilní zobrazení · 2.5.1 Gesta ukazatele · 2.5.2 Zrušení ukazatele
E·14

Samotná vrstva pro přístupnost nebo widget

Doslovný citát ze stížností
Widgety pro zobrazení přístupnosti, jako je UserWay, nemohou a ani neodstraňují překážky přístupnosti na úrovni kódu
Žalobce tvrdí, že zná překryvný widget společnosti accessiBe a že „pro zcela nevidomého člověka prostě nefunguje“.
Problémy způsobené pluginem AccessiBe pro úpravy přístupnosti: Plugin AccessiBe místo řešení problémů s přístupností vytváří značné překážky v přístupnosti
Widgety automaticky zobrazující informace o přístupnosti nezajišťují rovný přístup a mohou uživatelům se zdravotním postižením ve skutečnosti vytvářet další překážky
Frekvence
1 210záznamů o problémech týkajících se komponent třetích stran
26 záznamů, které výslovně uvádějí jméno dodavatele nebo popisují chyby způsobené overlayem
Proč je žalována

Překryv pro přístupnost je jediným příkladem v tomto katalogu, kde chyba vůbec nespočívá v samotném webu – nachází se v údajné opravné vrstvě, která byla přidána za účelem jejího odstranění. Stížnosti v této kategorii popisují dvě odlišné problémy. Prvním je, že překryvy ve skutečnosti neodstraňují základní překážky, takže se uživatel setkává se stejnými nefunkčními modálními okny, nesprávně označenými formuláři a neoznámenými chybami bez ohledu na to, zda je daný prvek přítomen. Druhá je ještě závažnější: překryvy někdy způsobují nové chyby tím, že vkládají nesprávné popisky, nesprávně používají role ARIA nebo zasahují do konfigurace asistenčních technologií uživatele.

Za zmínku stojí jedna podrobnost: stížnosti z let 2024 a 2025 stále častěji uvádějí jméno dodavatele overlayového řešení. Dvě konkrétní pasáže ve stížnostech jednoznačně zmiňují společnosti UserWay a AccessiBe, a nedávná opatření Federální obchodní komise (FTC) vedla k tomu, že přidání overlayového řešení nyní představuje výslovné riziko, že bude považováno za důkaz neuskutečnění skutečných nápravných opatření – nikoli za obranu proti soudnímu sporu.

Oprava

Považujte překryvné vrstvy za dočasné řešení, nikoli za trvalou nápravu. Pokud je některá z nich v současné době nasazena, připravte plán skutečné nápravy, který se zaměří na základní kód, místo aby jej pouze maskoval. Osvědčeným postupem je kombinace následujících prvků: automatizovaný skener integrovaný do procesu CI, manuální kontrola podle standardu WCAG 2.2 AA, ruční testování s využitím alespoň jednoho čtečky obrazovky a navigace pouze pomocí klávesnice a průběžná kontrola přístupnosti v rámci procesu návrhu a vývoje.

Widget překryvného prvkupro celý web WCAG 2.2 AA Překryvynesplňují požadavky na shodu s úrovní AA · všechny relevantní podpůrné kritéria zůstávají v rozsahu

Co mají těchto devatenáct vzorů společného

Katalog není náhodným výběrem. Přečtěte si příklady v pořadí a zjistíte, že se opakovaně objevuje několik strukturálních vzorců – vzorců, které vysvětlují, proč právě tyto konkrétní chyby převažují, nikoli na jakém povrchu se vyskytují.

  1. Vlastní komponenty JavaScriptu nahrazující nativní prvky HTML

    Všechny nejčastěji zmiňované selhání souvisejí s <div> vykonávat práci <button>, a <label>, a <select>nebo <dialog>. Pokud se používá původní prvek, k tomuto problému dochází jen zřídka. Pokud je tento prvek nahrazen – obvykle z důvodů vizuálního designu – k tomuto problému dochází spolehlivě.

  2. Chybějící programové souvislosti mezi viditelným obsahem a jeho významem

    Zástupný znak je považován za popisek. Hvězdička je považována za aria-required. Červený rámeček je považován za chybovou zprávu. Uživatelé bez zrakového postižení vidí vztahy vizuálně; uživatelé asistivních technologií vidí pouze vztahy, které existují v DOM.

  3. Změny stavu, které nejsou oznamovány

    Potvrzení přidání do košíku, počet výsledků vyhledávání, chyby při ověřování, otevírání modálních oken, aktualizace celkové částky v košíku – každá dynamická změna stavu v katalogu je předmětem alespoň jedné stížnosti, která ji popisuje jako „tichou“. Stavové zprávy a živé oblasti představují nejvíce nevyužívanou část sady nástrojů WAI-ARIA.

  4. Rozdíly mezi mobilními a stolními zařízeními

    Stejná komponenta, vytvořená jednou pomocí sémantického HTML, funguje jak ve VoiceOveru, tak v NVDA. Stejná komponenta vytvořená pomocí vlastního kódu JavaScriptu často projde testováním kvality pro stolní čtečky obrazovky, ale na mobilních zařízeních selže, protože vykreslování v mobilních čtečkách odhalí v tom samém kódu jiné chyby.

  5. Stížnosti jsou formulářové, ale chyby, které jsou jejich příčinou, nejsou smyšlené

    Šablonovité formulace žalob se doslovně opakují ve stovkách případů – konkrétní zjištění na úrovni jednotlivých skutkových okolností v každé žalobě jsou však ověřitelná a jsou správná. To, že advokátní kancelář žalobce používá šablonový rámec, neznamená, že jsou základní sporné body smyšlené; znamená to pouze, že se na stejné opakující se chyby uplatňuje stejný postup.

Co zkontrolovat jako první, pokud nemáte zavedený program pro zajištění přístupnosti

Výše uvedený seznam je vyčerpávající, ale není seřazen podle priority pro třídění. Pokud tým začíná od nuly a chce vědět, které prvky má před dalším vydáním zkontrolovat, nabízí tento soubor dat jasné pořadí – vycházející jak z četnosti výskytu, tak z přítomnosti či absence těchto vzorců ve skutečných záznamech o stížnostech. Níže uvedený seznam nenahrazuje úplnou kontrolu podle WCAG 2.2 AA, pokrývá však nedostatky, které se opakují v nejvyšším počtu případů.

Úroveň 1 – Nejvyšší četnost výskytu, nejnižší náklady na opravu

  • Procházejte svou domovskou stránku pomocí klávesy Tab. Vidíte, kde se právě nachází kurzor? (E·03)
  • Otevřete zdrojový kód stránky a zkontrolujte každý <input> na každém formuláři je skutečný <label>. (E·01)
  • Otevřete každý modální prvek pomocí čtečky obrazovky. Je prvek přečten? Přesune se do něj fokus? (E·05)
  • Spusťte automatizovaný skener (např. DevTools, Lighthouse) na svých pěti nejčastěji používaných šablonách. (E·04, E·09, E·10)

Úroveň 2 – Nejvyšší finanční riziko v případě poruchy

  • Proveďte kompletní proces platby od začátku do konce pomocí čtečky obrazovky, včetně záměrné chyby při ověřování. Jsou chyby nahlas ohlášeny? Jsou povinná pole nahlas ohlášena? (E·11)
  • Přidejte produkt do košíku pomocí čtečky obrazovky. Slyšíte, že se obsah košíku aktualizoval? (E·18)
  • Vyhledávací pole a funkci automatického doplňování lze ovládat pouze pomocí klávesnice. Můžete se dostat k návrhu a vybrat jej? (E·13)
  • Zkontrolujte, zda má každý vstupní pole v platebním formuláři skutečný název, nikoli pouze zástupný text. (E·19)

Úroveň 3 – Při testování na stolních počítačích se snadno přehlédne

  • Opakujte kroky 1 a 2 v prohlížeči Safari na iOS s funkcí VoiceOver a v prohlížeči Chrome na Androidu s funkcí TalkBack. (E·17)
  • Pokud máte nasazenou překryvnou vrstvu pro usnadnění přístupu, naplánujte její odstranění v rámci plánu skutečných nápravných opatření. (E·14)
  • Zkontrolujte, zda každé video obsahuje titulky a přepis. (E·06)
Závěrem

Seznam položek, na které se vztahuje žaloba, je krátký, nemění se a je viditelný přímo na úvodní stránce.

Výše uvedených 19 vzorců představuje drtivou většinu záznamů o problémech v rámci 113 120 roztříděných stížností v 8 788 federálních případech. Nejedná se o nic nového. Není těžké je najít. Jde o stejný proces platby, stejné vyskakovací okno, stejné logo a stejná pole formuláře, na která by člověk narazil při jakémkoli třicetiminutovém procházení webu pomocí klávesnice a čtečky obrazovky.

Jde právě o tu asymetrii. Žalobci jsou dobře organizovaní, disponují dostatečnými zdroji a s průmyslovou efektivitou porovnávají případy s tímto seznamem – polovina sporů se vyřeší mimosoudně do 100 dnů. Žalovaní naopak celkově stále dokola předkládají stejné vzorce, často s nějakým přidaným prvkem, který má sloužit jako zdánlivá obhajoba.

Úsilí o odstranění této asymetrie není právní záležitostí. Jedná se o inženýrskou a projektovou disciplínu aplikovanou na známý, konečný seznam. Tento článek je tímto seznamem.

Metodika a data: 19 příloh vychází ze 113 120 jednotlivých popisů problémů rozdělených do 27 funkčních kategorií, které byly získány z dokumentů stížností v 8 788 federálních případech týkajících se přístupnosti webových stránek podle hlavy III zákona ADA (záznamy PACER, 2007–duben 2026). Počty problémů uvedené v jednotlivých přílohách odrážejí kategorizované záznamy v příslušném listu, nikoli jedinečné případy – jeden případ obvykle generuje desítky záznamů. Doslovné citace jsou reprodukovány tak, jak se objevují v podkladových záznamech stížností, pouze s drobnými opravami způsobenými OCR.

Odkazy na WCAG:Kritéria úspěšnosti jsou uvedena ve verzi WCAG 2.2 AA, kterou federální soudy USA a dohody o urovnání s Ministerstvem spravedlnosti (DOJ) nejčastěji považují za rozhodující měřítko shody. WCAG 2.2 zavádí další kritéria úspěšnosti, avšak v rámci zde analyzovaných soudních sporů zatím není standardem, na který se standardně odkazuje.

Upozornění: Tentoprůvodce má pouze informativní charakter a nepředstavuje právní poradenství. To, zda konkrétní prvek uživatelského rozhraní zakládá právní odpovědnost, závisí na příslušné jurisdikci, kategorii veřejného zařízení žalovaného, konkrétní újmě žalobce a způsobu, jakým byla daná záležitost v soudním řízení formulována. Několik citovaných pasáží z žalobních návrhů obsahuje právní závěry (např. že absence titulků „představuje porušení zákona ADA“), které je třeba vnímat jako tvrzení žalobců, nikoli jako platné právní normy.

(systém federálního soudnictví pro veřejný přístup k elektronickým soudním záznamům)