Алгоритм структурирования документа HTML 5

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

Итак, у меня есть несколько областей навигации, и мой вопрос: было бы разумно иметь заголовок, но просто скрыть его от браузера?


person r3plica    schedule 20.05.2014    source источник


Ответы (1)


Каждый элемент раздела контента "длинно " для элемента заголовка (h1-h6). Но вы не обязаны его предоставлять.

Если вы не укажете элемент заголовка для раздела, этот раздел будет иметь подразумеваемый заголовок. Инструменты структуры HTML5 могут отображать эти подразумеваемые заголовки как "Раздел без названия" или "Пустой заголовок".

Поэтому, когда вы всегда используете элементы содержимого, где это возможно, структура вашего документа будет правильной, даже если вы не предоставите ни одного элемента заголовка (конечно, это не рекомендуется; заголовки очень полезны!).

Эти два документа будут иметь одинаковую структуру структуры:

<!-- DOCUMENT A -->
<body>
  <article>
  </article>
  <nav>
  </nav>
</body>
<!-- DOCUMENT B -->
<body>
  <h1>site title</h1>
  <article><h1>main content title</h1></article>
  <nav><h1>navigation title</h1></nav>
</body>
Outline for DOCUMENT A       Outline for DOCUMENT B
1. untitled (body)           1. "site title" (body)
  1. untitled (article)        1. "main content title" (article)
  2. untitled (nav)            2. "navigation title" (nav)

Так что можно использовать nav без заголовка. Но если вы считаете, что заголовок может быть полезен для потребителей без поддержки CSS (например, для пользователей программ чтения с экрана или поисковых систем), вы можете указать заголовок и скрыть его визуально.

person unor    schedule 20.05.2014
comment
А что это за h1(название сайта)? Это действительно заголовок ‹сайта› или заголовок ‹страницы› (согласно уникальности между разными страницами)? - person Pmpr; 18.04.2019
comment
@Trix: Название сайта (поэтому оно одинаково на всех страницах), потому что было бы неправильно иметь навигацию по всему сайту в рамках заголовка статьи. - person unor; 18.04.2019
comment
Тогда вы получите несколько страниц с одинаковыми h1 (что неправильно в SEO). - person Pmpr; 18.04.2019
comment
@Trix: Это не проблема для SEO. Об этом часто говорят, но это произошло еще до разделения элементов контента на разделы (и даже тогда можно было использовать h1 для заголовка сайта и h2 для заголовка страницы). Если поисковые системы заинтересованы, они могут легко найти соответствующий заголовок: он находится внутри main и/или внутри article, а также является частью <title> (рядом с названием сайта), и это самый заметный заголовок на странице. - person unor; 18.04.2019