Документ W3C не использует такие понятия, как неправильно и sin , но он использует такие как , предоставляя средства , , которые могут быть подходящими и не поощряются .
На самом деле, во втором абзаце раздел 4 , спецификация 4.01 классифицирует свои слова следующим образом
Ключевые слова «ДОЛЖНЫ», «НЕ ДОЛЖНЫ», «ТРЕБУЕТСЯ», «ДОЛЖНЫ», «НЕ ДОЛЖНЫ», «СЛЕДУЕТ», «НЕ СЛЕДУЕТ», «РЕКОМЕНДУЕТСЯ», «МОЖЕТ» и «ДОПОЛНИТЕЛЬНО» в этот документ следует интерпретировать, как описано в [RFC2119]. Тем не менее, для удобства чтения эти слова не отображаются заглавными буквами в этой спецификации.
Имея это в виду, я считаю, что окончательное утверждение содержится в 7.5.3 Блочных и встроенных элементах , где написано
Как правило, встроенные элементы могут содержать только данные и другие встроенные элементы.
Условие «в целом», по-видимому, вводит достаточно двусмысленности, чтобы сказать, что HTML 4.01 позволяет встроенным элементам содержать блочные элементы.
Конечно, CSS2 имеет значение свойства отображения, inline-block , которое кажется подходящим для цели, которую вы описываете. Я не уверен, что это когда-либо получило широкую поддержку, но кажется, что кто-то предвидел необходимость такого поведения.
DTD здесь менее простителен, но текст DTD соответствует спецификации:
Спецификация HTML 4.01 включает в себя дополнительные
синтаксические ограничения, которые не могут быть выражены в
DTD.
В другом комментарии вы предлагаете сделать блок активным, поместив его в якорь. Я не верю, что HTML запрещает это, а CSS явно позволяет это. Поэтому, чтобы ответить на заглавный вопрос о том, является ли он когда-либо правильным, я говорю «да». По меркам это иногда правильно.