Proč nepoužívám XHTML
V poslední době je mezi progresivními webdesignéry stále modernější vytvářet stránky v XHTML, nejlépe ve variantě Strict, ještě lépe pak ve verzi 1.1. Tomu, kdo má stránky v HTML, se už jen vysmějí. Není to dobře. Tito webdesignéři jsou totiž zaslepení standardizací stejně, jako byli před osmi lety zaslepeni možnostmi nových webových technologií jejich o pár let starší kolegové. Web přitom není o nových technologiích, dokonce není ani o standardizaci, ale o dosažení interoperability. Z tohoto ohledu je však XHTML mnohem horší než HTML.
Udělejme si malé historické odbočení pro pochopení souvislostí. Okolo roku 1996 nastal opravdový boom webu a mnoho firem přišlo s technologiemi, které rozšiřovaly funkčnost webu. Z té doby pocházejí technologie jako JavaScript, Java applety, ActiveX nebo Flash. Microsoft i Netscape rozšiřují jazyk HTML o své značky. V roce 1997 oba hráči uvolňují čtyřkové verze prohlížečů, které podporují dynamické HTML (DHTML). Implementace DHTML jsou však navzájem nekompatibilní.
Schopnosti jednotlivých prohlížečů se v té době tolik lišily, že stránka přístupná ve všech prohlížečích používala skutečně jen základní konstrukce HTML. Měla-li být stránka více "barevná a živá", znamenalo to využití proprietárních technologií dostupných jen v některém z prohlížečů. Stránky se proto vytvářely v několika variantách, určených pro jednotlivé prohlížeče, a některé stránky zkrátka fungovaly jen v jednom prohlížeči.
V té době mnoho webdesignérů chtělo dát světu najevo, že umí, a na stránky umisťovalo různé interaktivní ActiveX komponenty, Java applety nebo alespoň jezdící text pomocí elementu <marquee>
. Tím však popřeli základní myšlenku webu, který má umožnit komukoli, odkudkoli a kdykoli snadný přístup k informacím. Interoperabilita webu byla narušena.
Standardizační organizace jako W3C, IETF nebo ECMA vznikly jako instituce, které mají tuto interoperabilitu zajistit. Nástrojem pro zajištění interoperability jsou normy (každá instituce je má formálně pojmenované jinak - například W3C vydává takzvaná doporučení). Budou-li všichni dodržovat standardizované formáty dat a protokoly, mělo by to zaručit možnost vzájemné bezproblémové komunikace. Standardizace je tedy jen nástroj, nikoli cíl.
Od konce devadesátých let jsou webové standardy masivně propagovány a zdá se, že alespoň mezi autory stránek se pomalu stává samozřejmostí jejich dodržování a shoda stránek s některým ze standardů HTML nebo XHTML. To je samozřejmě dobře. Nesmíme však zapomínat, že cílem je pořád interoperabilita. S každou stránkou pracují dva okruhy lidí - její autoři a její čtenáři. Cílem je, aby si čtenáři mohli přečíst stránku vytvořenou jejím autorem. Většina čtenářů, uživatelů webu, však nečte stránky přímo, ale nechává si je zobrazit webovým prohlížečem. Autoři by proto měli stránky vytvářet v souladu se standardy a zároveň tak, aby je mohla korektně zpracovat co největší množina prohlížečů.
Ano, čistě teoreticky by mělo stačit vytvářet stránky podle standardů, čímž by se zaručilo, že se korektně načtou a zobrazí v prohlížeči. Reálná situace je však taková, že prohlížeče nepodporují všechny standardy a obsahují chyby. Dodržování standardů je podmínka nutná, nikoli postačující.
Nedávno jsem sám v plném rozsahu narazil na problematiku (ne)podpory XHTML v prohlížečích. Webové stránky ze zvyku vytvářím pořád nejčastěji v HTML 4.01, protože XHTML ze sémantického hlediska nepřináší nic nového - nabídka elementů je zkrátka pořád stejná. (Snad s výjimkou XHTML 1.1, které standardně přidává značky pro Ruby anotace.) Stále častěji se ke mně však dostávají poznámky typu: "Jak ten Kosek může ještě dneska něco vědět o webu, vždyť vlastní web má v HTML 4 a má tam tabulkový layout?" Dokonce jsem už