HTML-файлы не компилируются; можно сказать, что они истолкованы.
Необработанные данные файла HTML (текст разметки) передаются по запросу клиенту / браузеру по запросу, который затем, используя свою собственную реализацию движка (по большей части, и если клиент представляет собой визуальный рендеринг). браузер) будет отображать содержимое по своему усмотрению.
Именно поэтому, хотя одна вещь могла бы работать, как хотелось бы, скажем, в Chrome, эта же вещь потенциально может неожиданно визуализироваться другими клиентами - например, IE был сделан печально известный тем, что он изобрел свой собственный способ обработки разметки и пренебрег «стандартом», но теперь команда MS, похоже, приходит в себя.
Клиент / браузер находит ошибки так же, как компилятор во время компиляции, только в том, что может быть помечено как среда выполнения. Он знает, что может быть обработано его собственными средствами, и поэтому может сообщить об этом. И в этот момент у клиента уже есть данные, очевидно.