HTML 4.0

Jiří Kosek ml.

Léto bývá v mnoha oborech a v novinařině zvlášť považováno za "okurkovou sezónu" -- mnoho nového a zajímavého se neděje a na přetřes se tak dostanou různá okrajová a nouzová témata. V rubrice věnované Internetu se však okurkového fenoménu bát nemusíme. Neustále se děje něco nového a nové technologie se líhnou, jak houby po dešti. Do tohoto kvasu přispěla na začátku července i navýsost povolaná instituce -- konsorcium W3C. Uvolnila návrh specifikace nové verze jazyka HTML. Verze je označena jako 4.0.

My si povíme o myšlenkách, z kterých verze 4.0 vychází, zpětné kompatibilitě s verzí 3.2 a podrobněji si rozebereme některé zajímavé rysy nové verze. Hned zkraje však musíme upozornit na to, že HTML 4.0 je "Working Draft". Z toho vyplývá, že specifikace může být kdykoliv změněna či dokonce zrušena. HTML 4.0 tedy dosud není závazný standard, který bychom měli dodržovat při vytváření našich stránek. Pokud se však nová verze HTML ukáže jako živataschopná (= budou ji podporovat prohlížeče), její statut se změní na "W3C Recommendation" a bude již závazným standardem Internetu.

Základní principy nové verze HTML

HTML 4.0 nevzniklo na čisté louce. Již v době uvolnění specifikace HTML 3.2 (kódové jméno Wilbur) se pracovalo na nové verzi HTML pod označením Cougar. Cougar měl sjednotit zejména elementy pro rámy, vložené objekty (element OBJECT), skriptování a pro podporu vícejazyčných dokumentů. Cougar se skládal ze samostatných dokumentů, které popisovaly jednotlivá rozšíření oproti stávající praxi. HTML 4.0 přináší popis všech starých i nových elementů v jednom dokumentu. Podívejme se na základní principy, které byly při návrhu nové verze HTML brány v potaz.

Přenositelnost patří mezi základní myšlenky, na kterých vznikal Web. Jeden dokument by měl být pomocí Webu přístupný pro počítače s různým grafickým rozlišením, pro digitální diáře, zařízení pro syntézu zvuku, pro počítače připojené pomocí rychlé i pomalé linky. Tohoto cíle můžeme dosáhnout tím, že HTML bude využíváno jako značkovací jazyk k vyznačení struktury a nikoli jen grafického vzhledu dokumentu. Z tohoto důvodu nová specifikace nedoporučuje používání atributů a elementů k řízení grafického vzhledu dokumentů. Požadavky na grafický vzhled jednotlivých úseků dokumentu by měly být specifikovány pouze pomocí stylů.

Jednotný a přenositelný formát HTML ve výsledku přinese úspory jak uživatelům, tak i producentům informací, kteří se soustředí pouze na jeden formát poskytovaných informací.

Podpora vícejazyčnosti. HTML 3.2 mělo dostatečnou podporu pouze pro anglicky psané texty. Podpora jiných jazyků, zvláště pokud používaly jiné znaky než z anglické abecedy, vždy pokulhávala. HTML 4.0 přejímá podporu vícejazyčnosti z RFC dokumentu 2070. U valné většiny elementů lze použít dva nové atributy LANG a DIR. První z nich slouží k určení jazyka, kterým je obsah elementu zapsán. Jako hodnota se uvádějí standardizované kódy. Například pro angličtinu existuje kód en, pro americkou angličtinu pak subkód en-US. Atribut DIR slouží k určení směru textu. Implicitní hodnota je ltr pro text psaný zleva doprava. Druhou přípustnou hodnotou je rtl pro text psaný zprava doleva, jak je to běžné zejména v některých arabských jazycích. Směr textu lze míchat i uvnitř odstavce pomocí speciálního elementu BDO.

Podpora vícejazyčnosti samozřejmě vyžaduje znakovou sadu, která obsáhne všechny používané znaky. Předchozí verze stavěla na 8bitovém kódování ISO 8859-1, které vyhovovalo angličtině a většině západoevropských jazyků. V HTML 4.0 je jako znaková sada podporováno 32bitové kódování ISO 10646 (je kompatibilní s Unicode 2.0), které pojme všechny na planetě používané znaky. Aby nebyly všechny dokumenty čtyřikrát větší, mohou se používat různé způsoby kódování této znakové sady. Mezi nejoblíbenější patří asi UTF-8, které jednotlivé znaky převádí do různého počtu oktetů. Znaky z dolní poloviny ASCII tabulky jsou přitom v UTF-8 kódovány stejně, což je velice příjemné.

