Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?

Dlouhé hodiny trávíme laděním stránek pro starší prohlížeče. Výsledný kód je pak plný prezentačního HTML a CSS obsahuje spoustu různých hacků. Je to tak správně? Pokusím se vás přesvědčit, že ne a že to jde i jinak. Pozor, dnes píšeme SUBJEKTIVNĚ!

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Dnešní článek patří do rubriky Subjektivně. Jejím cílem je poskytovat prostor pro názory a pohledy na aktuální dění v oblasti webových technologií i na jejich vývoj do budoucna. Jedná se o osobní názory, které se nemusí vždy shodovat s názory redakce. Pokud máte co říct, pojďte k nám psát Subjektivně.

Kodér vs. grafik a programátor

Když programátor napíše program, očekává, že program se bude vždy chovat přesně tak, jak jej napsal. Když grafik navrhne logo, zase všichni očekáváme, že logo bude vždy vypadat stejně. A když kodér nakóduje web, klient předpokládá, že jeho web bude za všech okolností vypadat tak, jak mu ho grafik vymyslel. Na první pohled to zní celkem logicky, na ten druhý si ale člověk uvědomí, že zatímco grafik i programátor vědí přesně, jak se výsledek jejich práce zpracuje a zobrazí uživateli, kodér hledá průnik zobrazovacích schopností prohlížečů.

Zmíněné předpoklady a chování vedou ke dvěma problémům:

  1. Rozvoj webových technologií může brzdit jeden zastaralý, hojně používaný, prohlížeč.
  2. Aby se webové technologie mohly pohnout kupředu, při určitém malém procentu uživatelů se v prohlížeči přestane testovat, prohlásí se za zastaralý a téměř nikdo se o něj již nezajímá.

Výsledkem je, že máme mnohem více práce, naše zdrojové kódy jsou samý <div>, samá třída a po nocích hledáme způsoby, jak obejít omezení staré technologie a vytvořit to, co si klient žádá.

Uživatelé starých prohlížečů pak nemají důvod přecházet na novou verzi prohlížeče, vždyť všechny webové stránky se jim zobrazují tak, jak mají. A protože tito uživatelé nepřešli, my musíme stránky pořád kódovat tak, aby bezchybně fungovaly i v těchto starých prohlížečích. Bludný kruh.

Až odejde IE6…

Internet Explorer 6

Již nějaký čas je jedním z největších snů webdesignérů to, aby IE6 odešlo na věčnost. Neznalí poměrů v oboru prohlížečů se pak před vydáním nové verze IE ozývají, že to bude poslední hřebíček do rakve IE6. Ti zkušenější spíše skepticky vrtí hlavou a na brzký odchod IE6 nevěří.

Ale připusťme si na chvilku fakt, že by skutečně IE8 srazilo podíl IE6 řekněme pod 5 %. Co se pak stane? Kapitán Pejsek vyhlásí tento den jako svátek všech webdesignérů a přestaneme tento neoblíbený prohlížeč všichni hromadně podporovat? Jenže tím ztratíme zhruba 5 potenciálních zákazníků z každé stovky. A důvod jejich ztráty, naše pohodlnost, se mi zdá jako zcela nedostačující.

Jako bych některé z vás slyšel křičet: Nejdřív tvrdíš, že IE6 de facto brzdí vývoj, a teď zase, že jej máme podporovat, i když jeho podíl spadne na mizivá procenta. Tak co s tím? Chtěl bych vám teď představit způsob, jakým podporovat nejen IE6, ale i jeho předchůdce a spoustu dalších prohlížečů a ještě si ušetřit práci a čas. Onen způsob se jmenuje:

Progressive Enhancement

Tento anglický termín představuje speciální přístup ke kódování webových stránek (do češtiny bychom jej mohli přeložit jako postupné vylepšování). V zásadě se jedná o to, že výsledné stránky budou v prohlížečích s dobrou podporou standardů vypadat tak, jak je grafik navrhl a budou si moci dovolit využít spoustu úžasných věcí z nových specifikací CSS či HTML. Ve starších prohlížečích pak budou vypadat o něco jednodušeji a řekněme hůře, ale budou stále dobře použitelné, přístupné a nijak nebudou odrazovat návštěvníka rozpadlým layoutem nebo něčím podobným.

