Přístupnost webu II: Jak na správnou strukturu HTML

Vladimír Kašpar , 19. prosinec 2011 10:02 2 komentářů
Přístupnost webu II: Jak na správnou strukturu HTML

V prvním článku "Jak správně na přístupnost webu" našeho seriálu jsem vám popsal základní informace o tom, co byste měli při návrhu webu pro nevidomé a další hendikepované skupiny vědět. V dnešním článku Vám ukáži rozdělení HTML layoutů, jejich specifika a jak správně HTML dokument strukturovat.

HTML šablony

HTML data webu ve zdrojovém kódu zpravidla obsahují ze shora definici DTD (Doctype), poté HTML hlavičku

<head> a ve spodní části tělo HTML dokumentu <body >, my se zaměříme zejména na část dokumentu, kde jsou obsažena zobrazovaná data tj. tělo HTML dokumentu a dnes na její specifickou část HTML šablonu (angl. layout) bez ohledu na to, jaká data web obsahuje.

HTML šablona každého webu obsahuje zejména rozdělení objektů jako je menu, datový obsah či boční panely a patička. Aby bylo čtení co nejjednodušší pro naší cílovou skupinu, je potřeba dostat v HTML kódu důležité, základní informace o stránce, co nejvýše.

HTML šablony si můžeme pro naše potřeby rozdělit do 3 typů:

1. Rámy

Každý objekt šablony je zobrazován v tagu a pomocí atributu „src“ je načítán z externího HTML souboru. Rámy, jsou již dávnou historií a dnes pro neaktuálnost této technologie se běžně nepoužívají. Načítání externích souborů tak, abychom nemuseli např. hlavičku, a hlavní menu na každé stránce, ručně vypisovat, doporučuji spíše řešit na straně serveru, kde k tomu jsou k dispozici mnohem lepší nástroje, např. skriptovací jazyk PHP a jeho funkce „include()“ a „require()“.

2. Tabulka

Objekty jsou ve stránce rozděleny skrytou tabulkou tagem

<table>, jeho řádky <tr> a jednotlivými buňkami v řádku . Tabulka nám jednoduše zajistí správné pozice a roztažnost bez použití CSS stylů. Tento způsob se zdá být velice jednoduchý pro nováčka v oboru, ale je velice nepraktický v případě, kdy chceme objekty po HTML kódu posouvat či přehazovat bez poškození grafiky webu.

3. Divy

Každý objekt šablony je zabalen do tagu

<div> a CSS styly jsou objekty umisťovány do grafiky. Divy jsou dnes nečastěji používané pro rozdělení objektů po grafice webu. V CSS stylech si můžeme „hrát“ a jednoduše prohazovat objekty v grafice tak, že například to, co vidíme v HTML kódu úplně dole, zobrazíme v grafice úplně nahoře apod. Prohazování objektů nám zjednoduší práci s rozdělením důležitého objektu pro zdravého uživatele a pro nevidomého. Budeme tento typ brát jako dnešní standard a budeme se jím zabývat i nadále.

Jak na správný HTML dokument

Každá strana webu, má dle mezinárodních standardů obsahovat hlavní nadpis stránky

<h1>, ten má být na každé stránce webu unikátní a použit právě jednou. Tag h1 nesmíme použít ve stránce vícekrát. Hlavní nadpis bychom pro nevidomé měli dát hned pod tag <body> a to tak, aby byla hendikepovanému návštěvníkovi ihned na začátku čtení dokumentu sdělena informace na jaké stránce, se která informace nachází. Pod Hlavním nadpisem by měly být hlavní data, které chceme uživateli přednést (např. když zobrazujeme článek na webu, tak text článku by měl mít v HTML kódu hned po hlavním nadpisem). Pod hlavními daty by se měla nacházet navigace (menu), které umožní uživateli další postup po webu. Až teprve po zobrazení těchto důležitých informací by měly následovat boční panely zobrazující reklamní bannery, nedůležité informace apod.

Jak správně usazovat objekty po grafice webu

Obrázek 1 - Grafické schéma ukázky

Naším dnešním cílem v ukázce bude vytvořit základní šablonu dle schématu. HTML dokument tedy bude obsahovat v horní části menu (horizontální menu). Po levé straně budeme mít Hlavní data (text) stránky, tento objekt musí být roztažitelný směrem dolů, dle objemu dat v objektu. Po pravé straně budeme mít Boční panel, pro umístění např. reklamních bannerů či nedůležitých informací. Každý web by měl mít také patičku, do které se vkládá např. definování autorských práv.

Pomocí CSS stylů „Float“

Obrázek 2 – Klasické využití Float

Ve zdrojovém kódu na obrázku 2 vidíme dnes běžný zdrojový kód HTML dokumentu, který je dle standardu W3C správně, ale pro nevidomého předkládáme Menu s Reklamním bannerem před daty, které ve skutečnosti chtěl vědět. Musí tedy zbytečně čekat, až mu hlasový syntezátor přečte informace výše uvedené, než se dostane k informaci, kterou chtěl a pak doufat, že čekání nebylo zbytečné a dostal důležitou informaci.

