This translation has not been editorially reviewed yet. The German version is authoritative. Deutsche Fassung →
Název, role, hodnota a stavová hlášení: co pomocné technologie čtou z kódu
Každý ovládací prvek musí pomocným technologiím umožnit rozpoznat, jak se jmenuje, co je a v jakém je stavu. A hlášení, která se objeví bez změny stránky — „uloženo“, „3 výsledky“, „chyba“ —, musí být ohlášena, aniž by přesunula fokus.
- Kdo používá standardní prvky, splní většinu sám od sebe: <button> hlásí roli a stav bez zásahu. Problémy vznikají u napodobených prvků — <div> s událostí kliknutí nemá roli, název ani stav.
- ARIA je přitom nástrojem i zdrojem chyb zároveň: špatně nastavené atributy zhoršují situaci víc než žádné. aria-expanded, které neodpovídá skutečnému stavu, aktivně říká uživateli něco nesprávného.
- Stavová hlášení jsou nejčastějším případem u vyhledávacích polí s okamžitým výsledkem: počet výsledků se viditelně mění, ale nikdy se neohlásí. Kdo nevidí, se o tom nic nedozví.
FAQ
Je ARIA vždy lepší než čisté HTML?
Naopak. Standardní prvky s sebou nesou roli, název a stav; ARIA by měla jen doplňovat to, co HTML nedokáže vyjádřit. Špatná ARIA napáchá víc škody než žádná.
Co je stavové hlášení?
Zpětná vazba, která se objeví bez změny stránky a nedostane fokus: počty výsledků, potvrzení uložení, upozornění na načítání, souhrny chyb.
Proč kontrola hlásí chyby, přestože stránka vypadá ovladatelně?
Protože „vypadá ovladatelně“ a „je strojově čitelné“ jsou dvě různé věci. Napodobený ovládací prvek funguje s myší bezvadně a přesto je pro screen reader jen textový blok.