Webové standardy, HTML a sémantika na webu

Seminární práce z IVT, 7. únor 2004

Autor
Jan Raszyk, jan.raszyk@seznam.cz, homepage
Copyright
Šíření obsahu je povoleno s uvedením zdroje, tj. URL adresy tohoto dokumentu a s uvědoměním autora o tomto.
CSS: The W3C Core Styles Copyright (c) 1998 W3C (mit, inria, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. See http://www.w3.org/Consortium/Legal/ipr-notice.html
Verze
7. únor 2004
číslo verze: 20040207
Verze pro stažení: zip archiv

Obsah

  1. 1. Cíl dokumentu
  2. 2. Historie vývoje HTML
  3. 3. Standardy v HTML
    1. 3.1 Rozchod HTML a webových standardů
    2. 3.2 XML, přerod HTML v XHTML
    3. 3.3 Struktura XHTML dokumentu
    4. 3.4 Validní kód v XHTML Strict / Transitional / Frameset
    5. 3.5 Sémantika - význam elementů XHTML dokumentu
      1. 3.5.1 Zápis elementů a jejich atributů
      2. 3.5.2 Odstavce, nadpisy, odkazy, zdůraznění, obrázky
      3. 3.5.3 Citace, zkratky, autor, programátorský a zdrojový kód
      4. 3.5.4 Seznamy tříděné a netříděné a seznamy definic
      5. 3.5.5 Tabulky, formuláře
      6. 3.5.6 Značky sémanticky neutrální, skriptování a odkazování
  4. 4. Webové standardy
    1. 4.1 Optimalizace pro vyhledávače
    2. 4.2 Přístupnost
    3. 4.3 Použitelnost
  5. 5. Layout: Tabulky, rámce, Flash, CSS
    1. 5.1 Rámce a tabulky
    2. 5.2 Tabulky a CSS
    3. 5.3 Flash
  6. 6. Budoucí vývoj webových standardů
  7. 7. Slovník
  8. 8. Použítá literatura

1. Cíl dokumentu

Tento dokument si klade za cíl seznámit s historií vývoje HTML, s přerodem a důvody přerodu tohoto jazyka na XHTML. Dále se zabývá současnými trendy sémantiky (X)HTML, současnými webovými standardy a nejčastějšími chybami v těchto různých oblastech. Srovnává různé techniky tvorby layotu (vzhledu) webu - pomocí rámů, tabulek, Flashe a nejmodernějšího trendu - pomocí jazyka CSS.

2. Historie vývoje HTML

Theodor Nelson začal pracovat na realizaci nelineárního spojování dokumentů na počítačích už v 60. letech 20. století. Byl to on, kdo první přišel s pojmem hypertext. Odtud již nebylo daleko ke zkratce HTML, tj. HyperText Markup Language = „hypertextový značkovací jazyk“

Roku 1986 vzniká SGML (Standard Generalized Markup Language), definovaný v normě ISO 8879. Tento obecný značkovací jazyk umožňuje definici vlastních (podřízených) značkovacích jazyků na základě vlastní definice typu dokumentu - DTD. Jazyk HTML je jednou z aplikací SGML, každá verze HTML používá značky tak, jak je popsáno v každé příslušné DTD. [XMLPK]

Následuje vývoj HTML, jak jej popisuje [DHTML].

1989
1991, 1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003

3. Standardy v HTML

HTML se už ve své první verzi, díky své jednoduchosti, stal velmi populární, s příchodem e-mailu získával internet a s ním i HTML na popularitě. Původně byl HTML určen pro zobrazování struktury dokumentu bez vážnějšího důrazu na vizuální a grafickou interpretaci. Existovaly značky pro nadpisy <H1> <H2> ... <H6>. Značky pro vizuální formátování byly <B> pro tučné a <I> pro kurzívu. [DESIGN]

Netscape dlouhou dobu udával směr vývoje. Nejprve přišel s možností vkládat do pozadí webové stránky obrázek. Skutečná „revoluce“ ale nastala s příchodem tabulek. Tabulky jsou mocný nástroj, na prezentaci číselných, statistických a databázových dat nic lepšího v HTML neexistuje. Ovšem tabulky se začaly používat i jako nástroj pro design webu. Zde nastala ve vývoji sémantiky a logické struktury HTML souborů první velká chyba. Tabulka měla a má sloužit pro prezentaci tabulkových dat. Nikoliv pro utváření vzhledu stránky. [HTML].

3.1 Rozchod HTML a webových standardů

Netscape poté přišel se svým "standardem" HTML 3.0. V této verzi se vyskytovala spousta nesmyslných elementů, ušitých na míru právě Netscapu. World Wide Web konzorcium se snaží v další verzi - HTML 3.2 - vyrovnat misky vah, ruší některé HTML 3.0 elementy, verze 3.2 je štíhlejší a je, na rozdíl od HTML 3.0, uznána jako standard. S HTML 4.0 přicházejí rámce. Netscape je prakticky monopolem ve světě internetu, ale na záda mu dýchá Microsoft. Díky své tvrdé práci a tomu, že se Microsoft spojil s W3C ve vývoji a publikování nových standardů, Netscape dostihl.

Nastává velká roztříštěnost ve vývoji standardů. Někde stále ještě dominují tabulky, jinde nastupují rámce a jinde se zase tabulky navrací, kvůli nevýhodám rámců. Rozvíjí se Javascript, DHTML, spousta prvků na stránkách je interaktivních a skriptovaných. Tvorba vzhledu - layoutu - stránky pomocí CSS jazyka nebyla myslitelná kvůli špatné podpoře ze strany prohlížečů. Microsoft ani do současné doby nebyl schopen opravit některé zcela zásadní chyby v implementaci CSS level 1 a implementace CSS level 2 je velmi slabá. Prohlížeče navíc fungují tak, že dovolují tvůrcům stránek dělat v kódu chyby a samy stránku přesto zobrazí „správně“ bez jediného chybového hlášení. Mnoho tvůrců webů končí při tvorbě své stránky ve stavu, kdy tato funguje alespoň v Internet Exploreru tak, jak by měla. Často se také zapomíná na definici DTD na začátku každého HTML dokumentu.

W3 konzorcium specifikací HTML 4.01 jasně ukázalo, co v HTML používat (jako neschválené - deprecated - označilo elementy jako <font> <center> <s> <strike> <u>). Na přelomu století se ale ukazuje, že HTML je pořád příliš rozvolněný formát. Netscape upadá, Internet Explorer začíná být monopolní. Potřeba více striktního formátu, jež by nové prohlížeče mohly mnohem snadněji implementovat a zobrazovat začíná být nutností. V roce 2000 je na světě první specifikace XHTML.

3.2 XML, přerod HTML v XHTML

Za necelých čtrnáct let existence formátu SGML se ukázalo, že se prakticky využívá jen malá část jeho možností. Tato nejdůležitější podmnožina SGML proto byla vybrána jako nový samostatný jazyk - XML. Je v něm pevně dáno několik parametrů, jako používané oddělovače nebo maximální délka názvů značek. Z SGML si ale zachovává hlavně možnost definování vlastních DTD. Velké možnosti tohoto otevřeného formátu si uvědomuje například i firma Microsoft, která se v následující verzi svého kancelářského balíku Office chystá jako hlavní souborové formáty použít XML. [OFFICE].

Odtud je už jen krůček k přeformulování HTML do XML. Výsledkem tohoto přeformulování je nový jazyk, XHTML 1.0. [XHTML.1] Podstatné změny jsou tyto.

3.3 Struktura XHTML dokumentu


 1 |  <?xml version="1.0" encoding="windows-1250"?>
 2 |  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 3 |  <html xmlns="http://www.w3.org/1999/xhtml">
 4 |  <head>
 5 |    <meta http-equiv="content-type" content="text/html; charset=windows-1250" />
 6 |    <title>Automobilový pozorovatel</title>
 7 |    <meta name="keywords" content="auto,moto,novinky" />
 8 |    <meta name="description" content="Novinky ze světa automobilů" />
 9 |    <link rel="stylesheet" type="text/css" href="styl.css" />
        ...
10 |  </head>
11 |  <body>
        ...
12 |  </body>
13 |  </html>

Na tomto vzorovém příkladu si v krátkosti shrneme strukturu běžného XHTML dokumentu.

  1. První řádek je zde XML deklarace. Touto deklarací se dává najevo, že se jedná o XML dokument. Číslo verze jiné než 1.0 zatím nepřichází v úvahu, kódová stránka našeho dokumentu musí být uvedena, pokud je jiná než standardní UTF-8.
  2. Druhý řádek je DTD. Za !DOCTYPE následuje název kořenového elementu, tedy elementu, ve kterém bude vložen celý obsah dokumentu. V případě (X)HTML je to vždy element html. Další klíčové slovo PUBLIC určuje, že se jedná o veřejně dostupnou DTD, následují v uvozovkách cesty k dané DTD. První je obecná a druhá nepovinná bývá obvykle celá URL k dané DTD.
  3. Třetí řádek je začátek našeho kořenového elementu, jediný atribut je zde povinné uvedení jmenného prostoru (vysvětlení není podstatné)
  4. První částí obsahu HTML elementu je hlavička <head>
  5. Na prvním místě hlavičky je více než vhodné spolu s mime-typem (znovu) uvést kódovou stránku našeho dokumentu
  6. Je nutné v hlavičce vždy uvést název dokumentu
  7. často se také v souvislostí s optimalizací pro vyhledávače uvádějí klíčová slova...
  8. ... a popis stránky
  9. Tímto řádkem k našemu souboru připojíme CSS soubor, který se postará o naformátování vzhledu našeho dokumentu
  10. Končí hlavička dokumentu ...
  11. ... a začíná tělo, druhá povinná část obsahu kořenového HTML elementu
  12. konec těla dokumentu
  13. konec kořenového elementu

3.4 Validní kód v XHTML Strict / Transitional / Frameset

Zda dokument splňuje pravidla daná svou definicí typu dokumentu se vyjadřuje slovním spojením validita dokumentu. Pokud je v DTD například definováno, že element <a> nesmí obsahovat další elementy <a> a v kódu se vyskytne například <a href="..">odkaz <a href="..">v odkazu</a></a>, dokument je not-valid („nevalidní, neplatný“). Nejschůdnější cesta je začít psát validní dokumenty hned ze začátku práce s HTML, přestože i takto se nelze vyhnout některým začátečnickým problémům. Například nelze vkládat nadpisy dovnitř odstavců, blokové (block) elementy dovnitř řádkových (in-line), atp. Každopádně nejtěžší úkol je převést nevalidní HTML 4.0 dokument na XHTML 1.0 Strict validní. Mnohdy je daleko lepší začít s takto zastaralé stránky (nebo celého webu) začít od základů znovu.

Aby byl tvůrcům webových stránek umožněn „méně-bolestný“ přechod z původního HTML na XHTML, bylo vytvořeno několik různých definic typu dokumentů (DTD). XHTML Frameset je DTD určená pro použití rámců. XHTML Transitional je čistě portace HTML formátu do XML a tudíž XHTML. Oproti XHTML Strict jsou v ní povoleny některé zastaralé značky. XHTML Strict je tedy „nejpřísnější“ definicí.

3.5 Sémantika - význam elementů v XHTML dokumentu

3.5.1 Zápis elementů a jejich atributů

[SEM.1] [SEM.2] (X)HTML se s každou další verzí snaží upřednostňovat hlavně ty elementy, které říkají něco o obsahu, jež se v nich nachází, a umožňují tak jednak lidem ale i strojům porozumět textu alespoň na minimální úrovni. Každý element má svůj sémantický význam, je ohraničen špičatými závorkami < a > a musí být vždy uzavřený. V dobách HTML se ještě rozlišovalo mezi elementy s párovými a nepárovými tagy, tzn. některé měly možný druhý, uzavírací tag, jiné nikoliv. Díky specifikaci XML musí být každý element v XHTML uzavřený. Tedy například <p>... text odstavce ...</p>. Také známá značka pro zalomení řádku <br> musí být uzavřená. V případě, kdy značka je prázdná (nemá vnitřní obsah jako třeba odstavec), je místo <br></br> vhodnější použít zkrácený zápis <br />. Každému elementu přísluší některé atributy. Například u odkazu to je místo, na které odkazuje, tedy atribut href: <a href="...">...</a>. Hodnota každého atributu musí být uzavřena v programátorských uvozovkách, názvy elementů i atributů se v XHTML píší vždy malými písmeny.

3.5.2 Odstavce, nadpisy, odkazy, zdůraznění, obrázky

K základnímu formátování textu patří předevšim odstavce <p> a nadpisy 1. až 6. úrovně: <h1>,<h2>..<h6>. V textu je také vhodné používat zdůraznění: <em> a zvýraznění: <strong>. Základ hypertextu jsou pochopitelně odkazy: <a>. Pro vkládání obrázků do stránek slouží element <img>. U tohoto elementu je třeba dát pozor na dvě věci. Tento element je bez obsahu, tudíž nemá uzavírací tag, takže se nesmí zapomenout na uzavírací lomítko na konci tagu. Tento element má také povinný atribut alt="..". Obsahem tohoto atributu má být slovní popis obsahu obrázku, neboli alternativní text. Tento text slouží uživatelům, jež nemají možnost zobrazit obrázek a nikoliv, jak je často mylně interpretováno, jako doplňující popisek obrázku.


<h1>Hlavní nadpis dokumentu</h1>
  <h2>Podnadpis</h2>
  <p>Odstavec obsahující <em>důležitá</em>
  a <strong>nejdůležitější</strong> sdělení,
  <a href="http://www.example.com/">odkazy jinam</a>
  a také obrázky <img src="example.jpg" alt="prazdny obrazek" />.</p>

3.5.3 Citace, zkratky, autor, programátorský a zdrojový kód

Pro řádkovou citaci slouží značka <q>, pro citování bloku textu blokový element <blockquote>. Zkratky <abbr> vždy mají atribut title, jehož obsah vysvětluje význam zkratky uzavřené v elementu. Autor dokumentu je v řádkovém elementu <address>, pro označení úseku zdrojového kódu slouží <code>. Pokud v dokumentu provádíme dodatečné úpravy (korektury), smazaný text se uzavírá do značky <del>, nově vložený do <ins>.

3.5.4 Seznamy tříděné a netříděné a seznamy definic

Netříděný seznam reprezentuje element <ul>, tříděný <ol>. Oba seznamy mají své jednotlivé položky uzavřeny v elementech <li>. Netříděné seznamy se v sémanticky hodnotném webu používají například také pro tvorbu menu.

Seznam definic je sémanticky velmi hodnotná značka. Seznam je reprezentován elementem <dl>. Obsahuje dvojice pojem + definice pojmu, tj. <dt> a <dd>.

3.5.5 Tabulky, formuláře

Tabulka je reprezentována značkou <table>, může se skládat ze tří částí: <thead>,<tbody> a <tfoot>. Často je vhodné na začátek tabulky umístit popis ve značce <caption>. Obsah tabulky je tvořen řádky <tr>, každý řádek je tvořen buňkami <td>. Někdy je potřeba použít atributy rowspan nebo colspan určující, zabírá-li buňka více řádků, resp. sloupců najednou.

Formulář je reprezentován značkou <form>. Skupiny prvků formuláře reprezentuje značka <fieldset>, vstupní pole <input> (často používané atributy jsou type, name, value) tlačítka <button> (atributy jsou také type, name a value), textová pole <textarea> a výběrové seznamy <select> - každá položka seznamu je reprezentována značkou <option>. Pro většinu prvků formuláře je vhodné doplnit jejich popis v tagu <label>, jehož hodnota atributu for=".." by měla odpovídat hodnotě atributu id=".." příslušného formulářového prvku.

Formuláře často reprezentují tabulární data, proto jejich vkládání do tabulek nemusí vždy být chybou. Právě naopak, mnohdy je to vhodné a jako vedlejší efekt to pomáhá lépe formátovat vzhled formuláře na mnohých výstupních zařízeních.

3.5.6 Značky sémanticky neutrální, skriptování a odkazování

Sémanticky neutrální řádkový (in-line element) je značka <span> jako blokový (block) sémanticky neutreální element slouží značka <div> - ten by se měl používat pro oddělování jednotlivých částí stránek. Začátečníci s CSS layoutem často vytvářejí druhý extrém nesémantických webů. Místo záplavy mnoha vnořených tabulek zaplaví stránku spoustou vnořených elementů div. Dokument s nesmyslným používáním těchto sémanticky neutrálních značek pak ztrácí svou sémantickou hodnotu, ač může být XHTML Strict validní.

Pro vkládání scriptů slouží značka <script>, jediný praktický používaný atribut je type, který často udává scriptovací jazyk (text/javascript, ...). Vnitřní obsah tohoto elementu je vhodné uzavřít do komentářů <!-- ... -->, aby jeho obsah nebyl zobrazen v některých prohlížečích.

Ke vkládání nehypertextových odkazů slouží značka <link>. Používá se hlavně pro vkládání odkazů na CSS soubory a k vytvoření alternativní navigace. Všechny tyto odkazy se vkládají do hlavičky <head> stránky.


<link rel="stylesheet" href="styly.css" type="text/css" />
<link rel="Alternate StyleSheet" href="nahradni.css" 
  type="text/css" title="Nahradni" />
<link rel="author" href="autor.htm" />
<link rel="contents" href="obsah.htm" />
<link rel="help" href="help.htm" />

4. Webové standardy

Optimalizace pro vyhledávače (neboli SEO = Search Engine Optimization), přístupnost (web accesibility) a použitelnost (web usability). To jsou tři pojmy udávající tempo v dnešním vývoji webových standardů.

4.1 Optimalizace pro vyhledávače

Velké procentu uživatelů se na mnoho stránek dostává přes vyhledávače, stránka nějakého ze známých portálů nebo vyhledávačů bývá na mnoha počítačích nastavena jako domovská stránka. Množství webových stránek se každým dnem zvyšuje a udržet v nich přehled pomocí katalogových vyhledávačů je stále náročnější. Nejoblíbenějším fulltextovým vyhledavačem na světě se za posledních několik let stal Google (http://www.google.com/). O tomto fulltextovém vyhledávači a jeho algoritmech porozumění obsahu webové stránky a hodnocení tzv. PageRanku je napsána spousta textů. Mnoho zkušeností a poznatků lze najít v „Archivu konference o SEO “ - [SEO].

O tom, jak dobře se zvolená internetová stránka umisťuje ve výsledcích vyhledávání, rozhoduje Google na základě mnoha faktorů. Často se mluví o PageRanku, což by mělo být číslo vyjadřující vhodnou matematickou kombinaci všech těchto faktorů. Reálně se ale ani neví, zdali tento PageRank vlastně existuje, a pokud ano, zda se jim Google bez vyjímek řídí. Co vše rozhoduje o dobrém hodnocení stránky?

odkazy z internetu
Čím více jiných stránek na zvolenou internetovou stránku odkazuje, tím lépe. Logicky je tím tato stránka u uživatelů oblíbenější a s větší pravděpodobností na ní uživatelé najdou to, co hledají.
sémantická bohatost
Správné používání nadpisů, zdůraznění, zvýraznění a odkazů a čitelný tvar URL adresy - to vše jsou metody, jak uspět u Googlu, jelikož všech těhle elementů si google na stránce všímá a hodnotí je.
klíčová slova
Na zvolené internetové stránce je potřeba vhodně volit klíčová slova. Taková, která budou použita v nadpisech, na začátku dokumentu. Sdělovat co nejvíce za použití co největšího množství určujících - klíčových - slov v co nejmenším množství textu pokud možno co nejvíce na začátku stránky. Nutno podotknout, že Google si vůbec nevšímá klíčových slov uvedených v meta-hlavičce dokumentu. Některé moderní weby už proto tuto hlavičku přestaly používat.

V souvislostí se SEO i s přístupností je často zmiňován tzv. 'vicezdeismus'. Jde o jev, kdy tvůrci internetových stránek do textu odkazu zařazují obvyklé fráze jako 'více zde' 'zde' 'klikněte' 'článek', atd. Jednak odkazované dokumenty nebudou googlem na klíčová slova hodnoceny tak dobře, jako by mohla být, kdyby text odkazu měl něco společného s odkazovaným dokumentem, a jednak dochází i ke zmatení uživatele, který neví, kam daný odkaz vlastně vede, pokud ho vidí mimo kontext.

Dalším známým pojemem je google bombing. Jedná se o krátkodobé vytížení nějakého kýženého slova za účelem vyhoupnutí zvolené stránky na přední pozice výsledků v google. Populární jsou pomsty touto cestou. Například po zadání slova „bastards“ se v Googlu na první pozici na přelomu ledna a února 2004 vyskytovala jedna ze stránek společnosti SCO, hlavního nepřítele příznivců operačního systému Linux.

4.2 Přístupnost

Web je místem zisku informací. Tyto informace by měly sloužit všem lidem. Neměly by být omezeny na lidi, jež mají přístup k počítačí s nejrozšířenější platformou s posledním operačním systémem té největší firmy a poslední verzí nejpoužívanějšího prohlížeče. Jsou zde lidé nejen s jinými prohlížeči, ale i jinými OS, jinými platformami, a dokonce jinými zařízeními. Ale hlavně jinými zdravotními dispozicemi, tedy různými handicapy.

Pro všechny tyto lidi je potřeba tvořit web podle jistých pravidel, pravidel přístupnosti webu. Tvořit stránky tak, aby byly zobrazitelné a použitelné jak ve své plné graficky-multimediálně-interaktivní podobě, tak v textové podobě pro uživatele s malými obrazovkami PDA, organizérů a mobilních telefonů, pro software screenreaderů zrakově postižených lidí a v neposlední řadě pro vyhledávače.

Začátek je jednoduchý. Tvořit sémanticky bohaté weby, oddělovat obsah (XHTML) od vzhledu (CSS), psát stručně, výstižně. Pak jsou zde další pravidla co se týče například formátování vzhledu stránky, používání alternativních popisů u textů, alternativních verzí webů v čistě - textové podobě, atd.

4.3 Použitelnost

Weby vytvořené dle zásad použitelnosti přitáhnou maximální množství lidí, kteří najdou to, co hledají, zároveň to na takovém webu nacházejí rychle a efektivně, bez jinak nutného velkého přemýšlení a znalostí. Drtivá většina poznatků v této oblasti vychází z experimentů a user-tesingu - testování mnoha webových stránek mnoha různými uživateli a sledováním jejich počínání.

[USAB1]:

Použitelnost (usability) internetových stránek určuje, jak snadno se na nich uživatelé orientují, jak rychle pochopí jejich uspořádání a ovládání a jaký uživatelský zážitek si z nich odnesou.

Dobře použitelné stránky jsou přehledné, srozumitelné, snadno ovladatelné. Je radost s nimi pracovat. Na špatně použitelnách stránkách uživatelé tápou, nedokáží dosáhnout svého cíle a odcházejí z nich zklamáni.

Použitelnost je však také odborná disciplína, která exaktními metodami zkoumá příčiny uživatelských úspěchů i neúspěchů při práci s internetovými stránkami. Použitelnost např. dokáže vysvětlit, proč si mnoho uživatelů vloží vybrané zboží do elektronického nákupního košíku, ale jen málo z nich skutečně dokončí objednávku.

[USAB2]: Pokud se web obtížně používá, lidé z něj odejdou. Pokud úvodní stránka neobsahuje jasné informace, o čem web je a co na něm jde dělat, lidé odejdou. Pokud uživatel na webu zabloudí, odejde. Jestliže se informace na webu uživateli obtížně čtou, či neodpovídají na jeho otázky, odejde... Po ruce je plno dalších webů. Odchod je základní obrana uživatele před potížemi.

5. Layout: Tabulky, rámce, Flash, CSS

5.a Rámce a tabulky

Jak jsem již uvedl, vůbec první dilema, jež řešila většina webdesignérů, bylo to, zda používat pro layout stránky rámce, nebo tabulky. Tabulky přišly první. Design webů se měnil takovým způsobem, že čím dál více připomínal běžné aplikace. Příchod rámů byl proto vítán. [RAMY] Jejich hlavní výhody jsou především:

snadná editace
Až dodnes platí, že každá stránka webu se skládá z několika základních součástí. Tyto součástí je obvykle potřeba měnit hromadně, ne postupně zvlášť na každé stránce. V případě rámu tak změníme obsah jednoho rámu.
méně stahovaných dat
Napoprvé se načte obsah všech rámů, a pak už jen vždy obsah jednoho rámce, který je obvykle hlavní. Do něj si přepínáme informace, jež chceme vidět.

Tím výčet výhod prakticky končí. Stále je věcí diskuze, jestli je pro uživatele příjemnější, že má menu stále při ruce na obrazovce a nemusí pro něj scrollovat. Nejnovější výzkumy v oblasti použitelnosti webu ale ukazují, že uživatelé na webu velmi rádi scrollují. Takže by se dalo začít hned první nevýhodou rámců:

velké obsazení místa na obrazovce
Pokud uživatele zaujme obsah stránky, nejspíše se do něj začte a okolní menu již nepotřebuje a bude scrollovat pryč. Rámy tak zbytečně obsazují na obrazovce místo.
problémy s tiskem a ovládáním
Obvykle je pro uživatele mnohonásobně těžší určit, kterou část stránky právě chce ovládat nebo kterou má vybranou pro tisk. Od používání rámů nejvíce odrazují weby, jejichž tvůrce se snaží za každou cenu být chytřejší než uživatel a v důsledku toho na mnoha stránkách vypne posuvníky. Pokud uživatel na takovou stránku přijde s velmi malý rozlišením, může pro něj třeba být nepřístupná polovina hlavního menu. Tvůrci webů se v takovém případě nejčastěji brání známým „stránky optimalizovány pro rozlišení 800×600 a prohlížeč Internet Explorer“ Což svědčí pouze o jejich neschopnosti nebo lenosti.
nutnost verze bez rámů
Pro mnoho uživatelů ani ne se starými prohlížeči, spíše s prohlížeči exotickými: například PDA, organizéry nebo Screen readery a také hlavně pro vyhledávače - pro všechny tyto je potřeba mít k dispozici i verzi webu bez rámů. Správa dvou takto technologicky velmi odlišných webů je náročná.
nelze indexovat konkrétní kompletní stránku
To znamená, že jednak si nemůžeme do svých Oblíbených položek přidat nějakou stránku na webu s rámy s tím, že by se zachovala buďto právě zobrazená stránka, nebo naopak stránky v okolních rámech. Stejně hodnotnou nevýhodou je i to, že většina vyhledávačů obsah stránek v rámech jednoduše neindexuje.

5.b Tabulky a CSS

Profesionální tvůrci webů tedy nakonec po zvážení všech pro a proti dali přednost layoutu tabulkovému. S příchodem WYSIWYG programů a prvních server-skriptovacích jazyků nebyl problém dosáhnout úrovňově třeba pěti nebo i více do sebe vnořených tabulek. Nástroje jako FrontPage nebo Dreamweawer k tomu všemu ještě generovaly velmi složitý a nepřehledný kód. Weby se opět začaly vzdalovat několika skupinám uživatelů. Web, jehož layout je tvořen hlavně tabulkami, má sám o sobě tyto nevýhody:

pomalé vykreslování
Jednak je to problém některých prohlížečů, které stránku vyrenderují až po tom, co je načten všechen její obsah , tedy včetně všech obrázků. A také není nic neobvyklého na stránce nalézt třeba pět do sebe zanořených tabulek, což může pro renderovací jádro být pěkný oříšek.
nulová sémantika
Z hlediska sémantiky je zcestné a nesmyslné tvořit layout tabulkami. Tabulky ze svého sémantického významu mají sloužit k prezentování tabulárních dat.
špatná přístupnost
Pokud se k takomému webu dostanou uživatelé odkázaní na screen readery, malé obrazovky PDA nebo organizérů, veškerý obsah se jednak rozpadne na nesmyslné bloky anebo se také posune mimo zobrazitelnou oblast.

Když se tedy mělo upustit od tohoto zneužívání tabulek, byly zde dvě potřeby. Jednak potřeba tvořit sémanticky smysluplný obsah a také potřeba tomuto obsahu definovat patřičný kýžený vzhled. V HTML nikdy neexistovaly značky, které by oba tyto úkoly splňovaly v dostatečné míře. Odtud je už jen krůček k oddělení obsahu webu do HTML a vzhledu webu do jazyka CSS.

Potřeba „vyčistit“ HTML od formátovacích značek (značek definujících vzhled) je zde hlavně kvůli stále rostoucí důležitosti zpracování obsahu webu stroji. Vyhledávače a screenreadery jsou software, který uživatelům pomáhá porozumět webovému obsahu. Aby to software zvládl, musí sám webovému obsahu porozumět. Pokud se v HTML vyskytuje například značka <b>, víme, že daný úsek má být zobrazen tučně. Už nic nehovoří o tom, jak se má chovat na zařízeních, která tučné písmo nepodporují. Taktéž neříká, jaké toto vytučnění má význam. Zdali se jedná o nadpis, důležitý úsek v textu, podpis autora článku, ... Kdežto značka <strong> dává jasně najevo, že se jedná o podstatný úsek textu. Vyhledávače mu věnují zvýšenou pozornost, v CSS můžeme (ale nemusíme) jeho formátování nastavit jako tučné, v CSS určeném pro jiná zařízení můžeme jeho vzhled nastavit třeba jako text, který se převede na velká písmena (verzálky).

Každý element v HTML může být zobrazen jako řádkový = in-line anebo blokový = block. CSS byl odjakživa mocný nástroj pro úpravu vzhledu in-line elementů. Je taktéž mocným nástrojem pro úpravu block-level elementů. Bohužel hlavně kvůli špatné podpoře CSS prohlížeči se pro stylování bloků v HTML CSS používalo jen pozvolna. Dnes je již situace mnohem lepší a takto formátované weby brzy ty starší (weby formátované některým z výše popsaných způsobů) nejšpíše vytlačí. Jazyk CSS umožňuje přistupovat obecně k formátování každého elementu, skupin elementů, rodin stejných elementů, a tříd elementů. Abychom u některého elementu určili jeho třídu, přidáváme atribut class="..". V CSS pak k formátování takového elementu přistupujeme pomocí selektoru element.třída. Tento popsaný způsob je ale jeden z méně vhodných. Jeho přetěžováním dochází k tomu, že mnoho začátečnických stránek snažících se dodržovat CSS je pak přeplněno sémanticky neutrálními tagy <div>,<span> a definicemi tříd. Mnohem úspornější a přehlednější je definovat přístupy k elementům obecnějšími pravidly jako je přístup přes rodiče prvku, atd. Existuje ještě spousta jiných efektivnějších způsobů, ale kvůli špatné podpoře jazyka CSS v nejrozšířenějším prohlížeči - Internet Exploreru - se tyto způsoby zatím příliš nepoužívají.

Profesionální tvůrci webových stránek dnes u nových webů začínají tak, že nejprve nadefinují zdrojový sémanticky bohatý kód v XHTML a posléze k němu dopisují vzhled pomocí CSS. Tento postup nelze než doporučit i začátečníkům. Někdy je sice zapotřebí k dosažení některých vizuálních výsledků použít v XHTML jinou strukturu značek než bychom čekali, taktéž je třeba mít jistou praxi v tvorbě schopného XHTML kódu, ale jinými cestami, než touto, se to učí jen těžko.

Tvorba layoutu pomocí CSS má tedy všechny výhody uvedené u rámců a tabulek, přidává se k nim následující [CSS2]:

snadnější údržba bohaté sémantiky
Tím, že veškerou starost o formátování vzhledu stránky přesuneme na CSS, v XHTML se plně můžeme soustředit na sémantickou a obsahovou bohatost.
rychlejší načítání
Díky CSS se soubor s formátováním ukládá do mezipaměti prohlížeče, a při dalších zobrazových stránkách se tak ušetří obvykle kolem 50% stahovaných dat. Odpadá také problém se zobrazením stránky až po jejím celém načtení, což se stává u tabulek
více podob jedné stránky
Přepínáním různých CSS stylů pro jednu stránku můžeme této stránce dávat zcela odlišný vzhled dle libosti.
změna z jedoho místa
Pokud chceme upravit vzhled jakéhokoliv prvku na jakékoliv stránce, vždy můžeme (ale nemusíme) úpravy provádět v jediném souboru
netřeba měnit html kód
Moderní profesionální tvůrci webů často postupují tak, že vytvoří sémanticky bohatou XHTML podobu stránky, aniž by přemýšleli, jak bude vypadat, a vzhled pomocí CSS vytvářejí až v druhé fázi. Kvůli jakékoliv změně vzhledu není potřeba do XHTML kódu zasahovat. To se týká dokonce i pořadí prvků na stránce.

5.c Flash

Velmi často bývá Flash spojován s webovými stránkami. Někdy do takové míry, že lidé hovoří o „tvorbě webových stránek ve Flashi“. Flash ale s webovými stránkami nemá mnoho společného. Flashi chybí sémantika, je tam strašně nízká informační hodnota, chybí hypertext, vyhledávače nefungují. Flash nemá budoucnost jako hlavní platforma pro šíření informací na webu. Ano, své místo na internetu má a mít bude, ale ne jako nástroj pro tvorbu webových stránek.

[FLASH] Web a Flash jsou zcela odlišné pojmy. Flash není web. Flash není webová technologie. Flash není druh webu. Nic takového jako webová stránka ve Flashi neexistuje.

Flash je samostatná technologie, která nemá s webem nic společného. Ty takzvané "webové stránky ve Flashi" nejsou nic jiného než speciální binární soubory, které dokáže zobrazit pouze software společnosti Macromedia. Jazyk (X)HTML má pouze nástroje, pomocí nichž může ve stránce vyhradit prázdný rámeček pro jakýsi jemu neznámý kód a umožnit následně nějaké cizí aplikaci (pokud je na koncovém zařízení nainstalována) jej v tomto rámečku zpracovat.

6. Budoucí vývoj webových standardů

Díky tomu, že jazyk XML je podporován 95% současných prohlížečů, nic nebrání rozšiřování dalších verzí jazyka XHTML. Verze XHTML 2.0 bude oproti všem předchozím verzím HTML velmi revoluční. Vše je ve fázi pracovních návrhů. Uvažuje se například o zrušení nadpisů, zrušení značek <br />,<b>,<i>,<hr /> a dalších je už teď téměř jisté.

Prudšímu rozvoji formátovacího jazyka CSS brání, jak již bylo uvedeno, jeho špatná podpora dnes nejrozšířenějším prohlížečem - Internet Explorer firmy Microsoft. Přesto se již velmi dobře daří vyvracet mýtus, že některé věci v CSS nejdou, nebo jdou jen velmi těžko. Zářným příkladem síly CSS je stránka CSS Zenové zahrady (http://www.csszengarden.com/). Tato stránka má stále stejný HTML kód, ale mění se vždy připojený CSS soubor.

Pozornost se stále více zaměřuje na metadata. RDF je poměrně nový samostatný formát pro popis metadat (dat o datech) na internetových stránkách. RSS je velmi rychle se rozšiřujícím formátem pro zjednodušený výpis obsahů webů. Používá se například u on-line magazínů a jiných často aktualizovaných stránek. Pro čtenáře pak není problém udržovat si pomocí RSS přehled v článcích několika desítek až stovek on-line médií.

Postupně se už nyní daří bořit různé mýty kolem webových standardů. Ukazuje se, že optimalizace pro vyhledavače funguje, web podle zásad použitelnosti přináší více peněz, sémantický obsah má smysl, tvorba layoutu pomocí CSS je mnohem efektivnější než jinou metodou a že XML (a tudíž i XHTML) dokáží mnohá zařízení zobrazovat daleko snadněji než HTML (viz formát WAP, který je podmnožinou jazyka XML). V tomto boření mýtů je potřeba postupovat i nadále. Tím více pak bude stoupat poptávka po moderních webech a moderních prohlížečích a tím informační hodnota internetu.

7. Slovník

atribut
V zápisu <h1 id="hlavni"> je jediný atribut id.
CSS
Cascade Style Sheet - stylový předpis / jazyk definující vzhled HTML, XHTML a XML dokumentů viz [CSS]
DHTML
Dynamické HTML, nikdy nevziknuvší standard; nejvíce se tento pojem používal kolem let 1997 a 1998; Podstatou Dynamického HTML nejsou žádné nové HTML značky, ale doplnění stávajících značek o další atributy, které umožňují nad HTML definovat dynamicky se chovající objektový model, což značí, že HTML značky mají vlastnosti, metody a reagují na události. - [DHTML]
DTD
Definice typu dokumentu - říká nám, které elementy a atributy můžeme ve svém XML / HTML / XHTML dokumentu použít.
element
V zápisu <h1 id="hlavni"> hovoříme o elementu <h1>.
entity
Jsou to speciální znaky, které nelze v HTML zapsat přímo v jejich ASCII podobě. Nejobvyklejší entity v (X)HTML jsou &amp; (& - ampersand), &nbsp; (pevná mezera), &quot; (" anglické uvozovky), &lt; (< - levá špičatá závorka), &gt; (> - pravá špičatá závorka), &copy; (© - copyright), &bdquo; („ - dolní otevírací uvozovky), &ldquo; (“ - horní uzavírací uvozovky)
HTML
HyperText Markup Language - hypertextový značkovací jazyk viz [HTML]
RDF
Resource Description Framework - formát pro popis metadat, obsahu stránky. [RDF]
RSS
Really Simple Syndication - formát existující v nezávislých verzích 0.91, 1.0 a 2.0, slouží k prezentaci zkráceného obsahu (výtahu) internetové stránky. Používá se na weblozích a začíná se používat na stránkách on-line médií. [RSS]
Screenreader
Aplikace převádějící obsah webové stránky do zvukové mluvené podoby zrakově hendikepovaným nebo slepým uživatelům.
SGML
Standard Generalized Markup Language - jazyk definovaný v normě ISO 8879 roku 1986. Je to velmi obecný a volný značkovací jazyk.
XHTML
Extensible HyperText Markup Language - aplikace HTML do podoby XML - viz [XHTML]
XML
Extensible Markup Language - podmnožina SGML - viz [XML]
WWW
World Wide Web
WYSIWYG
What You See Is What You Get - zpravidla se tak označují HTML editory, v nichž uživatel přímo upravuje stránku tak, jak bude vypadat běžném internetovém prohlížeči, a nikoliv její zdrojový kód.

8. Použitá literatura

[CSS]
B. Bos, H. W. Lie, Ch. Lilley, I. Jacobs: „Cascading Style Sheets, level 2 CSS2 Specification, W3C 12. květen 1998
Poslední verze k dispozici na http://www.w3.org/TR/REC-CSS2
[CSS2]
Dušan Janovský: „Skutečné výhody CSS layoutu“ Yuhůův weblog o webu 17. leden 2004
K dispozici na http://www.jakpsatweb.cz/weblog/archiv/2004-01.html#182323
[DESIGN]
Robert Mindžák: „Dokonalý WebDesign“, Computer Press Praha 2002
[DHTML]
Pavel Mikle: „Dynamické HTML“, Unis Publishing 1997
[FLASH]
Petr Staníček: „Web vs. Flash“, Weblog Pixylophone 11. leden 2004
K dispozici na http://www.pixy.cz/blog/2004_01_archiv.html#1073782168
[HTML]
D. Raggett, A. Le Hors, I. Jacobs: „HTML 4.01 Specification“, W3C 24. prosinec 1999
Poslední verze k dispozici na http://www.w3.org/TR/html4
[IEHI]
Microsoft: „Windows Products and Technologies History - Internet Explorer History“, Microsoft 30. červen 2003
K dispozici na http://www.microsoft.com/windows/WinHistoryIE.mspx
[OFFICE]
Jiří Hlavenka: „Microsoft částečně otevírá formáty v Office: co to přinese?“ Živě.cz 6. leden 2004
K dispozici na http://www.zive.cz/h/Byznys/AR.asp?ARI=114279
[RAMY]
Jan Bien: „Rámy, rámce, čili frames“, Weblog Mraveniště 2003
K dispozici na http://www.mraveniste.org/weblog/frames-1-vyhody-nevyhody.html
[RDF]
Dave Beckett, Brian McBride: „RDF/XML Syntax Specification (Revised)“ W3C 15. prosinec 2003
Poslední verze k dispozici na http://www.w3.org/TR/rdf-syntax-grammar/
[RSS]
Dan Libby: „RSS 0.91 Spec, revision 3“ Netscape Communications 10. červenec 1999
K dispozici na http://my.netscape.com/publish/formats/rss-spec-0.91.html
[SEM.1]
Jan Bien: "Sémantika na webu", Weblog Mraveniště září 2003
K dispozici na http://www.mraveniste.org/weblog/2003-09.html#1062953447
[SEM.2]
Martin Snížek: "XHTML – hlavní sémantické elementy", Interval.cz 17. únor 2003
K dispozici na http://interval.cz/clanek.asp?article=1981
[SEO]
Archiv konference o SEO (Search Engine Optimization)
K dispozici na http://seo.nawebu.cz/
[USAB1]
Dobrý web: „Použitelnost webových stránek“ Dobrý web
K dispozici na http://www.dobryweb.cz/metody/pouzitelnost.html
[USAB2]
Jakob Nielsen: „Usability 101“ Jakob Nielsen's Alertbox 25. srpen 2003
K dispozici na http://www.useit.com/alertbox/20030825.html
[WEBTXT]
Miroslav Vejlupek: „WEB - "TEXTOVÝ" VERSUS "GRAFICKÝ"“, Sova v síti 17. září 2001
K dispozici na http://www.sovavsiti.cz/download/sova0122.txt
[XHTML.1]
members of the W3C HTML Working Group (S. Pemberton, D. Austin, G. J. Axelsson, ...): "XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)", W3C 1. srpen 2002
Poslední verze k dispozici na http://www.w3.org/TR/xhtml1/
[XHTML.2]
Marek Prokop: „Co je XHTML“, Sova v síti 1.10.2001
K dispozici na http://www.sovavsiti.cz/c01242.html
[XML]
T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler: „Extensible Markup Language (XML) 1.0 (Second Edition)“, W3C 6. říjen 2000
Poslední verze k dispozici na http://www.w3.org/TR/REC-xml
[XMLPK]
Jiří Kosek: „XML pro každého“, Grada 2000