Chcete používat na svých stránkách nové technologie a přitom zachovat jejich přístupnost? Jak si poradit s PDF, CSS nebo se skripty? Naším cílem je opět web bez bariér.

Autoři stránek jsou podněcováni k používání moderních technologií, stále ale jejich stránky musí být plně použitelné i bez nich (tedy i když klient zvládá pouze čisté HTML). Pokud budete používat všeobecně doporučované logické strukturování HTML dokumentu (již jsem o něm mluvil ve čtvrtém díle našeho seriálu) ve spojení s CSS a pokročilejší technologie na vašich stránkách (JavaScript, Java, Flash, ActiveX…) budou správně zpřístupněny (tomu se ještě budeme věnovat) a zároveň na nich vaše stránky nebudou závislé, nebudete mít s tímto pravidlem problémy.

Toto pravidlo není důležité jen kvůli handicapovaným uživatelům, ale i kvůli uživatelům, kteří mají v prohlížeči moderní technologie zakázané. Často ani ne proto, že jsou to zastánci pure HTML, ale proto, že je jejich počítač výpočetně nezvládá (to se týká hlavně Flashe a Videa) nebo je zakázal správce sítě z důvodů bezpečnosti (JavaScript, ActiveX). Nezapomínejte také, že těmi největšími HTML puritány jsou vyhledávače – ty se přes JavaScriptovou nebo Flashovou navigaci nedostanou zcela určitě. Stejně jako zcela určitě nezaindexují text obsažený ve Flashi.

Pokud se vaše stránky neobejdou bez masivního použití moderních technologií, zpřístupnění byste v takovém případě měli realizovat pomocí alternativní textové verze. Ta by měla poskytovat stejné informace jako první varianta stránek a měla by být i stejně často aktualizována.

Video, audio, Flash, Java-applety a další externí doplňky stránky

V tomto případě vás pouze odkáži na druhý díl našeho seriálu, protože jsme se těmto prvkům z pohledu přístupnosti již poměrně detailně věnovali.

PDF

PDF je platformně nezávislý formát dokumentů z dílny firmy Adobe, který je na webu poměrně často používán. Každý takový dokument by měl mít svou HTML alternativu se stejnou informační hodnotou.

CSS

CSS je technologie umožňující definovat způsob interpretace dokumentu v nejrůznějších klientech. Jak už jsem několikrát zmiňoval (například ve čtvrtém díle našeho seriálu), měli byste ho používat ve spojení s logickým formátováním dokumentu.

Měli byste také zajistit, aby byl veškerý obsah dokumentu součástí objektového modelu dokumentu, tedy aby se nacházel ve zdrojovém kódu stránky. V tomto ohledu je třeba dát si pozor hlavně na vlastnosti, které do dokumentu přidávají nějaký obsah – například pseudotřídy :before a :after ve spojení s vlastností content, vlastnosti seznamů, vlastnosti pro obrázky na pozadí apod. Pokud pomocí těchto vlastností předáváte uživateli nějakou podstatnou informaci (například pokud používáte odlišné odrážky pro seznamy s různým druhem informací nebo obrázek na pozadí tvoří určitou část obsahu stránky), měli byste tuto informaci nějakým způsobem zanést i do zdrojového dokumentu.

Také byste neměli používat vlastnosti odsazení nebo rámečku pro značení struktury stránky (například horní rámeček pro oddělení částí textu). Pro tyto účely se v HTML nachází zvláštní elementy, jichž byste se měli držet (například hr, seznamy apod.)

Skripty

Tato pravidla se týkají všech skriptovacích jazyků prováděných na straně klienta, které se na webu používají, ať už se jedná o JavaScript, Visual Basic Script nebo TCL. My si vše ukážeme v nejrozšířenějším z nich, tedy v JavaScriptu.

