В очередной раз засомневался в том, что IE6 рендерит документ в правильном режиме.
Поэтому решил зафиксировать для себя следующий момент:
document.compatMode может принимать значения:
BackCompat
в народе известен как Quirks Mode. Включается когда перед открывающим тегом html ничего не указано или когда указана неудобоваримая хрень. Например xml декларация, которую IE6 не воспринимает.
Также браузеры сваливаются в этот режим при неправильном указании доктайпа.
CSS1Compat
режим Standards Compliance Mode, включается когда перед тегом html включено:
или
В IE8 придумали хитрых вещей, но у меня его нету.
Там есть свойство document.documentMode, которое содержит:
5 - режим IE5 ("quirks mode").
7 - IE7 Standards mode.
8 - IE8 Standards mode.
Еще есть тонкий момент с кодировками. IE8 сваливается в quirks mode, если под Windows сохранять файл в режиме UTF-8. Нужно выбирать UTF-8(без BOM).