#?SuikaWiki/0.9 * hn 要素型群 (HTML, XHTML 1) [1] [CODE(HTMLe)[h[VAR[n]]]] 要素型群は、[DFN[[[見出し]]]]です。 見出し要素は、それによって始まる[[節]]の話題を手短に記述します。 ( 参照。) [VAR[n]] は、 [[HTML4]] をはじめとする [[IETF]] や [[W3C]] の規定する [[HTML]] 仕様では [CODE(HTMLe)[1]]〜[CODE(HTMLe)[6]] が定義されています。 [12] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容モデル]]:[CODE(SGML)[(%[[inline]];)*]] :[[属性]]: ,[CODE(HTMLe)[[[align]]]] , , ,[[配置]] ,[HTML4] 非推奨 ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[datafld]]]] , , ,欄名 ,[HTML4] 予約 ,[CODE(HTMLa)[[[dataformat]]]] , , ,データ書式 ,[HTML4] 予約 ,[CODE(HTMLa)[[[datasrc]]]] , , ,データ源 ,[HTML4] 予約 ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr [[#comment]] ** 付番 [14] [[付番]] [VAR[n]] (注 >>15) は、 [[IETF]] や [[W3C]] の規定する [[HTML]] 仕様では [CODE(HTMLe)[1]]〜[CODE(HTMLe)[6]] が定義されています。 HTML 4 仕様書によれば、 [CODE(HTMLe)[h1]] が最も重要度が高い見出し、 [CODE(HTMLe)[h6]] が最も重要度が低い見出しです。 [15] 注意: [[SGML]] 的 ([[SGML宣言]]および [[DTD]] 的) 意味では [VAR[n]] は付番とは言えませんが、付番は付番です (開き直り)。 [17] [[Word]] 9 は 7 を超えると、 [CODE(HTMLe)[[[class]]]] が [SAMP[MsoHeading8]] のような [CODE(HTMLe)[[[p]]]], [CODE(HTMLe)[[[div]]]] または [CODE(HTMLe)[[[li]]]] を吐く模様です。 9 まで確認されています。 ([[名無しさん]]) [18] >>17 Word 10 でも同じ。 ([[名無しさん]]) [19] 付番を文書ではなく文書群に対するものと考える人も少なくないようですが、それは誤りです。 ([SAMP(URI)[toc.html]] は [CODE(HTMLe)[h1]] からはじめて、 [SAMP(URI)[section1.html]] は [CODE(HTMLe)[h2]] からはじめて、 [SAMP(RUI)[section1-subsection2.html]] は [CODE(HTMLe)[h3]] からはじめて、・・・というような使い方は誤り。) 元々付番は文書の中で使うもので、文書群なんてものは考えられていません。 (しかし想定外なのですから、文書の一部分を別の文書に持っていった際に付番はそのままにしたようなもの、と考えるのも悪くはない気がしますね。どうしたものでしょう?) ([[名無しさん]]) [20] [[LaTeX]] で [CODE[[[part]]]] とか [CODE[[[chapter]]]] がなくて [CODE[[[section]]]] が最上位だったりするのは普通なことですから、 SGML や HTML で [CODE(HTMLe)[h2]] くらいから始まっていても悪くはないような気もします。付番の最初は SGML 的に規定されていませんし。 やっぱり [[XHTML 2]] のような水準に中立なモデル化が何も考えずに済むので便利でしょうかね。 ([[名無しさん]]) [[#comment]] *** 付番の飛び越し [9] たとえば [PRE[

]PRE] のように、 [CODE(HTMLe)[h2]] の抜けた [[HTML文書]]があります。 HTML 4 DTD 的にはこのような文書も[[妥当]]です。 [10] しかしながら、 HTML 4 仕様書 は、 これを良く思わない人もいると言及しています。 [[#comment]] ** 見出し要素の応用 *** 目次生成 [13] [[UA]] は、見出し要素を使って文書の[[目次]]を自動生成することができます [HTML4]。 [[#comment]] *** レンダリング [16] [[視覚ブラウザ]]は、通常、重要度の高い (付番の小さい) 見出しをより低い (大きい) 見出しよりも大きく描画します [HTML4]。 [2] 古い [[mosaic]] の日本語版では、 [CODE(HTML)[h1]]〜[CODE(HTML)[h6]] 各要素の大きさが6段階であるべきなのに、3段階にしかならないことがあったそうです。 [[#comment]] **** 番号振り [8] HTML 自体では、見出しに自動的に章節番号を与えることはできません。 しかし、そのような [[UA]] はありますし、[[スタイル言語]]を併用することで[[著者]]がこれを制御することも可能です。 参照。 これが可能なスタイル言語の例としては、 [[CSS2]] や [[XSL]] や [[DSSSL]] が挙げられます。 ([[JSSS]] はどうだろう?) [[#comment]] *** その他 [[#comment]] ** 不思議系 [3] [CODE(HTML)[h[VAR[n]]]] 要素型群が見出しであるとしながらも、文字の大きさを変えるのに使うこともできると説明している文章もあります。後者の間違った用法しか説明しない完璧な[[不思議]]解説もいやらしいですが、この種のもなあ。 [4] 見出し要素型群がまともに使ってもらえなくなったのって、 絶対 [[NN]] の既定のスタイルシート (もしかしたら [[mosaic]] のも。) で見出しの大きさがはちゃめちゃだった影響が8割くらいありますよね。 見出し水準1は馬鹿でかいし、 水準4以下は普通の文字よりも小さい。 普通の文字より小さい見出しがいったいどこの世の中にありますか。 であるからにして、 NN が登場してから [[CSS]] が普及するまで、見出しタグを使うとウェブ頁が正視に堪えられなくなるという状態だったわけですよ。 ふと目をそらせば [CODE(HTMLe)[[[font]]]] タグが漂っている。どっちが常識的な選択かは明らかでしょ。 [5] もちろん、 >>4 は昔話であって、 現代でありながら見出しを正しく使っていない文書の著者は間抜けですよ。 [6] [WEAK[(よくわからないけど仮に mosaic でも NN みたいにまともじゃない見出しの文字の大きさだったとして、)]] mosaic の多く (多分、ある時点よりあとの版) は利用者設定のスタイルシートを実装していて、見出しの文字の大きさも自分で指定できたと思うのですけど、できたからといってちゃんとまともな大きさにしていた人がどれだけいたか。 [[#comment]] ** メモ [7] 見出し要素は、節の始まりを暗示しているのでありますが、 [[DTD]] 的あるいは [[XML]] 的にはどこからどこまでが節なのか明示することまではできません。 HTML 4 仕様書は、 [CODE(HTMLe)[[[div]]]] 要素を使ってこれを明示する例を示しています。 ちなみに、 [[XHTML2]] は [CODE(XHTMLe)[[[section]]]] という新要素型を導入しています。 [[#comment]] * メモ