Zauważam, że w wielu silnikach szablonów, w HTML5 Boilerplate , w różnych frameworkach i na zwykłych stronach php, no-js
klasa jest dodawana do <HTML>
tagu.
Dlaczego to się dzieje? Czy istnieje jakieś domyślne zachowanie przeglądarki, które reaguje na tę klasę? Dlaczego zawsze to dołączasz? Czy to nie czyni samej klasy przestarzałą, jeśli nie ma przypadku „no-js”, a HTML może być adresowany bezpośrednio?
Oto przykład z indeksu HTML5 Boilerplate.html:
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Jak widać, <html>
element zawsze będzie miał tę klasę. Czy ktoś może wyjaśnić, dlaczego tak często się to dzieje?