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

Zdroják » Webdesign » Mají asistivní technologie napravovat chyby webdeveloperů?

Mají asistivní technologie napravovat chyby webdeveloperů?

Články Webdesign

Asistivní technologie dnes umí napravit celou řadu nedostatků autorů webových stránek. Je toto chování ku prospěchu věci a nemůže vést k laxnímu přístupu ke tvorbě stránek? Ukážeme si, v čem jsou silné stránky tohoto řešení, a současně se seznámíme s jeho riziky.

Screenreader VoiceOver začal u formulářů s autodetekcí popisků formulářových prvků a snaží se relevantní popisek přiřadit i těm prvkům, které jej nemají korektně definovány. Stejně k formulářům přistupuje i JAWS či některé další screenreadery.

Screenreader JAWS naopak od verze 12 změnil výchozí chování při zpřístupnění tabulek a zpřístupňuje záhlaví pouze u těch, které je mají korektně definováno. Někdo toto chování přijal s nadšením, pro jiného je to spíš komplikace, protože mu najednou věci, které dříve fungovaly, už nefungují.

Je napravování chyb asistivními technologiemi na místě? Nebude mít za následek liknavější přístup ke tvorbě stránek? Pojďme se podívat, jaké jsou výhody a nevýhody tohoto řešení.

Poznámka autora: screenreader je program, který umožňuje s webem a počítačem obecně pracovat nevidomým uživatelům. Asistivní technologie pak zahrnuje i další speciální software či hardware, které uživatelům s handicapem při práci s webem a počítačem pomáhá.

Klady

Jednoznačným plusem je, že screenreadery díky tomuto chování zpřístupní i to, co by jinak nezpřístupnily. Ukažme si to na následujícím jednoduchém formuláři.

Ve formuláři chybí vazba mezi formulářovými prvky a jejich relevantními popisky. I přesto je ale screenreader schopen uživateli sdělit, k čemu který formulářový prvek slouží.

Autodetekce v tomto případě funguje tak, že screenreader hledá text v blízkosti konkrétního formulářového prvku a pokud jej nalezne, tak na něj nahlíží jako na popisek tohoto prvku.

Podobně se asistivní technologie snaží zpřístupnit například tabulky či obrázky. Pokud obrázek slouží jako odkaz a nemá definovánu relevantní textovou alternativu, přečte screenreader uživateli název souboru, protože je jistá šance, že by mohl název souboru obsahovat informace, z nichž by se dal poznat účel obrázku.

Zápory

Autodetekce není vždy spolehlivá. Pokud budeme pracovat s o něco složitějším formulářem, jehož prvky nemají korektně přiřazeny popisky, autodetekce přestane fungovat a pro uživatele je mnohem složitější zjistit, co má do jednotlivých políček vyplnit.

V tomto případě se uživatel nedozví informace o tom, čeho se týkají zaškrtávací políčka a přepínače, protože kvůli absenci elementů <legend> a <fieldset> nejsou prvky logicky seskupeny a screenreader tak už není schopen sám od sebe zjistit, jak s nimi naložit.

Jistotou je proto každému formulářovému prvku přiřadit jeho relevantní popisek.

<label for="jmeno">Jméno:</label> <input type="text" size="20" id="jmeno" name="jmeno" />

U skupin zaškrtávacích políček či přepínačů je pak prvky třeba logicky seskupit.

<fieldset>
<legend>Zvolte barvu:</legend>
<br />
<input id="blue" type="checkbox" name="blue" />
<label for="blue">Modrá</label>
<br />
<input id="green" type="checkbox" name="green" />
<label for="green">Zelená</label>
<br />
<input id="yellow" type="checkbox" name="yellow" />
<label for="yellow">Žlutá</label>
</fieldset>

Povídání o formulářích završíme ještě složitějším formulářem, opět bez definování vazeb mezi prvky a popisky na úrovni kódu.

U něj je situace ještě horší. Uživatel se nejen u některých formulářových prvků nedozví, jak s ním má naložit, ale v několika případech dostává i chybou informaci. Například u editačního pole pod textem Iniciála druhého jména je mu přečten popisek Příjmení.

Poznámka autora: Použitelné a přístupné webové formuláře vás naučí tvořit Plaváček.

Podobné chování je například i u tabulek. Zde je ale autodetekce záhlaví řádků a sloupců dost často spíše ke škodě než k užitku, protože hodně tabulek záhlaví neobsahuje. V takovém případě pak uživatel dost často dostává mylné informace.

Dost často se setkáváme se suplováním definičních seznamů pomocí tabulek. V takovém případě je autodetekce skutečně více ke škodě než k užitku, protože tabulka žádná křížově závislá data neobsahuje.

Autoři screenreaderu JAWS na tuto skutečnost zareagovali tím, že od verze 12 změnili výchozí chování a JAWS čte ve výchozím stavu záhlaví pouze u těch, které je mají korektně definováno pomocí elementu <th>.

<table>
<tr><th>Název týmu</th><th>Počet zápasů</th><th>Výhry</th><th>Prohry</th><th>Prohry v prodloužení</th></tr>
<tr><th>Philadelphia Flyers</th><td>18</td><td>11</td><td>4</td><td>3</td></tr>
<tr><th>Pittsburgh Penguins</th><td>19</td><td>11</td><td>5</td><td>3</td></tr>
</table>

Poznámka autora: více informací k tomuto tématu najdete v článku JAWS od verze 12 zpřístupňuje tabulky v HTML dle standardů.

I takto složitou tabulku lze zpřístupnit, pokud u ní korektně definujeme záhlaví řádků a sloupců.

Toto chování se může zdát jako ideální. Ovšem jen do doby, než si uvědomíme, že řada webů stále nesplňuje ani elementární pravidla přístupnosti (hlavně v oblasti formulářů a tabulek) a pokud by asistivní technologie začaly striktně vyžadovat přístupný a sémanticky správný kód, pak by uživatelům řada webů, která jim dnes díky autodetekci funguje, fungovat přestala.

Pokud by autoři asistivních technologií nastavili toto chování jako výchozí, byl by to problém také pro řadu začátečníků, kteří by si výchozí nastavení neuměli změnit a k řadě informací by se tak vůbec nedostali.

V neposlední řadě může autodetekce na straně asistivních technologií svádět k nerespektování standardů a pravidel přístupnosti při tvorbě webu. Autor webu si řekne něco jako „co bych se s tím páral, však on si tam screenreader ty alternativní popisky doplní“. Ano, doplní – ale ne vždy spolehlivě. Lepší je pravidla tvorby přístupného webu respektovat a brát je při tvorbě webu v potaz. Jinak nebudeme mít jistotu, že uživatel dostane prostřednictvím asistivní technologie ty informace, které potřebuje.

Závěr

Tak jako v jiných případech, ani v tomto neexistuje jednoznačná odpověď. To, že asistivní technologie umí v případě potřeby napravit chybu autora webu, je jednoznačně plus. Umožňuje totiž uživatelům pracovat i s těmi prvky stránek, s nimiž by jinak pracovat nemohli, či jen velmi obtížně (typicky se jedná o formuláře).

Rozhodně by se ale tato funkcionalita neměla stát omluvou pro nekvalitně odvedenou práci autora webu. Autodetekce rozhodně není stoprocentní, takže se na ni nedá spolehnout a určitě je lepší webovou stránku vytvořit dle standardů a pravidel přístupnosti. Jen tak máme jistotu, že asistivní technologie ji budou interpretovat tak, jak chceme.

Komentáře

Subscribe
Upozornit na
guest
1 Komentář
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Čelo

Děkuji za článek.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.