Uno de las grandes desventajas que a tenido HTML es que las dtd son muy flexibles,osea que el parser es algo listo porque trata de interpretar todo de la mejor manera posible, e ahi una mejora en XHTML,XML que en ese aspecto son más estrictos.
Ahora hay excepciones que luego muchas veces nos confiamos, si te lees la recomendación te vas a dar cuenta porque no te funcionaba:
http://www.w3.org/TR/html4/interact/...ml#h-17.13.4.2