Absolutní pozicování a přehození pořadí objektů

Obrázek 3 - Absolutní pozicování

Na obrázku 3 vidíme HTML dokument s využitím absolutního pozicování. Tímto stylem zápisu můžeme upřednostnit v pořadí náš hlavní nadpis stránky s hlavním textem stránky před ostatními objekty, přitom v grafice pro zdravého uživatele zobrazujeme Menu stále v horní části stránky. Pokud objektu nastavíme v CSS stylech position:absolute; říkáme tím, že objekt bude nastaven v pozici od horního levého rohu prohlížeče a můžeme poté využít styly top a left.

Pokud jeden z rozměrů nenastavíme, tak se bere z aktuální pozice objektu, můžeme této funkcionality využít v případě, kdy chceme jako v tomto případě dostat v grafice objekt úplně nahoru nastavením position:absolute;top:0;

Pro objekty hlavní text stránky a boční panel, musíme poté nastavit odsazení shora dle výšky menu pomocí margin-top. Pro zachování roztažnosti objektu s hlavním textem je potřeba patičce opět nastavit vyčištění float CSS stylem clear:both. Nevidomému hlasový syntezátor začne ze shora číst hlavní nadpis a hned poté hlavní text stránky, uživatel tedy není trápen pro něj nedůležitými informacemi.

A co SEO?

Pokud použijeme absolutní pozicování a do hlavního nadpisu stránky (html tag "h1") vložíme klíčové slovo, na které chceme optimalizovat stránku pro vyhledávače, připravíme si vhodně strukturovaný a optimalizovaný text do objektu pro hlavní text stránky. Tak jsme vyhráli dvakrát, protože jsme připravili stránku pro jednoduché čtení hendikepovanými uživateli a ještě jsme si pomohli u marketingové záležitosti jako optimalizace pro vyhledávače.

Na další díly seriálu se můžete těšit po Novém roce.

Vladimír Kašpar

Vladimír Kašpar

Autor pracuje na pozici senior software developer ve firmě Effectix.com.


Komentáře

Jan Elznic #1
Jan Elznic 30. prosinec 2011 08:53

Myslel jsem, že se z článku dozvím něco o přístupnosti webových stránek (aplikací) pro nevidomé či slabozraké, ale článek spíše pojednává o teoretických základech kódování v HTML. Jaká část z toho článku tedy vlastně má něco konkrétně společného s přístupností?

Aleš Kacl 31. leden 2012 10:04

Jde o základní kódování, to je jasný, nicméně proč pro manažery, markeťáky a IT manažery psát o stránkách pro nevidomé?
Jde o autora z firmy SEO, čili je jasné, jaká přístupnost by to asi měla být ;-)

RSS 

Komentujeme

Sociální sítě pro B2B? Bláznovství!

Richard Jan Voigts , 17. květen 2017 07:00
Richard Jan Voigts

Agentura Ami Digital provedla průzkum ohledně využívání sociálních sítí v České republice. Ami Digit...

Více





RSS 

Zprávičky

Hodnota bitcoinu stoupla na nový rekord přes 2400 dolarů

ČTK , 26. květen 2017 09:23

K růstu bitcoinu přispívá příliv nového kapitálu a růst poptávky po dalších digitálních měnách....

Více 0 komentářů

Tři zranitelnosti a opravy: Samba, Joomla, videopřehrávače

Pavel Houser , 25. květen 2017 16:30

Vektorem útoku může být i soubor s titulky....

Více 0 komentářů

Lenovo opět v zisku

ČTK , 25. květen 2017 15:32

Lenovo se snaží omezit svou závislost na trhu s PC a rozšiřuje aktivity v oblasti chytrých telefonů ...

Více 0 komentářů

Starší zprávičky

Zákon o elektronické identifikaci Sněmovna asi schválí beze změn

ČTK , 25. květen 2017 09:00

Jedním z cílů nových občanských průkazů je poskytnout držitelům elektronický podpis....

Více 0 komentářů

PayPal rozšiřuje ochranu prodejců v ČR

Pavel Houser , 25. květen 2017 08:00

Tento program se dříve v České republice vztahoval jen na hmotné zboží, nyní se rozšiřuje i o služby...

Více 1 komentářů

Firmy zabývající se virtuální realitou zakládají asociaci

ČTK , 24. květen 2017 16:00

Cílem je propojit vývojářské týmy s universitami, investičními fondy a soukromým sektorem....

Více 0 komentářů

Sněmovna schválila novelu upravující přechod na vysílání DVB-T2

ČTK , 24. květen 2017 13:05

"Já jsem tam postrádal něco ve prospěch virtuálních mobilních operátorů," uvedl budoucí ministr fina...

Více 0 komentářů