Является ли семантически правильным вкладывать списки определений или они должны быть просто «плоским списком пар имя / значение».
Спецификации вроде не запрещает.
Далее к этот вопрос.






Конечно. Нет ничего плохого во вложенных DL. Вы можете семантически иметь «подопределения».
Если он работает во всех браузерах, сделайте это.
Я знаю, что это может быть спорным, и многие люди, вероятно, сказать вам, что это не так, как он должен быть использован. Неписаные правила веб-дизайна, такие как использование списков практически для всего, - это именно то, что люди решили сделать. Нет причин, по которым вы должны использовать float (цель которого - разместить изображение внутри блока текста) для размещения каждой мелкой детали на веб-сайте. Но если вы попытаетесь использовать таблицы, вы, по-видимому, идиот из эпохи до пузыря, и вы не знаете, как проектировать.
Итак, делайте то, что хотите, и не усложняйте ситуацию только для того, чтобы решить проблему.
Что ж, спецификация, кажется, допускает это при условии, что только <dd> содержит вложенные списки. В спецификации указано, что <dt> является встроенным элементом, поэтому он не может содержать вложенный список. <dd> - это блочный элемент, поэтому внутренний список внутри одного из них вполне подойдет.
Firefox 48 и IE9 прекрасно справляются с прямым вложением DL как дочернего элемента DL. Google Chrome неправильно отображает: нет отступов; все осталось на одном уровне. Если вы заключите вложенный DL в тег DD, ничего не изменится в способе его отображения IE или FF. В Chrome отступ появляется, но между верхней частью вложенного списка и предыдущим элементом включающего списка есть уродливое лишнее пустое вертикальное пространство.
Интересный вопрос.
Верно, что DefLists предназначены для представления ключей и значений, но их кратность не 1, а 1+. Если такая сложность разрешена и с учетом того, что dt являются встроенными, я не вижу семантических проблем с представлением определения чего-либо в терминах дерева других вещей.
Я решил это, заменив вложенные списки определений неупорядоченным или упорядоченным списком, например.
<dl>
<dd>Black hot drink</dd>
<ul>
<dd>White cold drink</dd>
<ol>
<dd>Red sweet drink</dd>
</ol>
</ul>
</dl>
Сравнение дизайна таблицы и использования float немного несправедливо, всякий раз, когда вы извлекаете данные из файла HTML, вы фактически определяете значение данных с помощью предоставленных элементов, в то время как CSS - это чисто презентационное поведение, о семантической сети ...