V tomto článku lehce rozptýlím mlhy okolo nově vyvíjené a již částečně implementované specifikace HTML5. Zmíním, jaké jsou výhody a přínosy oproti stávajícím standardům. Nebudu se zabývat podrobným popisem změn oproti dřívějším specifikacím, ani nebudu popisovat jednotlivé funkce. Takovýchto informací je na webu nespočet. HTML5 se stal novým buzzwordem nahrazujícím doposud glorifikovaný WEB 2.0. Stačí do vyhledávače zadat „HTML5“ a výsledek dokazuje, že HTML5 je žhavým a aktuálním tématem v našem oboru. Kdo to myslí s webem vážně, rozhodně musí jít s dobou a trend HTML5 sledovat.
Krapet historie
Všichni víme, že web jako takový není věc statická a hotová. Prožívá neustálý vývoj, který uživatel ani nezaznamená – ale my – tvůrci stránek s ním žijeme a sledujeme. Od prvotního uznaného HTML 0.9 (rok 1991) prošel tento značkovací jazyk vývojem až do verze HTML 4.01 (rok 1999). Zde byl vývoj HTML zastaven a nahrazen „novým“ jazykem XHTML 1.0 (rok 2000). Konsorcium W3C dále vyvíjelo jeho druhou verzi. Vývoj byl však také zastaven a nahrazen prací na HTML5 (2007) ve spolupráci s pracovní skupinou původně nezávislou na W3C. HTML je z dnešního pohledu morálně zastaralé a praxí zavržené XHTML také nedostačuje současným a budoucím požadavkům. Tak se velice rychlým tempem dostává do popředí nově vyvíjený standard HML5. Ukončení jeho vývoje je stanoveno na rok 2022, a proto se implementace omezuje na části podporované současnými prohlížeči. V praxi se jádro HTML5 (tagy) bezpečně použít nedají. Zato se hojně využívá funkcí a postupů z rodiny HTML5. Nový jazyk vybírá to nejlepší z (X)HTML a to celé obohacuje o nové sémantické značky, postupy a metody. Jádro HTML5 se tváří jako dokonalý značkovací jazyk pro web a v rozšířené rovině i jako mocný nástroj pro tvorbu aplikací. Ve spojení s CSS3 vzniká silná a pružná platforma pro vývoj webů a aplikací. Vypadá to jako hezká pohádka, ovšem realita je zatím pořád trošku jiná.
Co tedy přináší HTML5 nového?
Co se oproti dřívějším specifikacím nejvíce mění a kolem čeho je v současnosti na internetu největší diskuse? Bezpochyby je tím sémantika zdrojového kódu. Předchozí XHTML nastolilo cestu co nejjednoduššího kódu s co nejjasnější logikou a co nejmenším počtem jednotlivý značek (tagů). HTML5 zachovalo z XHTML striktní oddělení stavby jednotlivých bloků od jejich vzhledu (to se i nadále provádí pomocí kaskádových stylů – CSS) a nově zařazuje logické označování celých obsahových bloků a sekcí. Dokonce oživuje i tagy, které XHTML zavrhlo (, ) a přiznává jim sémantický význam. Doporučuji vtipně zpracovaný seznam tagů v podobě periodické tabulky.
Rodina HTML5 se také zabývá dalšími možnostmi sémantického označování, jako jsou mikroformáty (např. Google Rich Snippets), mikrodata nebo RDFa o nichž si řekneme něco více v samostatném článku. Za zmínku stojí i formát OpenGraph využívaný Facebookem, který provazuje informace s konkrétními lidmi – tzv. socializace dat.
Samostatnou a velmi širokou větví jsou HTML5 technologie umožňující vývojářům projektovat uživatelsky přívětivá aplikační řešení přímo v internetovém prohlížeči.
Nejpodstatnější novinkou jsou tedy nové značky logického rozdělení obsahových bloků na stránce (ve výše uvedené tabulce prvků světle modré – Document sections). Díky nim je možné roztřídit obsah do jednotlivých bloků
, záhlaví
, patiček
Ale co? Kde je problém?
Největší problém HTML5 je vývoj jeho vlastní specifikace. Bohužel to není nic jednoduchého a ustanovení konečné specifikace je naplánováno až na rok 2022. A zde je právě zakopán pes. Značky ve výše uvedené tabulce nejsou finální. Tvůrci specifikace průběžně naslouchají názorům odborné veřejnosti a snadno se stává, že se po dohodě některá značka ze specifikace vypustí. Tudíž to, co jste dnes udělali a použili správně, již zítra správně být nemusí. A bohužel práce v takovéto nejistotě logicky často vede k setrvání u současně používaných specifikací (X)HTML.
Jaké je tedy řešení, pokud chci již dnes začít používat logické členění, které HTML5 přináší, ale nechci riskovat případnou ztrátu validity nebo dokonce funkčnosti? Je to jednoduché. Webové stránky tvořte dál, jak jste zvyklí (tedy pomocí značek
atd.), jen klíčové bloky rozlišujte třídami s názvy bloků. Čili ve výsledku nepoužijete
článek
ale
článek
. Pak jednoho krásného dne, kdy bude specifikace hotova, tedy pravděpodobně až v onom roce 2022 (my víme, že k tomu vlastně stejně nedojde – existence lidstva přece končí k prosinci 2012 a bez lidstva nebude třeba ani HTML5 :-), prostě ve všech takto formátovaných stránkách dáte jednoduše nahradit DIVy s třídami za kompletní značky a přechod na plné HTML5 bude hotový. Už v dnešní době lze psát čisté HTML5 stránky a pomocí technik CSS a JavaScriptu přimět fungovat i v prohlížečích, které HTML5 nepodporují. Tato řešení jsou však komplikovaná a neobsahují v sobě mnoho „vychytávek“ celé rodiny HTML5 (
innerShiv,
HTML5 Boilerplate,
http://html5boilerplate.com/HTML5 Reset).
A co na to prohlížeče?
Jak všichni z praxe víme, většina vynálezů a vychytávek používaných na webu naráží na jednu společnou hranici. Webové prohlížeče. Snad odjakživa si tvůrci všech nejvýznamnějších prohlížečů většinu vlastností a formátování vykládají odlišně. Jak správně očekáváte, ani v případě HTML5 to není jinak. Některé prohlížeče již podporují takřka všechny novinky, jiné nepodporují prakticky vůbec nic (zejména Internet Explorer ve verzi 6–8; verze 9 by to zanedlouho vše měla změnit).
Přehled o tom co které prohlížeče podporují, najdete v přehledné tabulce. Nebo si přímo otestujte, co Váš prohlížeč zvládá. V tabulkách lze také najít podporované vlastnosti nových kaskádových stylů (CSS3). Ovšem samotné téma CSS3 je již na delší povídání. A to si necháme na některý z dalších článků.
Závěrem
V současné době je hlavní silou HTML5 friedly kódu jeho snadná indexovatelnost, jednoduchost a přehlednost. Unifikace označování se pak výrazně projeví zejména v korporátní sféře, při spolupráci více kodérů na projektu. Významná je úspora času při orientaci v kódu a jednoznačnost. Doplnění kódu o již dnes podporované sémantické vyznačování (mikroformáty, OpenGraph) významně vypomůže při budování vazeb mezi firmou a lidmi a v neposlední řadě i podpoří důvěryhodnost ve výsledcích vyhledávání (Rich Snippets). HTML5 je velmi silná a slibná technologie, kterou lze u specifických projektů se značnými výhodami použít.