Возможен ли правильный план на уровне заголовков на сайте с глобальной навигацией, боковой панелью, нижними колонтитулами и т. д.?

Поскольку структура документа HTML5 не реализуется никаким пользовательским агентом (https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML_sections_and_outlines), у нас осталась старая добрая схема на уровне заголовков.
Я полностью за соблюдение стандартов, поэтому я пытаюсь найти хороший план на уровне заголовков для повторного использования и адаптации.

Используя инструмент проверки W3C с опцией «показать структуру», я проверил дюжину веб-сайтов, некоторые из которых были созданы евангелистами доступности: Mozilla, Accessiweb, Access42, WCAG, W3C…. Но я не нашел ни одного веб-сайта, где бы выполнялись все необходимые условия:

  • Структура блога Mozilla (https://blog.mozilla.org/) совершенно неправильно: они использовали h2 для заголовков каждой статьи, но они использовали h3 для других разделов на странице, поэтому похоже, что каждый глобальный контент («Больше блогов Mozilla», «Больше статей»…) связан с последним статья.

Набросок главной страницы блога Mozilla на уровне заголовка на Imgur

  • Несколько сайтов пропускают один или несколько уровней в иерархии заголовков.

Схема заголовка публикации W3C на Imgur

Схема заголовка публикации WebAIM на Imgur

  • Эта страница Accessiweb (http://www.accessiweb.org/index.php/expert-accessiweb-en-evaluation.html) имеет последовательную структуру.
    Однако это не HTML5, поэтому разработчику не пришлось иметь дело с предупреждения типа «элемент навигации без заголовка», и, самое главное, каждый h1 каждой страницы этого сайта — это заголовок сайта («Acsiweb»), заголовок страницы — это h2… Похоже, плохая идея для доступности и SEO.

Схема на уровне заголовков с сайта accessiweb.org на Imgur

Если h1 — это заголовок сообщения, какой заголовок следует использовать для глобальных разделов (например, для навигации или нижнего колонтитула)?

  • если использовать h1, это нарушает правило «только один H1 на странице»
  • если использовать h2, иерархия неверна (см. Пример блога Mozilla)
  • если заголовок не используется, появляется предупреждение от валидатора W3C («элемент навигации без заголовка»)

Я даже не знаю, хорошо ли для пользователей программ чтения с экрана постоянно иметь глобальные разделы в своем списке заголовков, возможно, им будет неприятно слышать « h1 Глобальная навигация - h1 Заголовок моего поста - h1 Подписаться на наш информационный бюллетень - h1 Другой контент (нижний колонтитул) » когда они используют навигацию по заголовкам на каждой странице.
Или, может быть, наоборот, они нуждаются в ней на каждой странице, и их будет раздражать отсутствие доступа к каждому содержимому на каждой странице? Какая головная боль!

Итак: возможна ли правильная и последовательная схема на уровне заголовков на сайте с глобальными разделами за пределами схемы HTML-документа?

Я понимаю, что не существует единой HTML-структуры, подходящей для всех, но у большинства сайтов есть заголовок, глобальная навигация, основная зона и нижний колонтитул, поэтому я думаю, что у нас может быть, по крайней мере, шаблон с этими элементами.


person noelno    schedule 07.04.2018    source источник


Ответы (1)


Для хорошего HTML-кодирования H1 — один на страницу. для всех названий вы можете использовать код h2. затем после h3, h4, ....

person Bhavin    schedule 07.04.2018
comment
Спасибо, что нашли время ответить. 1. Я читал в нескольких местах, что должен быть только один заголовок h1, но это либо миф, либо официальная рекомендация. Можете ли вы предоставить источник? 2. Что именно вы подразумеваете под «для всех заголовков можно использовать код h2»? Вы предлагаете что-то вроде этого: + h2 Глобальная навигация (навигация) h1 Название моего поста (основной) + h2 Похожие посты (боковая панель) + h2 Подписаться на нашу рассылку (нижний колонтитул) + h2 Контакты (нижний колонтитул) Потому что это не будет связный план заголовка уровня… - person noelno; 07.04.2018
comment
@noelno - Только один заголовок h1 на странице - это миф. Никакая спецификация HTML никогда не требовала этого. Требование состоит в том, что заголовки верхнего уровня на странице должны быть h1, а подчиненные заголовки — h2, h3 и т. д. Обычно на каждой странице должен быть только один заголовок верхнего уровня, но не требуется, чтобы этот быть дело. - person Alohci; 08.04.2018
comment
Спасибо за ваш вклад @Alohci. - person noelno; 12.04.2018
comment
попробуйте использовать один раз H1, и вы можете использовать все остальные теги заголовка более одного раза. это хорошо для вашего сайта на странице SEO - person Bhavin; 08.05.2018