Jest to częściowo historyczny ślad wojny przeglądarkowej
IE i netscape rywalizowały o przejęcie rynku i wciąż wypuszczały nowe funkcje, które stawały się coraz bardziej „niesamowite” i zmuszone były akceptować strony zaprojektowane dla drugiej przeglądarki.
Oznacza to, że przeglądarka po cichu akceptuje i ignoruje nieznane tagi, po tym jak komitety zaczęły się angażować ... cóż, masz komitet projektujący rzeczy, w wyniku czego powstało wiele różnych wersji (z niejednoznacznie sformułowanymi specyfikacjami), w których przeglądarka chce obsługiwać większość i utworzenie osobnego parsera dla każdej wersji byłoby ogromnym rozszerzeniem. Dlatego (względnie) łatwiej jest używać jednego parsera z różnymi trybami.
Z drugiej strony netscape i IE chcieli, aby html był dostępny dla zwykłego człowieka (co było modą w tamtych czasach), co oznacza próbę zrobienia tego, co użytkownik chciał zrobić zamiast tego, co powiedział, i potknięcia się o każdy wiszący tag.
Problem pogarsza to, że istnieje również kilka stron z samouczkami, które uczą niewłaściwej rzeczy i myślą, że mają rację, ponieważ to, czego uczą, działa.
W ostatecznym rozrachunku oznacza to, że jeśli teraz utworzysz przeglądarkę z dokładnym analizowaniem html 99% witryn nie będzie działać.