Seriál: Praktický vhled do WAI-ARIA – díl 1
Proč a kdy ARIA vznikla
Proč vlastně ARIA vznikla
V polovině dvoutisících let se začaly objevovat webové aplikace místo webových dokumentů — a to ještě předtím, než se pro tenhle posun vžil termín AJAX. Nejznámějšími příklady, na kterých si to později uvědomila celá branže, byl Gmail (2004) a Google Maps (2005), ale samotný problém byl na světě dřív: podobně interaktivní, jen mnohem méně známé webové aplikace vznikaly už o pár let dříve, mimo jiné přímo uvnitř IBM. Aplikace se měnily bez přenačtení stránky, různě se objevoval nový obsah, ale uživatelé odečítačů obrazovky se o takových změnách neměli šanci vůbec dozvědět, protože do té doby byl web víceméně statický a jediné, co se snad mohlo na webové stránce hýbat, byla javascriptová menu a podobné drobnosti. Ale stále to nebyly pořádné webové aplikace.
Navíc se měnila i role HTML prvků, které do té doby byly jen statické kontejnery (třeba <span> a <div>) a maximálně sloužily jako obal pro nastylování pomocí kaskádových stylů. Ale nyní už se měnily v posuvníky, stromové struktury nebo třeba záložky. Pro vizuální vnímání to vůbec nebyl problém, ale jak jsem již zmiňoval, odečítače obrazovky si s tím neuměly poradit a uživatel prakticky musel hledat po stránce, co se kde změnilo, objevilo apod. Zvláště třeba u Gmailu to bylo doslova otravné, kdy prakticky každá interakce s rozhraním překreslila jinou část stránky, což z hlediska přístupnosti nebylo vůbec dobré, protože čtečka neměla na takovém <div> nebo <span> prvku definovanou roli ani stav.
Tohle vše měla vyřešit specifikace ARIA (Accessible Rich Internet Applications). Úkolem bylo dát vývojářům nástroj, jak různým asistivním technologiím (především odečítačům obrazovky) říct, co vlastní AJAX widget dělá, byť klasické HTML na to nestačí.
Kdy nová specifikace ARIA přišla?
Myšlenka se datuje kolem roku 2003, kdy se Rich Schwerdtfeger v IBM stal architektem pro přístupnost a hned narazil na webovou kancelářskou aplikaci, kterou odečítače obrazovky nedokázaly rozumně přečíst - sám o tom později řekl, že to bylo ještě „roky předtím, než vůbec někdo vymyslel Google Docs". Spolu s T. V. Ramanem pak hledali způsob, jak zjistit povahu DHTML widgetu, aniž by se musel spouštět JavaScript - tedy ještě dřív, než AJAX v podání Gmailu nebo Google Maps udělal ze stejného problému něco, co narazilo úplně každý. Formálně to u W3C začalo 26. září 2006, kdy Web Accessibility Initiative zveřejnila „Roadmap for Accessible Rich Internet Applications" a první návrhy rolí a stavů/vlastností. Na specifikaci se podílely Adobe, AOL, IBM, Opera, Oracle, RNIB a SAP.
Mezi prvními prohlížeči s funkční podporou ARIA byl Firefox 1.5-3.0. Implementoval ji Aaron Leventhal (IBM) spolu se Schwerdtfegerem, a to tak, že prohlížeč začal ARIA role a stavy z HTML překládat do accessibility API operačního systému — tedy do stejného rozhraní, přes které se čtečka obrazovky dozvídá i o běžných tlačítkách nebo nabídkách. Bez této práce na straně prohlížeče by ARIA byla jen sada atributů v HTML, kterou by na druhé straně nikdo neuměl přečíst.
Mezi prvními JavaScriptovými knihovnami, které ARIA zabudovaly přímo do svých widgetů, byla Dojo Toolkit - tehdy jedna z hlavních knihoven pro tvorbu interaktivních webových rozhraní, v podstatě obdoba dnešního Reactu nebo Vue, jen o dost starší. Verze 1.0 vyšla v listopadu 2007 a její vlastní widgety (třeba stromové menu nebo posuvník) rovnou generovaly HTML se správnými ARIA rolemi a stavy, takže si to vývojář nemusel domýšlet a dopisovat ručně sám.
Koncept, na kterém ARIA stojí — paralelní „strom přístupnosti" s rolemi, stavy a vlastnostmi vedle běžného DOM — si ARIA nevymyslela sama. Přejala ho z desktopových accessibility API: rozhraní, přes které si operační systém a asistivní technologie (čtečka obrazovky, hlasové ovládání...) předávají informace o tom, jaký prvek je zrovna na obrazovce a v jakém je stavu — něco jako ARIA, jen pro klasické desktopové aplikace místo webu. Tahle rozhraní existovala už roky předtím: na Windows to byla Microsoft Active Accessibility z roku 1997 (dnes nahrazená modernějšími IAccessible2 a UI Automation), na Linuxu ATK/AT-SPI, na macOS AX API. Specifikace Core-AAM (Core Accessibility API Mappings) dodnes přesně definuje, jak se ARIA role/stavy/vlastnosti mapují na tahle konkrétní platformní API — je to zdokumentovaná linka mezi desktopovou a webovou přístupností.
Komentáře
Zatím zde nejsou žádné komentáře. Buďte první, kdo napíše svůj názor.
Přidat komentář k „Proč a kdy ARIA vznikla“