Přejít k navigační liště

Zdroják » Různé » WAI ARIA 1.0 byla vydána jako doporučení W3C

WAI ARIA 1.0 byla vydána jako doporučení W3C

Články Různé

O přístupnosti javascriptových aplikací pomocí ARIA jsme tu už psali. Před několika týdny vyšla finální verze její specifikace. Podpora v prohlížečích je více než skvělá, pokud jste doteď ARIA ignorovali, nastal čas to změnit.

Nálepky:

Tento text původně vyšel na webu Poslepu.

Specifikace Accessible Rich Internet Applications (WAI-ARIA) 1.0 a WAI-ARIA 1.0 User Agent Implementation Guide byly 20. března 2014 vydány jako Doporučení W3C (W3C Recommendation). Co to v praxi znamená a jaké výhody WAI ARIA kodérům přináší?

Co je a k čemu se hodí WAI ARIA?

WAI ARIA je nástroj, který pomáhá zlepšit sémantiku webu či webové aplikace a tím poskytnout asistivním technologiím informace, které jim HTML dát nemůže. Pomáhá tedy vyřešit problémy s přístupností všude tam, kde HTML nestačí. Vývojářům nabízí:

  • Role, pomocí nichž je možné popsat jednotlivé typy widgetů, jako jsou „menu“, „treeitem“ či „slider“.
  • Role, pomocí nichž lze popsat strukturu webové stránky – tzv. oblasti stránky.
  • Vlastnosti, pomocí nichž lze popsat, v jakém stavu se jednotlivé widgety nacházejí.
  • Způsob, jak ošetřit přístupnost z klávesnice pro jednotlivé objekty na webové stránce.

WAI ARIA například velmi snadno umožňuje zlepšit přístupnost informací o webové stránce jako celku. Pomocí tzv. oblastí stránek (landmarků) je možné přiřadit role jednotlivým částem stránky a umožnit tak uživatelům nejen velmi snadno získat přehled o tom, z jakých částí se stránka skládá, ale i se na ně velmi rychle přesunout. Oproti doposud používaným nadpisům pak mají oblasti stránek nejméně dvě výhody:

  • lze pomocí nich vyznačit celou oblast (tedy ne jen její začátek, jako je tomu v případě nadpisů).
  • Lze s nimi pracovat odděleně od nadpisů. To v praxi mimo jiné znamená, že uživateli už se při orientaci na stránce nemíchají dohromady nadpisy, které bezprostředně souvisí s hlavním sdělením stránky, a nadpisy „servisní“, které uvozují například menu, vyhledávání, atp.

Vzhledem k tomu, že nadpisy jsou stále mezi uživateli používány jako primární navigační mechanismus při pohybu po stránce a oblasti stránek nejsou ještě tak masivně používány, je vhodné tyto dva přístupy kombinovat.

V praxi to pak vypadá (a probíhá) velmi jednoduše. Pokud chceme o nějakém divu říci, že obsahuje hlavní obsah stránky, uděláme to snadno přiřazením role main. Tedy takto:

<div role="main">
<h1>Hlavní nadpis</h1>
Hlavní obsah stránky
</div>

Role můžeme využít nejen pro oblasti stránky, ale i pro sémantický popis jednotlivých HTML elementů. Pokud div obsahuje například seznam (listbox), můžeme díky WAI ARIA tuto skutečnost sdělit asistivní technologii (například screen readeru) a ta bude na obsah tohoto divu následně nahlížet jako na seznam.

Pomocí WAI ARIA pak můžeme u jednotlivých elementů (widgetů) popsat i to, v jakém se nacházejí stavu – tedy jestli jsou rozbaleny nebo sbaleny, zda je editační pole ve formuláři povinné, atp. Pokud stránka obsahuje nějaký dynamicky měnící se obsah, i ten lze pomocí WAI ARIA zpřístupnit.

Poslední, ale neméně důležitou oblastí, kde WAI ARIA pomáhá, je pak zlepšení přístupnosti z klávesnice. Zatímco u HTML 4.01 je možné se z klávesnice dostat pouze na odkazy a formulářové prvky, WAI ARIA rozšiřuje přístupnost z klávesnice tím, že umožňuje přiřazení vlastnosti tabindex jakémukoliv elementu.

Jak je na tom WAI ARIA s podporou v prohlížečích?

Podpora WAI ARIA je na velmi slušné úrovni jak v moderních prohlížečích, tak v asistivních technologiích, takže ani z praktického úhlu pohledu není nejmenší důvod ji nepoužívat.

Kdy použít některou z technik z WAI ARIA?

Odpověď je velmi jednoduchá – pokaždé, když nám k zajištění bezproblémové přístupnosti nedostačují prostředky, které nabízí HTML. WAI ARIA se také hodí v situacích, kdy je přístupnost řešena ex post a není již možné jednoduše zasahovat do kódu webu či aplikace. Je potřeba vyznačit jednotlivé oblasti stránky? Zpřístupnit formulářové prvky? Zlepšit přístupnost z klávesnice? K tomu všemu se WAI ARIA naprosto perfektně hodí.

K čemu se WAI ARIA nehodí?

Ke všemu, co lze udělat pomocí nativního HTML. Připomeňme si, že WAI ARIA nemění chování prohlížeče, ale jen poskytuje asistivním technologiím informace, které by jinak nemohly získat. Pokud tedy například uděláme z divu přepínač, musíme se pak postarat i o jeho přístupnost z klávesnice, reakci na stisknutý Enter/Mezerník a vůbec všechny vlastnosti, které má má mít přepínač.

Pro získání základního přehledu o tom, k čemu je možné WAI ARIA (v kombinaci s HTML5) použít, nabízím slajdy k mé loňské prezentaci, případně odkazy na další zdroje na konci tohoto článku.

Pokud ještě WAI ARIA nepoužíváte, určitě to zkuste – většina věcí nevyžaduje zdlouhavé studium spousty materiálů a dá se implementovat prakticky okamžitě.

Komentované slajdy k prezentaci Jak může HTML5 a WAI ARIA zlepšit virtuální prostor univerzity

Související odkazy

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted

Frugal computing: architektura pro dobu dražší infrastruktury

Vývojáři se naučili zrychlovat dotazy, přidávat cache, škálovat služby a hlídat účet za cloud. Frugal computing začíná o jednu otázku dřív: musí se výpočet, přesun dat, volání modelu nebo uložení vůbec stát? Rostoucí spotřeba datových center a nové evropské reportování ho posouvají do návrhu architektury, dřív než do závěrečné poznámky o udržitelnosti v prezentaci.

Odysseus: PewDiePie vydal open-source AI workspace, který běží na vašem vlastním hardwaru

AI
Komentáře: 0
Felix Kjellberg, youtuber se 110 miliony odběratelů, strávil rok učením se programovat a fine-tuningem vlastních AI modelů. Výsledkem je Odysseus – bezplatný, open-source workspace pro práci s umělou inteligencí, který neposílá žádná data do cloudu. Projekt má týden, přes 61 000 hvězdiček na GitHubu a znovu otevírá otázku, komu vlastně patří váš digitální kontext.

Když Git už nestačí: jak izolovat databázový stav pro pokusy AI agentů

Gitová větev vývojářům oddělí kód, ale databáze často zůstává společná. U AI agentů je to slabé místo: rychle spouštějí migrace, mění data a zkoušejí víc cest najednou. Databázová větev jim dá vlastní pracovní prostor, jenže tím práce nekončí. Ještě je potřeba řešit citlivá data, oprávnění, životnost větve i zbytek stavu aplikace.