my cognition

Cognitiveはよいぞ。電波伝搬はよいぞ。

Hatena Blogにおける見出しh1, h2, h3, ... についての覚書

tl;dr

  • 本文はh2で始めるべき
  • h1はhighestなのでセクション内に1つしか存在するべきでない(=タイトル)
  • はてなブログではタイトルを <h1 class="entry-title"></h1> と定義している

本文はh2で始めるべき

根拠

以下の2件を参照してほしい。

特に後者では、以下のようにh1はhighestであると定義している。

These elements have a rank given by the number in their name. The h1 element is said to have the highest rank, the h6 element has the lowest rank, and two elements with the same name have equal rank.

はてなブログの場合

はてなブログで言えば、1つのエントリーはタイトルと本文両者で成り立っているが、本文はタイトルに従属しているので、タイトルをhighestなものとすると、それ以降はh2より下であることになる。

実際、エントリーのタイトルは <h1 class="entry-title"></h1>とされているため、本文はh2から始めるべきと解釈すべきだという結論に達した。

補足: タグを使う場合

「本文全体を<section></section>として、1セクションに区切ってh1から始める」という手法も考えられるが、それは個人の嗜好の問題なので好きにしてもらいたい。

蛇足: TOC(Table of Contents)について

はてなブログでh1,h2,h3, ...要素が関係する他の側面として、独自拡張でTOC(Table of Contents)も作成してくれる機能がある。それは、[:contents]を挿入することで実現できる。この記事の冒頭でもつけているので、どのようなものが生成されるかは参考にしてほしい。

これいについて、以下のようにいじわるな書き方すると、冒頭のh2, h3, h4がh4以降のh1, h2, h3と同レベルになる。特に意味は無い上に構造が破綻しているので、このような書き方は望ましくないし想定してないのだろうと推察する。

記事中の見出しから目次を自動的に作成する「目次記法」を追加しました - はてなブログ開発ブログ

## h2

### h3

## h2

### h3

#### h4

# h1

## h2

### h3