Při zběžném seznámení s principem odečítání webových stránek se může zdát, že styly tvořící grafický vzhled stránky nejsou směrodatným zdrojem informací pro zrakově postižené uživatele. Existují vlastnosti kaskádových stylů, které skutečně uživatelům prakticky nic neřeknou, jako např. rozměry a umístění boxů. Existuje ale také nezanedbatelná skupina vlastností, jejichž nereflektování by použití webové stránky omezilo či znepřehlednilo.
Uveďme si na začátek příklad: v registračním formuláři e-shopu lze zadat kontaktní a dodací adresu. Pokud je dodací adresa shodná s kontaktní, jsou příslušná pole skryta pomocí stylů. Zaškrtnutím zaškrtávacího políčka pro vyznačení neshody kontaktní a dodací adresy se daná oblast formuláře odkryje a lze ji vyplnit. Pokud by odečítač neinterpretoval styly, znamenalo by to, že uživatel by se dostal k části formuláře, která není relevantní. Takové chování by bylo nepraktické, až matoucí.
Zkusme si postupně projít specifikací CSS 2.1 a okomentovat si ty části, které by pro odečítače mohly být využitelné. Rovněž si uvedeme, jak jsou na tom s podporou těchto vlastností odečítače JAWS a NVDA, při čemž jako podklad k testování poslouží "stránka se vzorovými styly".
1. Styly pro určité médium
CSS disponují elegantními prostředky, jak vzhled stránky přizpůsobit danému médiu, přičemž mezi tyto média lze počítat i hlasový a braillský výstup. Odečítače jsou však zaměřeny pouze na médium používané v prohlížeči, kterým je obrazovka (screen). Tím pádem nelze volbu média, na které se bude styl aplikovat, použít např. pro skryté orientační nadpisy, jejichž čtení by bylo zajištěno pouze hlasovým či braillským výstupem. V tom spočívá důvod, proč je nutné používat triky založené na odsunování obsahu mimo viditelnou oblast stránky, jak jsme již několikrát na našem blogu psali.
2. Skrývání a neviditelnost obsahu
Pokud nějaká část obsahu stránky je označena jako neviditelná či má nastaven typ zobrazení na žádné, je taková část stránky odečítačem vždy ignorována, což umožňuje odečítat jen ty informace, které běžný uživatel vidí na obrazovce.
3. Automaticky generovaný obsah
Odečítače obecně nepodporují vlastnost Content, což má za následek, že takto vkládaný obsah není odečítačem čten a to jak obyčejný text, mezi který můžeme počítat např. šipky vkládané do drobečkové navigace tímto způsobem, tak i čítače použité v testovacím dokumentu k tomuto článku.
4. Víceúrovňové seznamy
Styl číslování seznamů dovedou do svého výstupu promítnout i odečítače, což v praxi znamená, že seznam nastylovaný jako lower-latin nebude čten jako 1., 2., 3. ..., ale jako a., b., c. ... Těchto více druhů číslování se uplatní zejména ve víceúrovňových seznamech, jak je ukázáno v testovacím dokumentu. V takovém víceúrovňovém seznamu je lehké se pomocí odečítače zorientovat, neboť jednotlivé druhy číslování jsou čteny tak, jak je určeno ve stylech.
5. Barvy popředí a pozadí
Ač se může zdát, že informace o barvách pro zrakově postižené uživatele nemají význam, existují situace, kdy obsah stránky je barevně zvýrazněn tak, aby vyjadřoval nějakou další informaci a byl přitom přehledný (např. položky v seznamu zboží vyvedené šedým písmem nejsou již v prodeji). V takové situaci musí mít uživatel informace o barvách k dispozici.
JAWS takovou funkcí disponuje a umí dokonce barvy popsat v několika odstínech a stupních jasu, byť trochu technickým jazykem. Tyto informace nejsou však nikdy čteny automaticky a musí si je uživatel buď vyžádat, nebo přepnout odečítač do řečového schématu, kdy jsou čteny změny barev. Stručně řečeno: JAWS barvy ze stylů používat umí, ale na informace zakódované v barvách by uživatel měl být implicitně upozorněn nějakým textovým sdělením, jako je legenda k tabulce apod.
NVDA s barvami pracovat prozatím neumí, což znemožňuje se k barevnému odlišení obsahu jakýmkoli způsobem dostat.
6. Font a styl písma
Stejně tak, jak NVDA neumí pracovat s barvami, neumí též získat informaci o formátu a stylu písma. JAWS opět na vyžádání či při přepnutí schématu řeči je schopen informaci o písmu poskytnout a to druh písma, jeho velikost, řez a způsob zarovnání.
Pro sdělování informací rozdílným formátem platí tedy stejná pravidla jako pro zacházení s barvami, což v praxi znamená, že pokud se nelze tomuto způsobu vyhnout, mělo by na tuto skutečnost být upozorněno implicitně v obsahu stránky.
7. Styly pro předčítání obsahu
Může se zdát, že aurální styly jsou tím jediným správným, co by odečítače ze CSS měly podporovat. Paradox je, že je to jedna z částí specifikace, kterou výrobci odečítačů zcela opomíjejí. Proč tomu tak je,lze vyjádřit ve třech bodech:
- Od vydání specifikace CSS 2.0 prošly styly určené pro hlasovou syntézu řadou změn včetně odstranění typu média aural a jeho nahrazením za speech.
- Aurální styly tak, jak byly navrženy, se hodí spíše pro dialogové systémy než pro odečítače, které umožňují uživatelům s obsahem stránky úzce interagovat a určovat si způsob a míru podrobnosti čtení.
- Při běžné práci s počítačem jde uživateli odečítače obrazovky o účelnost a přehlednost práce a nikoli o scéničnost skrývající se za možnostmi volby rychlosti, hlasitosti, intonace apod.. Každý zrakově postižený uživatel používá své specifické nastavení hlasové syntézy a zasahování do těchto nastavení pomocí aurálních stylů by mohlo být kontraproduktivní.
Závěr
Jak jsme se mohli přesvědčit na předchozích řádcích, kaskádové styly jsou tedy součást webové stránky, která pomáhá zpřehlednit obsah i zrakově postiženým uživatelům. Jak ovšem jednotlivé vlastnosti jsou schopné odečítače rozpoznat a do jaké míry záleží na použitém prohlížeči, nelze jednoznačně říci,neboť v žádné dokumentaci není uvedeno, jakým způsobem je se styly nakládáno. Výše zmíněné případy mají spíše ukázat, že odečítače se CSS umí pracovat, nikoli podat komplexní popis podporovaných vlastností.
Autorem článku je Roman Kabelka.