С риском звучать как упрощенное: если это в спецификации, это часть стандарта. Чтобы соответствовать требованиям, агент должен будет реализовать указанные части.
Тот факт, что это не «просто язык разметки», не является чем-то новым в HTML 5. Спецификации HTML всегда были немного больше, чем просто разметка документа. Из того, что я могу сказать, усилия по превращению HTML в определение только для разметки достигли своего апогея с XHTML.
HTML 5 кажется признанием того, что одна только чистая разметка на самом деле не идет достаточно далеко для решения определенных реальных задач, и обновленный стандарт может помочь решить эти проблемы: «Но что должно произойти в этой ситуации?» «О, это зависит от агента пользователя, мы не беспокоимся об этом в нашей спецификации разметки». ... Не очень удовлетворительное решение в сети, где конечный пользователь страдает из-за отсутствия консенсуса только по таким вопросам.
Это API? возможно, но как язык он все равно будет работать как простая разметка, когда это необходимо (подумайте о неграфических пользовательских агентах). В некоторых случаях он должен работать лучше, чем доступные варианты.
Чтобы ответить на ваш последний вопрос: нет, в стандарте разделение между языком разметки и поведением пользовательского агента не должно быть «кристально чистым». Что заставило вас думать, что это сделал? Но я подозреваю, что это яснее, чем вы думаете: можете ли вы привести пример части спецификации, в которой вы не уверены, имеет ли она в виду разметку или поведение агента пользователя?