Wszystko zaczęło się w 2008 roku na blogu Sama Ruby’ego. To właśnie tam Sjoerd Visscher zamieścił swój – chyba nie przesadzę – legendarny komentarz, po którym społeczność webdeveloperów odetchnęła z ulgą. Era standardu HTML5 właśnie wkroczyła w decydującą fazę i to znacznie szybciej niż zakładano.

Jeśli coś mogło powstrzymać migrację do standardu HTML5, to był to Internet Explorer. Nie po raz pierwszy zresztą przeglądarka ze stajni Microsoftu stawała okoniem na drodze ewolucji webowych standardów – kto nie przeklął IE6 chociaż raz, niech pierwszy rzuci kamieniem. W 2008 roku pojawił się pierwszy szkic roboczy specyfikacji a wraz z nim pierwszy poważny problem – w IE style zdefiniowane w arkuszach stylów nie wpływają na wygląd nowo zdefiniowanych elementów. W praktyce nowe tagi, takie jak np. header, czy footer, wyświetlają się tak, jakby arkusz w ogóle nie istniał.

Wydawało się wówczas, że jest to problem, który skutecznie może zahamować migrację stron do HTML5, nikt bowiem nie mógł sobie pozwolić na ignorowanie IE, zwłaszcza w 2008 roku i zwłaszcza, że nawet dzisiaj część z nas wspiera jeszcze IE6 (a przecież chwilę wcześniej premiere miał IE7). I wtedy właśnie Sjoerd Visscher, jakby od niechcenia, napisał:

Btw, if you want CSS rules to apply to unknown elements in IE, you just have to do document.createElement(elementName). This somehow lets the CSS engine know that elements with that name exist.

To zdanie okazało się być kamykiem, który poruszył lawinę. Ta prosta funkcja w jakiś magiczny sposób wymuszała na IE prawidłowe działanie. Dzień później John Resig zamieścił na swoim blogu wpis, w którym zwrócił uwagę na tę niezwykle ciekawą i w zasadzie kompletnie nieznaną technikę, którą określił mianem html5 shiv. Taka nazwa się przyjęła, choć była to zwykła literówka – słowo, o które chodziło John’owi, to „shim” czyli „podkład”.

Od tego momentu sprawy potoczyły się dość szybko – kilka miesięcy później, w styczniu 2009 roku, Remy Sharp opublikował skrypt, który po dziś dzień stanowi ważny element takich skryptów jak np. Modernizr.

A jakie z tego wnioski? Warto śledzić komentarze (i pisać). :)

——————————————————————–
Powyższy tekst nawiązuje do artykułu Paula Irish’a „The strory of HTML5 Shiv”.

Podobne wpisy: