Ježíšek existuje! Přáli jste si něco?
Konsorcium před devíti lety umrtvilo vývoj HTML. Reformulace nikoho nezajímá, modularizace nikoho nezajímá a tempem couvající želvy připravované XHTML 2 na nic nenavazuje, přestože také nikoho nezajímá. Není-li na poptávku schopno reagovat konsorcium, musí někdo jiný.
Iniciativy se chopilo uskupení Web Hypertext Application Technology Working Group, zkráceně WHAT WG. Mluvčím a hlavním editorem je Ian Hickson, spoluautor CSS 2.1, bývalý zaměstnanec Nadace Mozilla i Opera Software. Opravdový živý guru.
O dění kolem WHAT WG psal na Lupě již před dvěma lety Petr Staníček:
Vývojáři přidali funkce do jádra prohlížeče Safari a rozšířili tak vlastně jazyk HTML o několik svých vlastních prvků, např. prvek
<canvas>
nebo atributycomposite
,contenteditable
atd. Tedy něco, co třeba Microsoft dělá se svým Internet Explorerem jako na běžícím páse.— Pixy, Průkopníci zítřka a vězni včerejška, Lupa, 13. července 2004
Celý článek „děsil“ čtenáře tím, že Safari nastartuje ustrnulý vývoj HTML. Výroky o běžícím pásu jsou úsměvné uvážíte-li, že posledními vlastními elementy Microsoftu, které se nedostaly do žádného W3C doporučení, byly <marquee>
a <bgsound>
z roku 1995 a z přidáváných atributů si téměř žádný nevybudoval špatnou pověst.
Pixy také poukázal na své značné neznalosti značkovacích jazyků:
Doba, kdy si každý výrobce živelně a po svém dělal s jazykem HTML, co ho zrovna napadlo, je dávno pryč. Přitom dnešní technologie pro podobná proprietární rozšíření poskytují i "slušná" řešení. Jedním z nich jsou jmenné prostory (namespaces) jazyka XML. Zjednodušeně řečeno - namísto toho, aby výrobce zasahoval do pevně kodifikovaného jazyka, jakým HTML či XHTML jsou, vytvoří si nad XML jazyk vlastní. Ten může být XHTML velmi podobný, ale regulérně už může obsahovat i libovolné dodatečné funkce. Laikům se může zdát, že v tom zas takový rozdíl není, ale ve skutečnosti je ten rozdíl opravdu principiální. Výrobce své dokumenty odkazem na vlastní definici jmenného prostoru (DTD) deklaruje jako jakési „MojeHTML“ a nikoli jako (X)HTML, a nepředělává si tak podle svých okamžitých potřeb platné „oborové normy“.
— Pixy, Průkopníci zítřka a vězni včerejška, Lupa, 13. července 2004
Takhle to dopadá, když se evangelizátor zamotá do vlastních sítí.
Odvodit si vlastní jazyk od existujícího pomocí jmenných prostorů nejde. Můžete si vyrobit naprosto jiný jazyk se stejně nazvanými elementy, který ovšem nikdy nebude kompatibilní s žádným XHTML prohlížečem — váš vlastní <a href="url">odkaz</a>
nebude nikde jinde fungovat. Nebo můžete vymyslet jen pár nových elementů uvnitř svého jménného prostoru a ty začlenit do XHTML dokumentu, tj. místo <canvas>
mít třeba <canvas xmlns="urn:x-apple-extension">
.
Je-li rozšiřování HTML špatné proto, že výsledek není validní proti DTD, jsou na tom jmenné prostory úplně stejně. U obou si můžete napsat vlastní DTD (s modularizací nebo bez). Principiální rozdíl může vidět jen laik.
Závěr článku byl až nechutně optimistický:
Koncem minulého týdne Dave Hyatt oznámil, že pracovně vytvořili jmenný prostor „Apple HTML-extended“ a nové funkce prohlížeče budou řešit standardními prostředky jazyka XML.
Přiznávám se, že mě tahle drobná kauza potěšila. Přinejmenším jako důkaz toho, že „to jde“. [...]
Jen se mi nějak těžko daří představit si, že by se něco podobného mohlo stát i s jiným, nejmenovaným prohlížečem, v jiné, nejmenované firmě, která to, že už není rok 1994, zatím nepostřehla. A to je ten smutnější podtón, který je v téhle písničce stále slyšet.
— Pixy, Průkopníci zítřka a vězni včerejška, Lupa, 13. července 2004
Jmenný prostor Davida Hyatta zmizel stejně rychle, jako se objevil. V tichosti. Jeho skutečně korektní implementace by totiž vyžadovala přechod na XHTML. Na skutečné XHTML, které není zpětně kompatibilní
Dnes, po dvou letech, se má WHAT WG čile k světu.
Pod označením Web Applications 1.0 je oficiálně známa specifikace, kterou sami autoři občas přezdívají HTML 5. Popisuje rozšíření HTML a objektového modelu dokumentu a dle svých slov by ráda nahradila W3C doporučení HTML 4.01, XHTML 1.x a DOM Level 2 (HTML).
Jelikož jsou sémantické, strukturální a funkcionální rysy značkovacích jazyků jen zřídka závislé na podkladovém metajazyku, neomezuje se WA 1 na jedinou syntaxi. Dovoluje užít jak XML, tak vlastní formát založený na SGML.
Přestože HTML podoba HTML 5 jeví známky blízké podobnosti se SGML a XML, je to samostatný jazyk s vlastními rozebíracími pravidly.
Některé dřívější verze HTML (konkrétně HTML 2 až HTML 4) byly založeny na SGML a užívaly rozebírací pravidla SGML. Jen málo webových prohlížečů (pokud vůbec nějaké) však implementovalo skutečné SGML rozebírání pro HTML dokumenty. Historicky jedinými interprety nakládajícími s HTML přísně jako se SGML aplikací byly validátory. Výsledný zmatek — s validátory žádajícími jednu reprezentaci a s široce rozšířenými prohlížeči interoperabilně implementujícími reprezentaci jinou — vedl k této verzi HTML vracející se k ne-SGML základům.
XML podoba WA 1 bývá označována jako „XHTML 5“, v jejím případě se specifikace plně opírá o doporučení XML 1.0. Tuto podobu není dovoleno posílat s MIME typem „text/html
“, což její užití na široširém webu značně limituje.
HTML podoba má dobře definovaný postup parseru. Stávající návrh říká, že HTML 5 dokument by měl začínat řetězcem „<!doctype html>
“, bez veřejného identifikátoru a adresy. Jeho validita tedy není ověřitelná klasickým SGML validátorem.
WA 1 rozšiřuje sortiment elementů a atributů:
<section>
, <nav>
, <article>
, <aside>
, <header>
, <footer>
.
<div>
s jasným sémantickým posláním.
<m>
.
<t>
.
<meter>
.
<progress>
.
<calendar>
.
<canvas>
.
contextmenu
.
<menu>
element, který má být použit jako kontextové menu daného elementu.
contenteditable
.
ping
u odkazů.
Zmizelo proslulé opruzování povinnými atributy: type
u elementů <style>
a <script>
není povinný, oba dva mají dané výchozí hodnoty (hádejte jaké). Stejně tak se stanou nepovinnými prezentační atributy rows
a cols
u <textarea>
.
Navrhovaná rozšíření DOMu připomínají místy historický dokument, místy sci-fi film:
document.write
uvnitř právě rozebíraného dokumentu.
innerHTML
.
globalStorage
.
Je možné, že se WA 1 časem rozpadne na několik dílčích specifikací. Základní myšlenky ovšem nezmizí. Proto uchopte tlustou červenou fixu a škrtněte si ve svých XHTML učebnicích ty „nadějné“ věty, že je HTML mrtvé a že žádná další verze nebude.
WHAT WG dokazuje, že „to jde“. Bez W3C.
Návrh Web Forms 2.0 je menším bratříčkem WA 1. Obohacuje klasické HTML formuláře o různé inteligentní vymoženosti.
Nejvýraznější rozšíření postihla element <input>
:
datetime
, date
, time
, month
, week
.
number
a range
.
email
a url
.
pattern
.
required
.
autocomplete
(s hodnotou off
).
form
.
Ve starších prohlížečích jsou neznámé typy <input>
ů interpretovány jako <input type="text">
, takže k žádné kolizi v kompatibilitě nedochází. S troškou JavaScriptu můžete chování lepších formulářů snadno a krásně obecně emulovat.
Další zajímavé novinky WF 2:
<datalist>
a atribut list
u <input>
u.
<select>
u.
<output>
.
<span>
, jehož účelem je reprezentace výstupu formulářové činnosti.
V srpnu 2006 byl návrh WF 2 začleněn do standardizačního procesu konsorcia
Nic. Alespoň zatím oficiálně neprojevil o spolupráci s WHAT WG zájem. A to je teprve ten smutnější podtón, který je v téhle písničce slyšet. Škoda. Ale jeden smutný podtón skvělou písničku nezkazí.
WA 1 a WF 2 se nikdy nestanou oběťmi Exploreru, jelikož jsou v dostatečné míře zpětně kompatibilní. Historie webdesignu prokazuje, že plynulý vývoj má velmi slušnou šanci dokopat i ty pomalejší výrobce prohlížečů k zázrakům.