Umíte číst? To je dobře. Umíte i psát na klávesnici? Skvělé. K tomu, abyste mohli psát stránky podle W3C doporučení, si ovšem musíte osvojit ještě jednu schopnost. Schopnost zapomenout.
Historické znalosti by mohly neoblomnou důvěru mnoha webmasterů v konsorcium zlomit. Je pozoruhodné, že se málokdo zabývá dějinami webu, ale kdekdo vynáší kategorické verdikty.
Co bylo dříve, vejce nebo slepice? Této otázce se mazaně vyhnul pan Darwin pomocí evoluční teorie. Co bylo dříve, evoluce nebo evoluční teorie? To je směšná otázka, na níž zná odpověď snad každý člověk s ukončeným základním vzděláním.
V oblasti WWW má tato otázka svoji příbuznou: Byla dříve implementace nebo doporučení? To se na základních školách nevyučuje a neví to ani někteří webmasteři s vysokoškolským vzděláním. Odpověď je přitom stejně snadná. U většiny úspěšných technologií byla dříve implementace.
Každé W3C doporučení musí být schváleno členy a ředitelem. Z čehož vyplývá, že je jakýmsi kompromisem přijatelným pro vzájemně si konkurující firmy. Protože se mezi tvůrci prohlížečů vždy objevovali silnější hráči s vlastními inovacemi, bylo v zájmu slabších sesadit je z jejich pozice.
Přijímané kompromisy tedy občas nutily tvůrce k naprosto zbytečným syntaktickým změnám. A tvůrci, ti se samozřejmě bouřili. Jejich inovaci přežvýkala konkurence do mnohdy nekompatibilní podoby a oni byli nuceni volit mezi podporou W3C doporučení a podporou již existujících stránek.
Výsledkem snahy o kompromis byla nekompatibilita doporučení s realitou. Zde je několik příkladů:
name
u elementu <img>
. Tento atribut byl v doporučení HTML 4 zrušen, ačkoli měly starší verze Netscapu stále cca 25 % tržní podíl a toto řešení se běžně používalo.
cursor
, která umožňuje změnit ukazatel myši, třeba na typickou odkazovou „ruku“. Pro její označení použil hodnotu hand
. Později doporučení CSS 2 označilo identický ukazatel jinak, jako pointer
.
<input>
s atributem type="readonly"
. Tento element představoval textové pole „pouze pro čtení“. Doporučení HTML 4 něco takového odmítlo a zavádí atribut readonly
, který je použitelný u více typů elementu <input>
: file, checkbox, password, radio, text. Kromě tohoto atributu už od HTML 3 existuje atribut disabled
(zakazuje uživateli manipulaci s daným elementem). Atribut readonly
se tedy hodí jen tam, kde předpokládáme, že uživatel bude chtít něco označit a zkopírovat. To má smysl pouze u textového pole s type="text"
.
<button>
, u něhož se při odeslání fomuláře odesílal textový obsah (podobně jako u <textarea>
). Konsorcium v HTML 4 změnilo jeho výchozí typ z button
na submit
a přikázalo posílat atribut value (podobně jako u <input>
).
<embed>
a toto řešení rychle převzal i Explorer 3.0. Přesto doporučení HTML 4 povoluje ke stejnému účelu pouze element <object>
.
<table>
smí být atribut width
(šířka), ale už ne height
(výška). Oba atributy přitom vznikly současně a ze strany prohlížečů jsou široce podporovány.
<q>
určeným pro citace. O rok později HTML 4 určilo, že kolem textu uvnitř <q>
má prohlížeč zobrazit uvozovky. Webmasteři by je tam prý psát neměli. Co tedy má prohlížeč dělat na stránkách psaných před vydáním HTML 4?
text-shadow
. Tu pak v CSS 2.1 preventivně zrušilo, ovšem jen dočasně: v CSS 3 opět bude.
font
hodnoty messagebox
, smallcaption
a statusbar
. Doporučení CSS 2 si je nazvalo message-box
, small-caption
a status-bar
.
Ptáte se, proč dělalo konsorcium tak nesmyslné problémy webmasterům i tvůrcům prohlížečů? Proč způsobovalo nekompatibilitu? A proč o tom nikdo nemluví? Pamatujete si ještě nadpis tohoto článku? Ano? Tak to je mi líto, nenaučili jste se zapomínat. A kdo neumí rychle zapomenout na minulost, nemůže psát stránky podle W3C doporučení.
Kde jsem to skončil? Á, už si vzpomínám, ach ta paměť. Také proto buďme vděční panu Darwinovi, bez jehož usilovné práce by se formy života nikdy nevyvinuly do takové komplexnosti. </Ámen>.