Na obranu IE6
Málo věcí je ve webdesignu tak jednoznačných jako image Microsoft Internet Exploreru verze 6 mezi vývojáři. Lze to považovat za kolorit, asi jako nadávky na politiku před volbami. Dvě obvyklá trvzení vývojářů mě ovšem nutí stavět se do opozice ustáleného názoru:
- „IE6 je tak málo rozšířený, že jej mohu již nyní směle ignorovat.”
- „Ladění webů pro IE6 vyžaduje nadlidské množství nepříjemné práce.”
Obávám se totiž, že jsou často produktem lidské liknavosti, která našla obhajobu ve většinově přijímaném názoru. Takže brousím modré „é”, sundávám brýle a vyrážím na pomoc drahému staříkovi…
V článku uvažujeme v intencích HTML/CSS vrstvy prezentačních webů, v případě aplikací a Javascriptu bude situace jiná.
Můžete ho nenávidět, ale ne ignorovat
Budeme všichni jistě rádi, až si budeme moci dovolit uživatele s IE6 zařadit do nepočetné skupiny „zoufalci používající starý šrot” vedle uživatelů IE5 a Netscape 4.7. Ta situace u velké části webů ještě ale nenastala a dlouho nenastane. Víme jak je šestka zažraná v korporátních systémech a jen tušíme jakou ty mají setrvačnost. (Dožití systémových administrátorů? :-)) Pokud neděláte geekovské weby nebo prostě nemáte štěstí, budete ještě dlouho muset uvažovat s podílem lidí vybavených IE6 na návštěvnosti vašich stránek nad hranicí 5 %.
Průběžné ladění v IE6 — nebolí to
Přátelé, třeba se budete divit, ale i dnes mám skoro u každého webu v sadě testovaných prohlížečů otevřený Microsoft Internet Explorer verze 6. Proč to dělám v případě prohlížeče, který považován za softwarovou verzi ďábla?
Hlavně proto, že to je daleko příjemnější a časově úspornější, než rozšířená metoda „odladím všechny moderní prohlížeče a pak na web mrknu v IE6”. Ta musí zákonitě končit nahromaděním nepříjemné práce, frustrací kodéra, vymýšlením speciálních zjednodušených verzí pro IE6 a následně často nespokojeností uživatelů.
Daleko snazší je uvažovat už při návrhu technického řešení konkrétních prvků stránky v intencích současného stavu rozšíření prohlížečů mezi lidmi. Většina zásadních problémů s IE6 je dobře známých a zdokumentovaných — hasLayout, nepodpora fixního pozicování, PNG alfaprůhlednosti nebo některých CSS selektorů. Naše znalosti promítneme do hledání řešení, které bude fungovat i v IE6.
Pozor, metoda průběžného ladění také v IE6 nespočívá v tom, že moderním prohlížečům nedopřejete jejich CSS3 vlastnosti a že budeme ignorovat technický pokrok. Cílem je prostě mít v kapse základní skupinu ověřených postupů, které fungují ve všech moderních prohlížečích a v IE6. A u toho konkrétního prvku stránky, kde si budeme jistí, že nás IE6 už trochu moc brzdí, zvážíme zda jej prostě neignorovat.
Je dokonalý kód smyslem práce kodéra?
Ano, váš kód nebude nejčistší. V HTML se občas vyskytnou nějaké ty mazací divy atd. Ale položte si otázku, jaký je smysl toho být kodérem: čistota kódu nebo zlepšení uživatelského prožitku technickými prostředky pro co nejširší skupinu lidí?
Patřím k těm co v čistotě kódu ten pravý smysl vývojařiny nevidí. A patřím k těm, kteří se nebojí udělat práci navíc, i když ji ocení jen pár lidí. Začíná to poctivě vyplněnými alt parametry, končí hojným využíváním mikroformátů. Proto například v IE6 obvykle nahradím všechny poloprůhledné PNGéčka pomocí GIFů, protože web pak vypadá výrazně lépe než když to neudělám a načítá se rychleji než když bych nasadil některý z javascriptových fixů pro PNG alfaprůhlednost. I na středně velkém webu je to celkově operace na pár minut, zlepšený uživatelský prožitek lidí s IE6 za to stojí.
Mimochodem, druhý důvod, proč mívám IE6 větší část pracovního dne puštěný a nemám přitom potřebu namazat si každé ráno klávesnici česnekem je tento: S vědomím výjimek lze říct, že co se správně zobrazuje v IE6, bude fungovat v IE7. Proto je šestka spolu s IE8, Firefoxem, Chrome v základní čtyřce prohlížečů, ve kterých šablony ladím průběžně. IE7 pouštím jen jednou za čas — třeba pro závěrečný test šablony.
Vstřícnost vůči IE6 musí být časově obhajitelná
Kolega Kahi při nedávné mailové diskuzi zmiňoval, že se snaží netrávit s laděním pro IE6 větší podíl času na celkovém rozpočtu než je jeho aktuální podíl na návštěvnosti v daném segmentu. Nemůžu než souhlasit a tvrdím, že postupem průběžného ladění je časový podíl rozhodně ještě menší.
Máme tedy stále používaný prohlížeč, kterým web v průměru navštěvuje v průměru dvacetina lidí. Máme také způsob jakým můžeme lidem s tímhle prohlížečem s odpovídajícím vypětím sil nabídnout srovnatelný uživatelský prožitek jako těm ostatním. Co nám tedy brání tu práci udělat? Image vývojářského drsňáka? ;-)