Skriptovací jazyky na straně klienta byste měli chápat jako něco, co má uživateli usnadňovat práci se stránkou. Pokud uživatelův prohlížeč skripty nepodporuje, znamená to, že je uživatel o tento komfort připraven, ale stále by mu měla zůstat plně použitelná stránka. V případě, že se nevyhnete tomu, aby stránka byla na skriptech závislá, měli byste poskytovat alternativní obsah nebo odkaz na něj mezi tagy noscript, které by měly následovat ihned za tagy script. Skripty lze ale značné části handicapovaných uživatelů vcelku dobře zpřístupnit.

Rozhodně byste neměli používat konstrukce, kde jako cíl odkazu uvedete javascript:kód skriptu. V takových případech byste měli uvést jako cíl odkazu adresu alternativní stránky a kód skriptu přiřadit událostem onclick a onkeypress tohoto tagu (k důvodu, proč je třeba uvést oba dva ovladače, se ještě dostaneme). Na konci kódu skriptu potom stačí uvést příkaz return false;, který zajistí, že se prohlížeč nepřesune na adresu definovanou odkazem. Naopak prohlížeče, které JavaScript nepodporují, budou parametr onclick ignorovat a rovnou se přesunou na alternativní stránku.

Další pravidlo se týká událostí, respektive jejich ovladačů. U důležitých operací, které mají vliv na použitelnost stránky (sem tedy neřadíme nejrůznější vizuální efekty apod.), byste se měli snažit používat události nezávislé na vstupním zařízení uživatele, tzv. application-level event triggers, tedy události, kde může prohlížeč sám rozhodnout, jakým způsobem se budou volat. Tyto události jsou tři: onfocus, onblur a onselect. Pokud je nutné použít události závislé na vstupním zařízení, měli byste spolu s nimi používat i další události, závislé na jiném vstupním zařízení: s onmousedown používat i onkeydown, s onmouseup i onkeyup, s onclick i onkeypress… Toho se týká ještě jedno pravidlo, a sice nepsat aplikace, které závisí na dvojitém kliknutí myší nebo souřadnicích kurzoru myši, protože takové aplikace jsou na myši plně závislé a její funkci zde nelze suplovat jiným zařízením – v případě nutnosti je tedy třeba je nahradit vhodnou alternativou (viz výše).

Pokud používáte formuláře k nějakému výpočtu nebo k navigaci, měli byste skript volat pomocí události onsubmit tagu form (opět je třeba na koci kódu použít return false;) a formuláři přiřadit i adresu, kam se má odeslat, v případě že prohlížeč nepodporuje JavaScript a bude proto událost onsubmit ignorovat. V takovém případě by měl funkci ošetřit skript na straně serveru a klientovi odeslat stránku, jakou by dostal i po provedení JavaScriptové funkce na původní stránce. Tento postup zároveň zajistí i nezávislost skriptu na vstupním zařízení.

Nyní si shrneme to, co jsme si řekli o zpřístupňování skriptů, do několika příkladů:

Špatně:
<script type=“text/javascript“>
kód skriptu se zásadním vlivem na použitelnost stránky
</script>
Dobře:
<script type=“text/javascript“>
kód skriptu se zásadním vlivem na použitelnost stránky
</script>
<noscript>
<p>[<a href=“alternativ.html“>alternativní verze</a>]</p>
</noscript>
Špatně:
<a href=“javascript:funkce();“>odkaz</a>
Dobře:
<a href=“alternativ.html“ onclick=“funkce(); return false;“ onkeypress=“funkce(); return false;“>odkaz</a>
Špatně:
<form><p>
<label>Zadejte věk: <input size=“10″></label>
<input type=“button“ onclick=“spocitej();“ value=“Spočítat“>
</p></form>
Dobře:
<form action=“spocitej.php“ onsubmit=“spocitej(); return false;“><p>
<label>Zadejte věk: <input size=“10″></label>
<input type=“submit“ value=“Spočítat“>
</p></form>

Příště se budeme zabývat automatickými změnami stránky, metadaty, navigací a alternativní verzí stránek.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět