[30] 章や節は文章の構成上の単位です。 合わせて章節といいます。
[64] Webサイトのサイト名は見出しではなく、 hn
を使うべきではないと主張する人もいました。
[25] 現実的にも理論的にも、あまり意味のある主張とは思えません。
2007-07-13 21:49:00 +09:00
版) http://www.akatsukinishisu.net/wiki.cgi?%B8%AB%BD%D0%A4%B7%CD%D7%C1%C7%A4%CB%B4%D8%A4%B9%A4%EB%B5%C4%CF%C02007-07-05 03:10:29 +09:00
版) http://www.akatsukinishisu.net/itazuragaki/html/h1_is_the_most_important.html2007-07-13 22:15:58 +09:00
版) http://nanto.asablo.jp/blog/2007/07/11/16460062007-07-13 22:38:26 +09:00
版) http://my-chunqiu.cocolog-nifty.com/blog/2007/07/html_64a8.html2007-07-09 20:54:42 +09:00
版) http://mynotes.jp/blog/2007/07/h1_is_document_title2007-07-12 05:58:32 +09:00
版) http://mynotes.jp/blog/2007/07/h1_is_document_title22007-07-13 22:25:36 +09:00
版) http://www.rusica.net/note/2007/07/05/h1.html2007-07-09 21:00:00 +09:00
版) http://ryus.s21.xrea.com/w/item/9282007-07-09 21:00:00 +09:00
版) http://ryus.s21.xrea.com/w/item/9282007-07-13 07:00:00 +09:00
版) http://ryus.s21.xrea.com/w/item/929[50] >>49 論旨には同意しますが、そこで言われている要素
は
SGML 以来の専門用語としての要素とは違うのでは。
[53] 見出しのラベル名・番号の利用 | JAGAT, https://www.jagat.or.jp/archives/1933
[56] 小見出しの配置方法 | JAGAT, https://www.jagat.or.jp/archives/2992
[21] アウトラインの記述手法として XOXO があります。
[22] 外部ファイルのアウトラインを表すリンク型 outline
があります。
[28] Webアプリケーションではページ構成上の部品をサイト上の別のページでは別の箇所に出現させることがよくあります。 例えば掲示板サイトでは記事の単独表示ページとスレッド内の記事一覧ページでは、 まったく同じ記事でも異なる章節の階層、異なる表示位置で表示されたりします。 このとき、 見出しの要素に階数が入っていると、 同じ生成ルーチンで流用するなら階数を呼び出し箇所によって変化させる仕組みが必要になりますし (正直面倒くさい)、 パフォーマンス向上のためページ構成上の部品をキャッシュすることができなくなってしまいます。 しかも CSS は章節構造の深さよりも「記事」のような意味の方に付けられがちで、 そのためには階数を無視する他なくなってしまいます。
[29]
現実のWebサイトを見てみると、
全部 h1
に統一する HTML5 方式か、
サイト見出しは h1
、
記事見出しは h3
のような機械的な規則を適用する (番号スキップや重複のような不整合があっても気にしない) 方式が多く見受けられます。
[26] Weblog のフィードに含まれる HTML 素片では、 対応する HTML 文書中で使われる見出しの階数と同じ階数の要素がそのまま使われていることがあります。
[27]
例えば、 HTML 版で記事内の見出しに h4
要素が使われている場合に、 Atom フィードの
content
要素内でもそのまま h4
要素が使われていることがあります。
[14] 付番 n (注 >>15) は、
HTML 4 をはじめとする
IETF や
W3C
の規定する HTML
仕様では 1
〜6
が定義されています。
HTML 4 仕様書によれば、
h1
が最も重要度が高い見出し、
h6
が最も重要度が低い見出しです。
[15] 注意: SGML 的 (SGML宣言および DTD 的) 意味では n は付番とは言えませんが、付番は付番です (開き直り)。
[117]
Word 9 は 7
を超えると、 class
が MsoHeading8 のような p
, div
または li
を吐く模様です。
9
まで確認されています。
[119]
付番を文書ではなく文書群に対するものと考える人も少なくないようですが、
それは誤りです。
(toc.html は h1
からはじめて、
section1.html は h2
からはじめて、
section1-subsection2.html は h3
からはじめて、・・・というような使い方は誤り。)
元々付番は文書の中で使うもので、文書群なんてものは考えられていません。
(しかし想定外なのですから、 文書の一部分を別の文書に持っていった際に付番はそのままにしたようなもの、 と考えるのも悪くはない気がしますね。どうしたものでしょう?)
[20]
LaTeX で part
とか chapter
がなくて
section
が最上位だったりするのは普通なことですから、
SGML や
HTML で h2
くらいから始まっていても悪くはないような気もします。付番の最初は
SGML
的には規定されていませんし。
やっぱり XHTML 2 のような見出しの水準に中立なモデル化が何も考えずに済むので便利でしょうかね。
[32] HTML が 1〜6 を標準として持っているのは歴史的な事情で、
それ以上の深い理由はありません。
[33]
HTML 4 DTD の注釈 (参考) には
There are six levels of headings from H1 (the most important) to H6 (the least important).
と書かれています。
[9] たとえば
<h1/> <p> <h3/> <p>
のように、 h2
の抜けた HTML文書があります。
HTML 2 や
HTML 4 の
DTD 的にはこのような文書も妥当です。
[10] しかしながら、見出しの水準は飛ばすべきではありません RFC 1866 5.4. し、飛ばすのを良く思わない人もいます HTML 4。 飛ばすことによって他の形式への変換に支障をきたすこともあります RFC 1866 5.4.。
[36] h要素について考える -アクセシビリティ・アーキテクチャー技術開発メモ http://www.infoaxia.com/tools/blog/archives/2005/04/hx.html
この文書では、見出しの付番を飛ばしたくなる理由の一つとして、
文書が意味的に記述する内容における構造
(この例では、会社組織の部
や課
のような構造)
と文書の構造を整合させたい
(が、課
がない部
があったりする)
という要求を挙げています。
心情的には理解できますが、付番の本来の semantics
(章
や節
のような単純な入れ子関係を表すに過ぎない。)
からすると無理にあわせようとする必要は無いわけでして。
メモ: データ構造なら
<組織> <部> <課> <社員/> </課> </部> <部> <社員/> </部> </組織>
のように付番を飛ばしたようなことをしても問題ないのですが、 HTML は文書マーク付け言語ですからね。
[38] >>37 のように記述内容の意味に引っ張られてしまうのは、
やっぱり HTML の hn
によって章節を暗示する (section
を使わない) 方法とか、 chapter
や section
のような名前によるレベル分けではなくて付番を使っている代償なのかなあ。
と思ったのだけど、名前を使ったところで記述内容の意味に引っ張られて chapter の真下に subsection を入れたいという要求はやっぱり出てきそうだ。
[39]
>>10 HTML 4.0 で飛ばすのは良くない
とされていたのが
HTML 4.01 で飛ばすのはよくないと考える人もいる
に改められたという説がありますが、
誤りです。
[31] ISO-HTML は見出しの構造について特に定めていました。
[35] 平成時代中期の日本の一部のWeb制作者らの間ではなぜか ISO-HTML に強い関心が持たれていました。
[55] そうした人々の間では、 見出しの記述方法を含む ISO-HTML の特徴に対する賛否が議論されていました。
[54]
ただ残念ながらその議論は
ISO-HTML が好ましいかどうかの政治的、宗教的な flame
に終始しており、
技術的に見るべき所はほとんどなさそうです。
[87]
DTBook
には
hn
(n ∈ [ 1, 6 ])
のほか
leveln
(section
に相当するもの)
があって付番の深さが強制されてます。
[88]
それと別系統で
level
(section
相当)
と
levelhd
(hn
相当)
があります。
level
には
depth
属性があります。
[1]
HTML 5 Outline Tester (2008-03-05 19:53:50 +09:00
版) http://james.html5.org/outliner.html
[2] Re: several messages about <section>, <p>, <hr>, and related subjects (Ian Hickson 著, 版) http://lists.w3.org/Archives/Public/public-html/2008Feb/0369.html
[3] IRC logs: freenode / #whatwg / 20090817 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20090817#l-371
[4] HTML5 のセクションアウトラインを取得する JavaScript - IT戦記 ( 版) http://d.hatena.ne.jp/amachang/20090914/1252897184
[5] [whatwg] Various threads with feedback on HTML elements ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-October/041109.html
[6] Web Applications 1.0 r8357 Make the outline algorithm easier to edit by making it all explicit steps and breaking out the (currently still identical) steps for entering sectioning content vs sectioning roots. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8356&to=8357
[7] Web Applications 1.0 r8358 Make the outline algorithm handle sectioning roots more sensibly ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8357&to=8358
[8] Web Applications 1.0 r8649 Make the outline algorithm also associate text nodes and comments with the sections ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8648&to=8649
[9] Web Applications 1.0 r8698 Add a section encouraging user agents (especially ATs) to expose the outline and headings ( ( 版)) http://html5.org/r/8698
[10] HTML5 Outliner - Chrome ウェブストア ( 版) https://chrome.google.com/webstore/detail/html5-outliner/afoibpobokebhgfnknfndkgemglggomo/
[11] HTML5 のセクションアウトラインを生成してみよう! - IT戦記 ( 版) http://d.hatena.ne.jp/amachang/20090915/1252999677
[12] Suggest adding a warning about outline algorithm · Issue #83 · whatwg/html ( 版) https://github.com/whatwg/html/issues/83
[13] IRC logs: freenode / #whatwg / 20090902 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20090902#l-168
[16] IRC logs: freenode / #whatwg / 20090906 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20090906#l-236
[17] tantek は #whatwg
で、アウトラインは longdesc
と同じく失敗だった、と言っている。著者は hn
をブラウザーでどう表示されるかしか気にせず使うし、
div
と section
と article
の違いもわかりゃしない。
AT が正しく見出しレベルをレンダリングするためにアウトラインが必要とかいうけど、
そもそもみんな正しく使ってないんだから役に立たないだろ、と。
[18] SGML の付番の時代から始まって、 HTML2、HTML4、
ISO-HTML、HTML5 と章節の入れ子の扱いはマーク付け言語の設計者を引きつける伝統的な重大テーマなんですよね。
でも世間では設計者の思った通りには使ってもらえない。
そういう世間とマーク付け言語設計者の世界との乖離を解決していくのが WA1 時代前半のテーマの1つで、
SGML からの卒業、 longdesc
の廃止、互換モードの標準化、
内容モデル制約の緩和、と順番に片付けていったはずなのだけど、今なお未解決のまま残されているのがこれ、
という見方ができるわけだ。
[19] HTML outline bookmarklet http://www.whatwg.org/specs/web-apps/current-work/#headings-and-sections () https://gist.github.com/wakaba/7887273
main
[57] HTML5 時代の outline algorithm は令和時代初期になって HTML Standard から削除されてしまいました。
[58] かわって outline という用語は定義されていますが、 文書中の要素の構造を考慮しないで見出しを取り出しただけで、 機能的には outline とは言いづらいものです。
[59]
新しい規定の元では、 h1
から h3
に飛ばすのは一応禁止されていますが、
h1
を使わないで h2
を使うようなケースは禁止しないと例示付きで示されているなど、
依然として付番の扱いは不統一、非合理的です。
この新しい規定も特段 Web の実態を調査するなど科学的方法で決められたものではなく、
現実と乖離しています。
[60]
また、 section
や article
で示される章節構造と付番の不一致は一切禁止されておらず、
適合性検査器に対する HTML Standard の規定の有用性を毀損する形になっています。
[61]
従来通り章節構造を利用し見出しはすべて h1
を使っても新しい HTML Standard の規定には違反しません。
加えて、すべて h2
にしてもすべて h6
にしても構わなくなっています。
[65] 一応 h1
が1つはあるべきとはされていますが...
付番飛ばしが完全な禁止なのになぜこちらが完全な要求でないのか謎。
[62]
つまり h1
の次を h3
にするような飛ばし方だけなぜか禁止されていますが、
それ以外は任意の見出しと章節構造の組み合わせが許される形になっています。
これは HTML4 の規定に近いですが、
HTML4 の規定 (というか推奨) より一貫性がなくわかりにくく、
25年前より更に退化したと言わざるを得ません。