Html-структура заголовка и автора

Мы с коллегой обсуждаем, на что ни один из нас не может найти ответа где-либо в Интернете.

У меня есть список заголовков статей на домашней странице, а на макете дизайна над заголовком указан автор. Сейчас разметка:

<a href = "">
<h3>Headline 1</h3>
<span>Author Name</span>
</a>

<a href = "">
<h3>Headline 2</h3>
<span>Author Name</span>
</h3>

А затем я использовал бы flexbox css order, чтобы отобразить автора над заголовком. Мне это кажется семантически правильным, но нужно ли это вообще? Есть ли какие-то преимущества или недостатки или вообще не имеет значения, какой порядок в разметке?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
200
2

Ответы 2

Неважно, какой порядок в разметке. Когда flexbox позволяет вам изменять порядок элементов, чем это разрешено. Что не разрешено, так это наличие h3 внутри элемента a.

Как правило, элементы уровня блока могут содержать встроенные элементы и другие элементы уровня блока.

Встроенные элементы могут содержать только данные или другие встроенные элементы.

Элемент a - это встроенный элемент. Элемент h3 - блочный элемент.

Значит, это не повлияет и на пользователей специальных возможностей?

meijiOrO 29.06.2018 17:59

В списке заголовков, связанных с соответствующими статьями, вы не должны использовать элемент заголовка для заголовка. Каждый элемент заголовка создает раздел (с записью в структуре документа), что в таком случае не является оправданным.

Вы можете использовать cite элемент для имени автора и / или заголовка.

Если элемент заголовка не используется, то семантически не имеет значения, используете ли вы порядок автор-заголовок или заголовок-автор. Выбирайте то, что более понятно для ваших пользователей.

Однако, поскольку у вас больше нет элемента уровня блока (h3), вам следует ввести какую-либо пунктуацию (например, : или ()), чтобы прояснить, где начинается автор / заголовок, или вы можете поместить автора имя вне ссылки.

Демонстрация нескольких различных вариантов:

<!-- 'cite' element only for the headline -->

<cite><a href = "">Headline</a></cite> (Author)
Author: <cite><a href = "">Headline</a></cite>

<a href = ""><cite>Headline</cite> (Author)</a>
<a href = "">Author: <cite>Headline</cite></a>

<!-- one 'cite' element for both -->

<cite><a href = "">Headline</a> (Author)</cite>
<cite>Author: <a href = "">Headline</a></cite>

<cite><a href = "">Headline (Author)</a></cite>
<cite><a href = "">Author: Headline</a></cite>

<!-- two 'cite' elements -->

<cite><a href = "">Headline</a></cite> (<cite>Author</cite>)
<cite>Author</cite>: <cite><a href = "">Headline</a></cite>

<a href = ""><cite>Headline</cite> (<cite>Author</cite>)</a>
<a href = ""><cite>Author</cite>: <cite>Headline</cite></a>

Если бы вы оставили h3 и не использовали бы элемент содержимого для разделения (например, article), порядок HTML имеет значение. Элемент заголовка устанавливает область действия для всего, что следует (до тех пор, пока он не достигнет заголовка более высокого или того же уровня), поэтому начало ссылки и имя автора (при использовании порядка автор-заголовок) не будут частью этот заголовок и его подразумеваемый раздел. Вместо этого они будут частью предыдущего раздела (т. Е. Автор статьи 2 будет частью раздела статьи 1).

Другие вопросы по теме