Делая обзор кода, я заметил, что заголовок использует теги <span>
вместо заголовков, поэтому я предложил использовать тег <h4>
, чтобы получить семантические преимущества. Контекст — это нижний колонтитул веб-сайта, где есть различные списки ссылок под разными заголовками.
<span>Category 1 Links</span>
<ul>
<li>Link 1 in the footer</li>
<li>Link 2 in the footer</li>
<li>Link 3 in the footer</li>
<li>Link 4 in the footer</li>
<li>Link 5 in the footer</li>
</ul>
Контраргументом было то, что <h4>
является элементом «блочного уровня», тогда как встроенный элемент был необходим. Поэтому он не думал, что элемент следует менять. (И да, он знает CSS и знаком со свойством display: inline;
.)
Для меня это звучит абсолютно безумно — идет вразрез со всем, что я всегда считал лучшей практикой: разделение контента и представления, семантическая паутина, сами цели HTML и CSS… но, пытаясь сформулировать ответ, я наткнулся на этот раздел в спецификации HTML 4.01:
Некоторые элементы HTML, которые могут появляться в BODY, называются «блочными», а другие — «встроенными» (также известными как «уровень текста»).
...
Таблицы стилей предоставляют средства для определения отображения произвольных элементов, в том числе того, отображается ли элемент как блочный или встроенный. В некоторых случаях, таких как встроенный стиль для элементов списка, это может быть уместно, но, вообще говоря, авторам не рекомендуется переопределять традиционную интерпретацию HTML-элементов таким образом.
Изменение традиционных идиом представления для блочного уровня и встроенных элементов также влияет на алгоритм двунаправленного текста. Дополнительную информацию см. в разделе о влиянии таблиц стилей на двунаправленность.
Итак, вот вопрос: делает ли этот раздел проблему достаточно расплывчатой, чтобы здесь имело место действительное расхождение во мнениях, или же она (как я думал) в той или иной степени достаточно ясна? Если этот раздел открыт для интерпретации, существуют ли какие-либо другие более конкретные рекомендации W3C?
Я не хочу высказывать свое мнение по этому поводу, я просто хочу убедиться, что правильно понимаю спецификацию и рекомендации W3C: есть ли здесь настоящая двусмысленность или нет?