Ну, в то время, когда IE 4, 5 и 6 были созданы ... стандартов не было - было грубое представление о том, что делать, и огромная масса тегов, поддерживаемых только в netscape или IE, и специфические особенности браузера - стандартным способом исправить было .. кодирование для каждого браузера отдельно.
Стандарты, которые мы используем сейчас, появились позже, и на самом деле они не очень равномерно поддерживаются во всех браузерах.
Теперь все становится хуже. Народный код для IE6. Они используют программное обеспечение, которое выводит «html», это дерьмо… и работает на IE и ничего больше. Они делают все виды уродливых хаков ... и когда соответствие стандартам нарушает это, они жалуются.
У MS есть некоторый канат между «унаследованной поддержкой» и «соответствием стандартам», поэтому для полного соблюдения стандартов потребуется некоторое время