В чем разница между h1 и названием?
Спецификация HTML5 (CR) содержит разницу между title
и h1
(содержит заголовок сайта):
Авторы должны использовать заголовки, которые идентифицируют их документы, даже если они используются вне контекста, например, в истории или закладках пользователя, или в результатах поиска. Название документа часто отличается от его первого заголовка, так как первый заголовок не обязательно должен быть изолированным, если он вырван из контекста.
Я также читал, что в HTML 5 тег h1 может использоваться более одного раза на странице и используется для заголовков в разделе […]
Да, в HTML5 вы можете использовать h1
везде, и вам никогда не нужно будет использовать h2
- h6
, если (и только если!) Вы правильно используете элементы контента секционирования, а именно: section
, article
, aside
и nav
. Зачем? Потому что
Первый элемент содержимого заголовка в элементе содержимого раздела представляет заголовок для этого раздела.
Так что это первый заголовок, независимо от того, какой у него уровень.
[…] (разве этот тег заголовка не работает?)
Нет, элемент header
предназначен для «вводного содержимого» раздела, которое может (не обязательно) включать заголовок раздела, но может содержать и больше.
Если у меня на странице есть логотип с изображением названия моего сайта, какой тег я должен использовать? Я всегда, хотя h1 был для этого.
Да, это должен быть h1
, который является потомком body
и не имеет никакого другого элемента содержимого секционирования. Это представляет заголовок сайта . Все остальное на этой странице (навигация, основное содержание и т. Д.) Входит в заголовок этого сайта.
Пример:
<body>
<h1><img src="…" alt="ACME Inc." /></h1> <!-- ← the site heading -->
<nav></nav> <!-- the site’s navigation -->
<article> <!-- the main content of this page -->
<h1>My favorite book</h1>
</article>
</body>
Этот документ создаст следующую схему:
1. ACME Inc.
1.1 (implicit; navigation)
1.2 My favorite book