views:

66

answers:

3

My site uses an HTML5shiv for the benefit of Internet Explorer 6 users. What will happen if they have JavaScript disabled?

Will the CSS for my fancy new elements (video, article etc) still work?

+1  A: 

Who really disables JavaScript these days? If they do, yes, there is no doubt that everything will break.

Also, it's not just for IE6. No version of IE before IE9 supports automatic styling for unknown elements. (Reference: A long digression into how browsers handle unknown elements)

casablanca
+2  A: 

This is dependent on your site and how much it relies on HTML5 elements. The easiest way to find out is to simply run your site on IE6-IE8 with JavaScript disabled and see!

With that said, you can expect your elements to mostly just not show up with styles. IE6-IE8 do not understand HTML5 elements and won't apply CSS to them if it doesn't expect them. The HTML5 Shiv is used to force IE to understand the new elements and then it automatically applies CSS to those elements.

Ultimately I think JavaScript being disabled is pretty rare now. Back in the day it was disabled to avoid annoying and useless flashy effects. Some people still do it, but so many sites require interactive behavior (the very site we are on now is heavily reliant upon JS) that users disabling JS are probably used to shit being broken across most of the internet.

It is not an unreasonable requirement that users have JS enabled, especially on such an old browser. If you design for the lowest common denominator you'll either end up supporting multiple code paths which takes a lot longer, or end up with an uninspiring website. Sometimes (government, school, large corporate websites) you need to do this, but for most of the web it's probably not going to kill you to simply have a JS Required message show up if the user does not have it on.

(MINUS SPACES) < noscript >code here gets executed when javascript is diabled< /noscript >

M2tM
thanks, this is clearer now :)
stephenmurdoch
and I like the idea of having a JS-required message
stephenmurdoch
+2  A: 

Styling HTML 5 elements would be useless without Javascript in IE6 as it's necessary to document.createElement them. If you really need to support noJS IE6 users, don't use HTML5 elements or have backup div elements that do the same thing.

meder