why am I triggering quirks mode in IE8?

Tim Sheiner picture Tim Sheiner · Oct 31, 2009 · Viewed 17k times · Source

I'm working on a page that, when I load into IE8 and view the developers tools it tells me that page default is quirks mode.

I've got a strict DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

I even went ahead and put in the explicit standards switch, though I didn't think I'd need to:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

I can't understand why page default isn't IE8 standards?

Only thing I can think of is that to get to this page, I first have to log in to an application and the first pages I must traverse are old quirks mode pages. Does IE decide on which mode to use at a server level, or is it supposed to decide page by page?

Thanks!

Answer

bobince picture bobince · Oct 31, 2009

Does IE decide on which mode to use at a server level

Not generally, no. There is the ugliness of the compatibility view list, which is site-specific, but that only kicks you back to IE7-style-Standards Mode, not IE5.5-style-Quirks-Mode.

Your code otherwise looks OK, as long as that DOCTYPE is the very first thing on the page. IE will be forced to document.compatMode= 'BackCompat' if there is a comment, PI, XML declaration (prior to IE8) or any non-whitespace textual content before the doctype. If a control character has snuck in that you can't see in your text editor, that could do it.

Example problem page?