Progressive enhancement

Progressive Enhancement.

Jak na to? Postupně (viz obrázek s vrstvami). Nejprve se soustředíme na sémantické označkování obsahu a poté začneme postupně pomocí CSS tvořit layout a grafiku. Napřed nastavíme věci, které budou fungovat ve všech prohlížečích, a poté postupně vylepšujeme grafiku s tím, že pokud je určitá věc příliš složitá na implementaci ve starších prohlížečích, nebo vyžaduje kupříkladu čistě prezentační HTML, tak ji prostě implementujeme pouze v novějších prohlížečích, kde to lze udělat bez problémů. Odříznout starší prohlížeče od příslušných pravidel jistě všichni umíme, ať už pomocí pokročilých CSS selektorů (kterým staré prohlížeče nerozumí), nebo, v případě IE, pomocí podmíněných komentářů.

Wikipedie

Wikipedie říká:Progressive enhancement je webdesignerská strategie zdůrazňující přístupnost, sémantické značkování a externí linkování stylopisů a skriptovacích technologií. Progressive enhancement využívá webových technologií metodou vrstev, což dovoluje komukoliv přistupovat k základnímu obsahu a funkcionalitě stránky, ať používá jakýkoliv prohlížeč nebo internetové připojení. Uživatelům s lepším připojením a modernějšími prohlížeči zároveň nabízí podobu stránky s lepším uživatelským zážitkem.

Pro bližší seznámení se s touto metodou včetně konkrétních rad doporučuji skvělý článek Progressive Enhancement with CSS na magazínu A List Apart. Poprvé byl termín progressive enhancement použit v roce 2003.

Všimněte si, že tento přístup vyřeší skoro všechny naše dříve zmíněné problémy. Můžeme používat moderní technologie a umožníme přístup na naše stránky v podstatě všem uživatelům. Paráda, ne? A pokud navíc chytře používáme pokročilé selektory, mohou nás částečně přestat trápit i rostoucí procenta uživatelů přicházejících na web z mobilu, kde je chaos v prohlížečích ještě větší a možnosti testování naopak menší.

Není to moc práce?

Na první pohled to tak určitě vypadá. Přístup vyžaduje poměrně detailní znalost schopností i starších prohlížečů (což lze obejít googlováním) a člověk musí nad kódováním najednou mnohem více přemýšlet.

Na druhý pohled si ovšem určitě uvědomíte, že přístup nám umožňuje škrtnout si nekonečné hodiny ladění pro IE6 a můžeme použít spoustu nových užitečných věcí z CSS 2.1 a občas i CSS3. (To ovšem záleží na cílové skupině webu. U některých webů zkrátka není dobrý nápad, aby se web nezobrazoval „v plné parádě“ ani uživatelům nejnovějšího přírůstku rodiny IE. U jiných webů to naopak nemusí být žádný problém.).

A někteří z vás možná volají: Vždyť to v IE6 stejně musí fungovat, tak jaképak škrtnutí nekonečných hodin ladění.. Zde mohu argumentovat pouze osobními zkušenostmi. Zprovoznit v IE6 základní layout není žádný problém, stačí si pamatovat pár věcí, které nikdy nesmím použít. Problém s IE6 nastává ve chvíli, kdy po něm chci něco nestandardního.

Příkladů je spousta, určitě si hned vzpomenete na poslední výmysl grafika, kam zakomponoval tunu kulatých rohů, průhledné PNG, spoustu přesného absolutního pozicování atd. Ano, všechno to jde udělat, něco snadněji, něco hůře. Otázka, na kterou si musíme odpovědět, je, zda se vynaložený čas na implementaci takového grafického prvku v IE6 (nebo kterémkoli jiném prohlížeči) vyplatí. Zastánci progressive enhancement tvrdí, že ne.

Klient na to nikdy nepřistoupí