Podpora vícejazyčnosti může přeneseně vylepšit i další fáze práce s HTML dokumenty jako indexování prohledávacími stroji, lepší typografii přizpůsobenou jazykovým zvyklostem, lepší převod textu na řeč, správné dělení slov a mnoho dalšího.

Dosažitelnost stránek i pro lidi s různými postiženími. HTML 4.0 v této oblasti nabízí zejména možnosti vytvoření textových popisů obrázků a i některých dalších HTML elementů. V nové verzi je rovněž možno ve formulářích přiřazovat jednotlivým vstupním polím návěstí, která usnadní práci s formuláři.

Tabulky jsou založeny na modelu podle RFC 1942. Nový model nabízí mnohem větší kontrolu nad strukturou a výsledným zobrazením tabulky. U sloupců lze určit jejich šířku a tabulka může být vykreslována ještě před tím, než je přenesen celý její obsah. Každou tabulku lze rozdělit na hlavičku, tělo a patičku. U dlouhých tabulek může být hlavička a patička neustále zobrazena pro usnadnění orientace, zatímco tělo tabulky bude skrolovat.

Obecná podpora pro vložené dokumenty. HTML 4.0 standardizuje používaní elementu OBJECT, který může být využit pro vkládání obrázků, videa, zvuku, matematických výrazů, různých aplikací a dalších objektů. Tento nový element rovněž umožňuje specifikovat alternativní zobrazení, která se použijí v případě, že daný objekt není prohlížečem podporován.

Styly dokumentů nejsou žádnou novinkou. Doporučením W3C jsou již od konce minulého roku. Styly umožňují důsledně oddělit prezentační vlastnosti dokumentu od jeho struktury. HTML nabízí několik způsobů pro spojení dokumentu se stylem zapsaným v libovolném stylovém jazyce.

Podpora skriptů není v nejpoužívanějších prohlížečích nic nového. Nicméně teprve teď se stává standardní součástí HTML. Skripty mohou posloužit zejména při vytváření inteligentních formulářů, které ověří správnost dat ještě před jejich odesláním na server. HTML pro každý element definuje události, které je možno ošetřit skriptem. Zakomponování skriptů do HTML dokumentu je opět nezávislé na použitém skriptovacím jazyce. Specifikace se zmiňuje i o způsobu, kterým se je možno odvolávat na jednotlivé elementy (pomocí návěstí definovaného atributem NAME nebo ID) -- to je důležité zejména pro objektový model ve vznikajícím dynamickém HTML.

Tisk více souvisejících dokumentů je nyní usnadněn díky standardnímu způsobu definování vztahů mezi dokumenty.

Snadnost použití byla zachována i v nové verzi HTML. Dokumenty lze pořád bezproblémově psát přímo ručně, i když autoři specifikace doufají, že se brzo objeví nástroje pro pohodlné vytváření např. složitějších formulářů.

Kompatibilita s HTML 3.2

HTML 4.0 ve většině případů rozšiřuje verzi 3.2. Existují však některé výjimky. Verze 4.0 již nepodporuje elementy XMP, PLAINTEXT a LISTING. Místo nich se používá pouze element PRE.

Existuje i velké množství elementů, které HTML 4.0 obsahuje, ale specifikace jejich používání nedoporučuje. Zejména proto, že v další verzi HTML již nemusí být obsaženy. A o které elementy se jedná?

Především o element APPLET. Aplety by se v nové verzi měly vkládat stejně jako ostatní objekty pomocí elementu OBJECT.

Měli bychom se vyhnout i elementu ISINDEX, jehož funkčnost můžeme velice snadno nahradit jednoduchým formulářem. Rovněž se nedoporučuje používat elementy DIR a MENU. Ty slouží k podobnému účelu jako nečíslovaný seznam UL. Liší se pouze grafickým zobrazením. My bychom měli používat element UL a případné speciální požadavky na zobrazení specifikovat pomocí stylu.

Poslední velkou zapovězenou skupinou jsou elementy sloužící pro určování druhu písma a způsobu zarovnání (FONT, BASEFONT, STRIKE, S, U a CENTER). Místo nich bychom měli vždy použít styly a oddělit tak strukturu dokumentu od požadavků na přesný grafický vzhled.

Novinky v HTML 4.0

Nyní se ve stručnosti podíváme na nejdůležitější novinky, které přinesla nová verze HTML.

Používání stylů si vynutilo vznik dalšího elementu, který by sloužil k označení části odstavce, na kterou chceme aplikovat nějaký styl. Tento element se jmenuje SPAN. Malá ukázka použití:

Román Temno napsal <SPAN class="small-caps">Alois Jirásek</SPAN>.
Vidíme, že SPAN má podobné použití jako element DIV, ale slouží k označení části textu uvnitř odstavce. DIV naopak slouží k označení několika odstavců dohromady.

V HTML 4.0 přibyl nový logický styl písma. Skrývá se za elementem ACRONYM a slouží k označování zkratek. Malá ukázka použití:

Služba <ACRONYM title="World Wide Web">WWW</ACRONYM> patří
k nejrozšířenějším.
Vysvětlení zkratky se může objevit např. po najetí myší nad zkratku.

Pro zařazování krátkých citací se místo BLOCKQUOTE může používat element Q.

Elementy INS a DEL můžeme používat k označení části dokumentu, které oproti poslední verzi přibyla či ubyla.

Element LINK, který mnoho autorů WWW stránek přiváděl do rozpaků, dnes slouží k definování dokumentů, které mají k našemu dokumentu nějaký vztah. Následující kód do dokumentu vloží informaci o logicky předcházejícím a následujícím dokumentu a o stránce s obsahem všech souvisejících dokumentů:

<HEAD>
<TITLE>Kapitola 2: Jak jsem...</TITLE>
<LINK rel="Next" href="kapitola3.html">
<LINK rev="Previous" href="kapitola1.html">
<LINK rel="Contents" href="obsah.html">
</HEAD>
Podobný mechanismus může být použit i pro specifikování alternativní verze dokumentu určené například pro tisk:
<LINK media="print" title="Dokument v PostScriptu"
 rel="alternate" href="http://www.server.cz/docs/povidka.ps">
Opravdu komplexním je element OBJECT, jehož chování lze ovlivnit dvěma desítkami atributů. Důležité je, že v případě, kdy prohlížeč zadaný objekt neumí zpracovat, zobrazí samotný obsah elementu OBJECT. Využijeme-li tuto vlastnost rekurzivně, dosáhneme velice zajímavých a užitečných efektů. Následující HTML kód
<OBJECT classid="java:Earth.class">
  <OBJECT data="Earth.mpeg" type="application/mpeg">
    <OBJECT src="Earth.gif">
      Planeta Země, tak jak ji viděl první kosmonaut.
    </OBJECT>
  </OBJECT>
</OBJECT>
spustí v prohlížečích, které podporují Javu, aplet s rotující planetou Země. Pokud prohlížeč neumí Javu, ale umí přehrávat MPEG, spustí se video s rotující planetou. Pokud ani s MPEGem neuspějeme, zobrazí se obrázek planety. Na znakových prohlížečích pak pouze popis toho, co je na obrázku vidět.

Mnoho vylepšení se dotklo formulářů. Vstupní pole lze nyní slučovat do logických celků, přiřazovat jim návěstí. U odkazů a vstupních polí může být pomocí atributu tabindex určeno pořadí, v jakém budou postupně aktivovány při stisku tabulátoru.

K dalším novinkám jako rámům, tabulkám podle RFC 1942 a kaskádovitým stylů se podrobně vrátíme v rubrice "Vytváříme si domovskou stránku".

Vážným a odvážným zájemcům o HTML nezbývá než doporučit přečtení samotné specifikace na adrese http://www.w3.org/TR/WD-html40-970708/. Specifikace je oproti předchozím verzím mnohem lépe zpracovaná. Obsahuje přehledné seznamy elementů a jejich atributů. Navíc v ní nalezneme i velice užitečný úvod do syntaxe jazyka SGML, který je použit při deklaraci jednotlivých elementů a jejich atributů.

© Jiří Kosek 1999