Семантика HTML5 - H1 или H2 для названий СТАТЬИ в РАЗДЕЛЕ

10

Насколько я понимаю (основываясь на этой главе «Погружение в HTML5: http://goo.gl/9zliD» ), семантически целесообразно использовать теги H1 в нескольких областях страницы в качестве метода задания наиболее важного заголовка. для этого конкретного контента.

Если я использую эту методологию и у меня есть РАЗДЕЛ, которому я присвоил H1 «Статьи», должен ли я использовать H1 или H2, чтобы определить заголовки для СТАТЬЕЙ в этом РАЗДЕЛЕ? Это немного смущает меня, поскольку заголовки статей являются наиболее важным заголовком для их СТАТЬИ, но также являются «детьми» из названия РАЗДЕЛА.

Пример кода:

<section class="article-list">
  <header>
    <h1>Articles</h1>
  </header>

  <article>
    <header>
      <h2>Article Title</h2>
      <time datetime="201-02-01">Today</time>
    </header>
    <p>Article text...</p>
  </article>

  <article>
    <header>
      <h2>Article Title</h2>
      <time datetime="2011-01-31">Yesterday</time>
    </header>
    <p>Article text...</p>
  </article>

  <article>
    <header>
      <h2>Article Title</h2>
      <time datetime="2011-01-30">The Day Before Yesterday</time>
    </header>
    <p>Article text...</p>
  </article>
</section>
Matt
источник
Я слышал смешанные обзоры серии «Погружение в ...». Из того, что я понимаю, это может быть не самая лучшая ссылка.
the_e
4
@espais: Где вы слышали эти отзывы? У вас есть ссылка на один из них отрицательных?
Lèse Majesté
@ Lèse: я не могу поместить это к чему-то большему, чем ересь в этом пункте. Я почти уверен, что видел это на одном из сайтов SE в прошлом ... но сейчас у меня нет источников.
the_e
1
@espais bizarre, поскольку все ссылки, которые я могу найти на него у веб-мастеров и SO, не только положительны, но, как правило, высоко оценены. stackoverflow.com/search?q=%22dive+into+html5%22 , webmasters.stackexchange.com/search?q=%22dive+into+html5%22
Yahel
@ Lèse: да, так как я действительно не могу поддержать свой комментарий, тогда я с уважением
отзову

Ответы:

7

Пилигрим не одинок в этом.

Согласно HTML5 для веб-дизайнеров Джереми Кейта , вы можете использовать несколько <h1>документов в документе, не разрушая сводку документа, если они вложены в отдельные семантические теги секций.

Цитирование непосредственно из электронной книги (которую я купил в iBooks)

Пока что новое содержание секционирования не дает нам намного больше, чем то, что мы могли бы сделать с предыдущими версиями HTML. Вот один из ключевых моментов: в HTML5 каждый фрагмент контента имеет свой собственный отдельный контур. Это означает, что вам не нужно отслеживать, какой уровень заголовка вы должны использовать - вы можете просто начинать с h1 каждый раз:

<h1>An Event Apart</h1> 
    <section>
        <header>
            <h1>Cities</h1>
        </header>
         <p>Join us in these cities in 2010.</p> 
        <section>
            <header>
                <h1>Seattle</h1>
            </header>
            <p>Follow the yellow brick road.</p> 
       </section>
        <section>
            <header>
                <h1>Boston</h1>
            </header>
            <p>That’s Beantown to its friends.</p> 
        </section> 
        <section>
             <header>
                   <h1>Minneapolis</h1>
             </header>
             <p>It's so <em>nice</em>.</p> 
         </section>
     </section> 
     <small>Accommodation not provided.</small>

(Пример кода также из книги, стр. 73)

Yahel
источник
@ Матт без проблем. Это не значит, что с этим не может быть проблем. Два приходят на ум. Во-первых, это может быть немного странно для CSS, но это управляемо. Но что еще более важно, это может быть опасно для SEO, поскольку существует достаточно <h1>общепринятая общепринятая идея, что на вашей странице должен быть только один , и что-либо еще ослабляет способность сканеров расшифровывать ваш сайт. Но я не гуру SEO, поэтому я не могу это комментировать.
Yahel
2

Я склонен согласиться с интерпретацией Марка Пилигрима . Если вы заключаете свою статью в articleэлемент, тогда вы можете начать сначала с h1заголовка для статьи.

В спецификации HTML5 articles должны рассматриваться как независимая, автономная часть страницы. Вы должны быть в состоянии переместить articleэлемент как есть на другую страницу без переформатирования заголовков.

Если заголовки статьи должны были быть продолжением иерархии заголовков документа, то, когда вы перетаскиваете ссылку articleнепосредственно под bodyтегом, вам нужно перейти к ней h1, но если вы уронили ее под вложенными разделами, вам придется изменить ее на h3/ h4// h5и т. д., в зависимости от того, где вы его разместите.

Фактически, каждый раз, когда вы создаете новый sectionили article, вам следует вернуться к нему h1, так как следующее идентично:

<article>
  <h1>Meta Data</h1>
    <h2>Data Warehousing</h2>
    <h2>On the Web</h2>
      <h3>Dublin Core</h3>
      <h3>XFN</h3>
      <h3>Microformats</h3>
      <h3>RDFa</h3>
</article>

и:

<article>
  <h1>Meta Data</h1>
  <section>
    <h1>Data Warehousing</h1>
  </section>
  <section>
    <h1>On the Web</h1>
    <section>
      <h1>Dublin Core</h1>
    </section>
    <section>
      <h1>XFN</h1>
    </section>
    <section>
      <h1>Microformats</h1>
    </section>
    <section>
      <h1>RDFa</h1>
    </section>
  </section>
</article>

В качестве примечания: если ваш заголовок - это просто элемент заголовка (например h1) и ничего больше, вам не нужно заключать его в headerэлемент.

Лез Мажесте
источник
Спасибо Лезе. Не могли бы вы дать ссылку на заметку о правильном использовании элемента header? Мне интересно читать больше об этом.
Мэтт
@Matt: я в основном основываюсь на формулировке спецификации HTML5, которая называет header«группа вводных или навигационных пособий». Это и тот факт, что спецификации h1- h6не требуют, чтобы они были вложены в header(и включают в себя множество примеров их использования непосредственно в разделе, частью которого они являются), наводят меня на мысль, что в этом нет необходимости. Это мнение подтверждают и Оли Студхолм, и Реми Шарп из HTML5 Doctor.
Lèse Majesté
0

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

<h1>My Very Interesting Articles</h1>

Этот заголовок определяет всю страницу как «интересные статьи». Затем каждая статья перечисляется, но имеет меньший уровень заголовка.

Ричард Тестани
источник
-1

Официальный ответ w3schools на использование тегов заголовков на странице следующий: заголовки H1 следует использовать в качестве основных заголовков, затем заголовки H2, затем наименее важные заголовки H3 и так далее.

Кит Гробен
источник
5
В W3Schools нет ничего «официального». Это вводящее в заблуждение имя, поскольку они никак не связаны с W3C и не поддерживаются им.
Lèse Majesté
действительно, смотрите w3fools.com для подробного ознакомления с тем, насколько ужасна W3Schools.
Yahel
Я думал, что у этого сайта будет несколько более конструктивных пользователей. Вы, ребята, кажетесь немного надменными.
Кит Гробен
2
Это не имеет ничего общего с надменностью, и не имеет ничего общего с желанием быть подлым, а также с желанием увидеть дезинформацию, подобную этой, подавленной. Слишком много людей думают, что w3schools - это авторитетный, точный источник, который наносит огромный ущерб качеству веб-разработки. Весь смысл сайтов обмена стеками состоит в том, чтобы предоставлять точные, качественные ответы, а также выдвигать и исправлять неточные, неправильные или вводящие в заблуждение ответы.
Yahel
1
На самом деле, ваш ответ полностью проигнорировал мой вопрос и ответил на вопрос, который не был задан. В моем вопросе четко говорилось: «Если я использую эту методологию ...» Эта часть была даже выделена жирным шрифтом, чтобы обеспечить ясность вопроса. Я предполагаю, что это наиболее вероятная причина, по которой ваш ответ был отклонен.
Мэтт