Влияние заголовков на структуру документа.

Перевод статьи:  Headings and document structure conclusions.
Автор:  Roger Johansson.

Ранее в начале этого (*2009) года я попросил заинтересованных людей поделиться своим мнением на тему заголовков, их иерархии и структуры документа, надеясь вызвать конструктивную дискуссию и извлечь из нее решающие рекомендации.

Как в результате оказалось, что очень трудно прийти к единому мнению в данном вопросе. Тем не менее, с учетом комментариев к вышеупомянутому посту, а также принимая во внимание личную переписку на эту тему и дискуссии в живую, лицо в лицо, я выделил два основных варианта решения проблемы:

  1. Применять заголовки, как для структуры документа, так и для структуры сайта.
  2. Применять заголовки только для структуризации реального контента, а с целью определения структуры всего остального использовать роли WAI-ARIA landmarks.

Сейчас попробую объяснить вам, чем обусловлено мое решение.

Участие заголовков в структуре документа и сайта одновременно.

  • Используйте элементы заголовки для всего, что похоже или хотя бы от части напоминает заголовки.
  • Используйте заголовки для идентификации того, что стандарт WCAG 2.0 называет «секциями контента» (например заголовки в разделе основного контента документа, в различных навигационных блоках и т.д.).
  • В рамках одного документа используйте лишь один <h1> заголовок, который должен представлять основной заголовок документа, а не имя сайта или логотип организации его владельца.
  • В том случае, если структура документа требует наличия второстепенных заголовков до определения его главного заголовка, к примеру для навигационных блоков, то в этом случае применяйте для них <h2> заголовки.
  • Никогда не пропускайте промежуточные уровни заголовков при их уменьшении, то есть сразу за <h1> не устанавливайте <h3> заголовок, хотя в обратном направлении, при повышении уровней (например после <h4> использовать <h2>) это вполне допустимо, если структура документа это предусматривает.

И вот почему я так считаю:

  • WCAG 2.0 критерий успеха 2.4.1 – Обход блоков определен на первом Level A уровне соответствия и требует чтобы «был предусмотрен механизм, позволяющий обходить те секции контента, которые повторяются на страницах сайта».

    Достаточной техникой для этого критерия является H69: Предоставление заголовка в начале каждого блока контента. Одной из причин такого использования заголовков, упомянутой в технике H69 является разграничение различных навигационных блоков, таких как главная или верхняя панель навигации, боковая или дополнительная панель, а также та, которая расположена в подвальной части страницы.

  • WCAG 2.0 критерий успеха 1.3.1 — Информация и взаимосвязь принадлежит первому Level A уровню соответствия стандарту и требует, чтобы «информация, структура и взаимоотношения между их компонентами предусмотренные в презентации документа были программно определены или описаны в тексте».

    Техника, предусмотренная для удовлетворения этих требований – это H42: Использование элементов <h1>-<h6> для определения заголовков, в которой представлен пример использования заголовков <h2> предшествующий <h1> элементу.

  • WCAG 2.0 критерий успеха 2.4.10 – Заголовки разделов документа, который относится к третьему уровню соответствия стандарту Level AAA и требует чтобы «заголовки разделов создавались с учетом структурирования контента».

    Методы, определенные в технике G141: Организация страницы с использованием заголовков являются достаточными для удовлетворения требованиям этого критерия, в ней в частности говорится: «Для облегчения навигации и понимания общей структуры документа, разработчики должны использовать заголовки с правильной организацией их вложенности».

  • Люди, использующие заголовки в процессе навигации по сайту, не предполагают, что они могут встретить более одного заголовка высшего уровня <h1> и пропустить основной заголовок документа если элемент <h1> используется для имени сайта или его логотипа.
  • Имя сайта, по логике вещей, должно определяться в рамках элемента <title> документа.
  • Наличие на странице лишь одного <h1> заголовка, применяемого к заглавию документа, лучше воспринимается поисковыми системами (хотя те, кто работает не с Google возможно усомнятся в этом).

Применять заголовки только для структуры документа, а для определения других разделов использовать WAI-ARIA.

Другой в данном случае возможный вариант – это использование <h1>…<h6> заголовков только в рамках основного, реального контента страницы и применение WAI-ARIAструктуризации документа и Landmark ролей «для разграничения различных навигационных блоков, таких как главная или верхняя панель навигации, боковая или дополнительная панель, а также та, которая расположена в подвальной части страницы».

Применение такого подхода имеет преимущество в том, что заголовки определяют структуру контента как такового. Хотя в нем есть и пару неопределенностей:

  • На данный момент нет полной поддержки стандарта ARIA со стороны браузеров и технологий обеспечения доступности веб-документов (*Статья была написана в ноябре 2009 года. На данный момент ситуация значительно улучшилась.)
  • Смогут ли пользователи также успешно использовать роли WAI-ARIA для навигации, как и в случае с заголовками?
  • Насколько корректно WAI-ARIA роли реализованы в различных пользовательских агентах.

Все еще не можете прийти к единому, правильному решению?

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

И как в любом другом подобном вопросе, который имеет несколько вариантов решения, я не рассчитываю на то, что каждый из вас со мной согласиться.

* Примечание переводчика.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *