(§ R01)
Splnitelné přání
Zveřejněno 24. července 2004
Všichni uživatelé sítě WWW mají jedno základní přání. Je to přání staré jak World Wide Web sám. Přání, které podvědomě vyslovuje každý návštěvník. Přání, které doprovází každý odcházející HTTP požadavek. Víte, jaké to je? Jde o přání „prosím, ať ta stránka bezchybně funguje“.
Ne vždy je toto přání vyslyšeno. Webový server pošle návštěvníkovi stránku s bezcitnými slovy „přeber si to“. Není se čemu divit, server je jen program. Za funkčnost stránky odpovídá webmaster. Vždy.
Webmasteři ale trpí různými „webovými chorobami“. Stane se, že jimi spravovaná stránka přání návštěvníka nevyhoví. Někdy se potom dokonce snaží toho hanebného činu zříci a svalit vinu na někoho jiného. Neuvědomují si, že to přání návštěvníka... je svaté.
Obhajoba Webmasterova
Jaké mají webmasteři důvody pro nevyslyšení přání? Inu, upřednostňují zpravidla nějakou „vyšší autoritu“, než je návštěvník. Zapomínají, že žádná vyšší autorita není. Jak se potom před návštěvníkem hájí? Vážený návštěvníku, stránka vám nefunguje bezchybně, protože ...
- je psána a odladěna pro prohlížeč A a vy používáte B. Je to vaše chyba!
- máte vypnutý javaskript nebo zobrazování obrázků. Je to vaše chyba! Můžete ji (možná) snadno napravit.
- využívá technologií prohlížeče A, které v prohlížeči B nejsou, a neposkytuje alternativu. Je to chyba výrobce prohlížeče a taky vaše! Můžete si přeci spustit (nebo nainstalovat) A.
- dodržuje doporučení W3C, které váš prohlížeč B nedodržuje. Je to chyba výrobce prohlížeče i vaše, oba společně bráníte skvělé W3C standardizaci!
- trpíte zdravotním postižením a váš prohlížeč se chová jinak, než by měl podle W3C WCAG. Je to chyba výrobce prohlížeče, tedy i vaše!
- váš prohlížeč B je příliš starý. To není chyba výrobce prohlížeče (v době vydání byl jeho produkt nový), to je jen vaše chyba!
V pomyslné soudní síni, webmaster pronese takovouto obhajobu. Jím oslavovaná vyšší autorita (výrobce prohlížeče A nebo W3C), sedící v hledišti, nadšeně tleská. Spřízněné webmasterské duše přikyvují. V tom se síní rozezní trpké slovo „Vinen“. Tak zní rozsudek soudce, autority nejvyšší. Tak zní rozsudek návštěvníka. Okamžitě po jeho vynesení opouští soudní síň a jde tam, kde bude snad jeho přání vyslyšeno.
Střet Ideálů
Web je založený na principech svobody. Neexistuje žádný patent, který by omezoval lidi v tvoření stránek. Nejsou omezeni ani v tvoření prohlížečů. Každý si může naprogramovat vlastní prohlížeč a není svazován ničím. Nemusí uznávat žádné W3C doporučení, žádný standard. Jen jedinou věc potřebuje k tomu, aby jeho produkt někdo běžně používal: Musí se vypořádat s dostatečným množstvím již existujících stránek.
Pojem „dostatečné množství“ je dosti neurčitý. Může to být zrovna vaše stránka, která se do dostatečného množství daného prohlížeče nevejde. Potom vůbec nebude záležet na tom, zda dodržujete W3C doporučení. Návštěvník je nemilosrdný a nemá-li s dostatečným množstvím stránek problémy, odsoudí vás. Vy jste totiž tím, kdo neumí napsat stránku stejně, jako dostatečné množství jiných.
Konsorcium W3 dlouhodobě utváří mylnou, leč příjemnou představu, že viníkem návštěvníkova zklamání může být výrobce prohlížeče (a nevědomky tedy i jeho uživatel, návštěvník sám):
Použijete-li nekorektní HTML a váš dokument nefunguje v určitém prohlížeči, je to vaše chyba; použijete-li korektní HTML a váš dokument nefunguje, je to chyba v prohlížeči.
Tato uklidňující představa tvoří základ jedné ze dvou nejrozšířenějších webových chorob: víry v jednotný standard. Respektive ve W3C doporučení.
Je to neobyčejně krásná víra. Nejvíce je na ní přitažlivá asi ta jednotnost. Ostatní její krásy, jako jsou „aura standardu“, formální přísnost, původ od otce webu a aktuální móda, ty nejsou zdaleka tak přitažlivé. Jednotnost je alfou i omegou. Není výhodou standardizace, je její základní podmínkou. Nemá zajišťovat eleganci, ale spolupráceschopnost.
Svobodný web ovšem žije vlastním životem. Skutečným. Nebyl jednotný na počátku své existence, nebyl jednotný ani během bouřlivého vývoje v 90. letech 20. století. Konsorcium k onomu chaosu velkou měrou přispělo, když ve svých doporučeních nezohledňovalo novinky rozšířených prohlížečů. Naopak jim záměrně přidělávalo problémy (§ C05).
Jakmile se skutečnost příliš podobá ideálu, je načase se probudit.
Staré webylonské přísloví
Web nebude stoprocentně jednotný nikdy. Je to stinná stránka jeho absolutní svobody.
Střet s realitou
Čím se tedy má webmaster hájit, když jeho stránku navštíví exotický prohlížeč a špatně ji zobrazí? Ničím. Jakákoli obhajoba je zbytečná. Rozsudek bude, bohužel, vždy stejný.
V moci webmastera však je, aby počet smutných rozsudků minimalizoval. Postačí, aby stránka zaručeně bezchybně fungovala téměř všem. Doporučení W3C tuto záruku neposkytují, poněvadž jsou v rozporu s tím, jak se tři nejrozšířenější prohlížeče chovají. Nejzřetelnější odchylky jsou patrné, stejně jako tomu bylo vždy, u majoritního prohlížeče. V současnosti je jím zatím Microsoft Internet Explorer 6.0.
Trojice nejrozšířenějších prohlížečů má odlišné implementace různých technologií. Mnoho užitečných věcí se kvůli nekompatibilitě nepoužívá, případně se jejich funkce složitě obchází. Část z nich je přítomna jen v jednom z trojice. Část ve dvou. Část je ve všech třech. Část je podle doporučení konsorcia, část nikoliv. Musí se webmaster ve své tvůrčí činnosti omezit na průnik schopností? Ne.
Lék
Kromě návštěvníkova svatého přání doprovází každý HTTP požadavek ještě jedna důležitá informace. V jeho hlavičce je vepsána identifikace prohlížeče, položka User-Agent
. Dnešní webové servery nejsou hloupé. S vhodným programem umí na přání odpovědět vřelými slovy „vidím, že máš prohlížeč B, zde máš stránku, která ti bude zaručeně fungovat“.
Kdo serveru vysvětlí, aby se takto slušně choval? Přeci webmaster. Může potom vytvořit stránku, kterou skript přizpůsobí tak, aby naprosto přesně vyhovovala návštěvníkovu prohlížeči.
Není třeba psát pro každý detail složitou detekci a větvit podmínky. Není ani třeba dělat pracně několik různých verzí téže stránky. Problém vyřeší jednoduchý přepínač (§ S01), o jehož vyhodnocení se postará jednoduchý filtr výstupu (§ S02).
Nyní má 99,5 % všech internetových brouzdalů prohlížeč, jehož schopnosti můžete skvěle odvodit z jeho identifikace. Můžete se spolehnout na chování Exploreru, Mozilly i Opery. Nemusíte se omezovat na průnik schopností. Můžete využít jejich sjednocení.