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í?

Patrik Kaspar 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

Zákaznické karty čekají změny

Pavel Houser , 17. leden 2017 13:00
Pavel Houser

Jedna z technologií, která se už po léta prakticky nezměnila, i když by mohla? Prý karty zákazníků d...

Více





Kalendář

06. 02.

07. 02.
konference G2B TechEd
15. 02. IDC Predictions 2017
22. 02. IT mezi paragrafy
RSS 

Zprávičky

Menší e-shopy kvůli EET zruší platbu kartou

ČTK , 22. leden 2017 07:00

Řada menších tuzemských e-shopů od března, kdy pro ně začne platit elektronická evidence tržeb (EET...

Více 0 komentářů

Na další rozvoj ekonomického systému bude Praha vypisovat tendry

ČTK , 21. leden 2017 14:00

Na další rozvoj ekonomického systému Ginis bude Praha vypisovat jednotlivé veřejné zakázky. Pražští ...

Více 0 komentářů

Tržby IBM klesaly i ve 4.čtvrtletí loňského roku, akciím se daří

ČTK , 21. leden 2017 07:00

Americká počítačová společnost International Business Machines (IBM) zaznamenala další, již devatená...

Více 0 komentářů

Starší zprávičky

Facebook postaví v Dánsku datové centrum

ČTK , 20. leden 2017 14:00

Americký provozovatel sociální sítě Facebook postaví v dánském městě Odense nové datové centrum, kte...

Více 0 komentářů

Americký Oracle převezme českou programátorskou firmu Apiary

ČTK , 20. leden 2017 12:00

Americký výrobce podnikového softwaru Oracle podepsal dohodu o převzetí české programátorské firmy A...

Více 0 komentářů

Internetová ekonomika za pět let posílila o 15 procent na 188 miliard

ČTK , 20. leden 2017 07:00

Objem internetové ekonomiky se předloni proti roku 2011 zvýšil o 15 procent na 188 miliard korun. Na...

Více 0 komentářů

Facebook zřídí v Paříži svůj první inkubátor pro začínající firmy

ČTK , 19. leden 2017 14:00

Americká sociální síť Facebook zřídí v Paříži svůj první inkubátor pro začínající firmy, tzv. startu...

Více 0 komentářů