





Не совсем.
HTML по историческим причинам не соответствует требованиям синтаксиса XML (если вы не говорите о XHTML). Наиболее очевидным примером является тег <br>, у которого нет закрывающего тега. Кроме того, браузеры очень снисходительны к тому, что они принимают, и будут пытаться сделать что-то наполовину значимое, даже если HTML недействителен. Это резко контрастирует с синтаксическими анализаторами XML, которые отклоняют любой XML, который не является правильно сформированным.
Вы правы, что браузеры реализуют таблицу стилей CSS по умолчанию, но есть тонкие различия между браузерами и между различными версиями браузеров, поэтому многие фреймворки очищают все значения по умолчанию и повторно определяют CSS для каждого элемента.