Jeden z nejtěžších úkolů bude každopádně přesvědčit klienta, že je to ta správná věc pro jeho webové stránky. Argumentů můžete použít spoustu. Od zkrácení doby vývoje webu přes nižší výdaje za (kvalitní) kód, atd. Těžký kalibr pak může být to, že tuto techniku sami používáte na svých webových stránkách. Vždyť často si vás klient zvolí právě díky nim. Nabízí se mu pak otázka, že pokud si sám vybral firmu, která své stránky takto vybudované má, nebude to dost dobré i pro něj?

Ale protože člověk je sám sobě často nejhorším klientem a nechce sám ze sebe dělat pokusného králíka (výjimky jako já potvrzují pravidlo a jistě odpustí), ještě jednou vás odkáži na již zmíněný článek na A List Apart, který uvádí i příklady již funkčních webových stránek užívajících progressive enhancement.

Závěrem

Pokud jste se dočetli až sem, asi si uvědomujete, že se jedná o běh na dlouhou trať. Musí se změnit to, jak lidé přemýšlí o webových stránkách. Ale do budoucna to vypadá jako téměř jediná technika, která zajistí rychlý rozvoj webových technologií a zároveň umožní všem lidem pohodlný přístup na váš web.

Takže až budete redesignovat váš firemní web, zkuste se zamyslet nad tím, zda se chcete nadále nechat omezovat minulostí, nebo se chcete raději podívat do budoucnosti.

Anketa

Vypadají vaše stránky stejně ve všech prohlížečích?

       

Jan Sládek

Honza Sládek se zabývá webdesignem okolo sedmi let. V současné době působí jako webdesignér a vizionář ve společnosti Clevis. Rád hledá nová řešení.

Kurzy UX (user experience) - Praha, Brno, Bratislava

DW - Školení použitelnosti
  • Použitelný web mají návštěvníci rádi a lépe vrací investované peníze.
  • Poradíme vám, které metody využít a co vám to přinese.
  • Naučíte se, jak rychle a levně otestovat web.
  • Pro účastníky školení možnost zdarma vyzkoušet nástroje na zlepšování a testování webu (např. Usabilla, Loop11, OpenHallway a další)

Podívejte se na detaily školení Nástroje a metody UX, workshopu uživatelského testování použitelnosti a workshopu Návrh webu a mobilních aplikací.

Akce: Využijte last minute slevu na školení v Brně a Bratislavě!

Přehled názorů

invalidni clanek
eee 10. 2. 2009 01:47
Nový
└ 
Re: invalidni clanek
byzi 10. 2. 2009 08:59
Nový
 
├ 
Re: invalidni clanek
Hoween 10. 2. 2009 09:03
Nový
 
├ 
Re: invalidni clanek
eee 10. 2. 2009 10:14
Nový
 
└ 
Re: invalidni clanek
VfB 11. 2. 2009 07:09
Nový
Nošení dříví do lesa
Hoween 10. 2. 2009 07:23
Nový
└ 
Re: Nošení dříví do lesa
Daniel Kvasnička ml. 10. 2. 2009 08:17
Nový
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
David Majda 10. 2. 2009 09:24
Nový
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 09:43
Nový
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Honza Sládek 10. 2. 2009 10:12
Nový
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 10:33
Nový
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Martin Hložek 10. 2. 2009 10:57
Nový
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 11:21
Nový
 
 
 
 
 
├ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Martin Hložek 10. 2. 2009 11:40
Nový
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Plaváček 10. 2. 2009 11:45
Nový
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 12:03
Nový
 
 
 
 
 
 
 
├ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Plaváček 10. 2. 2009 12:17
Nový
 
 
 
 
 
 
 
│
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 12:23
Nový
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Martin Hložek 10. 2. 2009 12:30
Nový
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 12:39
Nový
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Honza Sládek 10. 2. 2009 14:09
Nový
 
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 14:14
Nový
 
 
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Martin Hložek 10. 2. 2009 14:21
Nový
 
 
 
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 14:31
Nový
 
 
 
 
 
 
 
 
 
 
 
 
 
├ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Martin Hložek 10. 2. 2009 14:42
Nový
 
 
 
 
 
 
 
 
 
 
 
 
 
│
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 14:55
Nový
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Langi 10. 2. 2009 14:46
Nový
 
 
 
 
 
 
 
 
 
 
 
 
 
 
└ 
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Hoween 10. 2. 2009 14:57
Nový
Gmail jako příklad
v6ak 10. 2. 2009 09:48
Nový
klient na to nepřistoupí? hehe!
Martin Soukup 10. 2. 2009 10:48
Nový
├ 
Re: klient na to nepřistoupí? hehe!
Hoween 10. 2. 2009 10:56
Nový
├ 
Re: klient na to nepřistoupí? hehe!
Sob 10. 2. 2009 16:48
Nový
└ 
Re: klient na to nepřistoupí? hehe!
karolf 12. 2. 2009 07:12
Nový
Dobré
Langi 10. 2. 2009 12:43
Nový
└ 
Re: Dobré
Hoween 10. 2. 2009 12:49
Nový
 
└ 
Re: Dobré
Langi 10. 2. 2009 12:58
Nový
 
 
└ 
Re: Dobré
Plaváček 10. 2. 2009 13:33
Nový
 
 
 
└ 
Re: Dobré
Langi 10. 2. 2009 13:54
Nový
jste na IE6 příliš příkrý
Martin Michálek 10. 2. 2009 13:26
Nový
├ 
Re: jste na IE6 příliš příkrý
Hoween 10. 2. 2009 13:45
Nový
└ 
Re: jste na IE6 příliš příkrý
Honza Sládek 10. 2. 2009 13:58
Nový
 
├ 
Re: jste na IE6 příliš příkrý
Hoween 10. 2. 2009 14:05
Nový
 
│
├ 
Re: jste na IE6 příliš příkrý
Plaváček 10. 2. 2009 14:14
Nový
 
│
│
├ 
Re: jste na IE6 příliš příkrý
Hoween 10. 2. 2009 14:27
Nový
 
│
│
└ 
Re: jste na IE6 příliš příkrý
kraag 16. 2. 2009 16:17
Nový
 
│
│
 
└ 
Re: jste na IE6 příliš příkrý
Martin Michálek 16. 2. 2009 18:04
Nový
 
│
└ 
Re: jste na IE6 příliš příkrý
VfB 11. 2. 2009 07:21
Nový
 
└ 
Re: jste na IE6 příliš příkrý
Martin Michálek 10. 2. 2009 14:58
Nový
 
 
└ 
Re: jste na IE6 příliš příkrý
Honza Sládek 10. 2. 2009 15:35
Nový
 
 
 
├ 
Re: jste na IE6 příliš příkrý
Hoween 10. 2. 2009 15:37
Nový
 
 
 
└ 
Re: jste na IE6 příliš příkrý
Martin Michálek 11. 2. 2009 08:50
Nový
 
 
 
 
└ 
Re: jste na IE6 příliš příkrý
Honza Sládek 11. 2. 2009 12:10
Nový
 
 
 
 
 
└ 
Re: jste na IE6 příliš příkrý
Martin Michálek 11. 2. 2009 14:37
Nový
Souhlas
xurpha 10. 2. 2009 13:45
Nový
Progressive Enhancement
karf 10. 2. 2009 15:26
Nový
Dopato je?
David Grudl 11. 2. 2009 01:32
Nový
└ 
Re: Dopato je?
Hoween 11. 2. 2009 08:53
Nový
 
└ 
nick
v6ak 11. 2. 2009 10:36
Nový
RE: Musí naše webové stránky vypadat zcela stejně ve všech prohlížečích?
Petr Pecháček 12. 2. 2009 15:20
Nový
User agent
Marek Knápek 12. 2. 2009 17:41
Nový
└ 
Re: User agent
Hoween 13. 2. 2009 08:38
Nový
 
└ 
Re: User agent
Dlouhán 14. 2. 2009 00:11
Nový
 
 
└ 
Re: User agent
Hoween 15. 2. 2009 18:52
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem