制作者(webmaster)
野嵜健秀(Takehide Nozaki)
公開
2000-10-19
改訂
2002-09-01

「とほほのWWW入門・HTMLリファレンス リニューアル版」を斬る

HTMLのタグと要素

HTMLのタグ

多くのタグは、<B>〜</B>のように開始タグ(start tag)終了タグ(end tag)で囲みます。開始タグのタグ名にスラッシュ(/)をつけたものが終了タグです。たまに、<BR>のような終了タグの無いものもあります。

とほほ師は、タグはタグに始まりタグに終る、と云ふ無限ループ的説明を相變らず改めてゐません。この手のとほほ師の解説は納得し難いと言はざるを得ません。そもそも、最初のタグを「要素」に置換へたところで、依然譯がわからないのであります。

とほほ師の解説は「タグがあるからそこに要素が出來る」と云ふものです。しかし、それは正しくない認識だと言へます。もしそれが正しいのならば、我々はタグの省略を一切出來ません。そもそも、タグが無ければ要素が存在しない、と云ふ事になつたら、文章のどこにタグを記述するかがわからない譯ですから、マークアップと云ふ行爲そのものが不可能となります。しかし、p要素の終了タグなどは屡々省略可能であるととほほ師自身が書いてゐますし、我々はマークアップを日常的に行つてゐます。

ですから、要素がはじめにある、と我々は考へざるを得ないのであります。文書のマークアップに於て、タグ自體は二次的な存在であると認識すべきなのであります。「或要素が既に存在してゐるから、その要素をタグでマークアップする事が出來る」と考へなければ、我々はマークアップの概念自體を理解出來ません。

とほほ師は要素の概念及びマークアップの概念を全く理解してゐません。或は、とほほ師のやうに考へると、マークアップと云ふ行爲自體を理解出來ません。ひいてはHTMLと云ふマークアップ言語自體を理解出來ません。

餘談ですが、良く「HTML文書では中身が大事だ」と言ひます。私はこの言ひ方が「中身の文章があつて、初めてマークアップが可能である」と云ふ事を意味してゐると考へます。

タグ名は必ず半角文字で記述してください。大文字・小文字はどちらでも構いません。(HTML の次世代規格とも言われる XHTML では、タグはすべて小文字で統一されるそうです。)また、< の後に空白があってはなりません。

XHTMLの話を持出すのならば、「XHTMLでは終了タグの省略が許されない」と云ふ事を書くべきです。

追記(2002-09-01)

いつの間にか、記述が變つてゐます。

HTML の次世代規格とも言われる XHTML では、タグはすべて小文字で記述することになっており、HTML も小文字で記述するのが最近の流行りだそうです。タグ名の前にスペースをいれてはなりません。

XHTMLが規格として實際に出てきたので、記述を直したのでせう。

しかし、「タグ名」つて何ですか。また、タグを小文字で書く事を、とほほさんは、流行り、と評してゐます。そんな事をするのは輕佻浮薄だ、と云ふ印象を與へたいのでせうか。

「タグはタグに始まりタグに終る」式の異常な説明は、いまだに改められてゐませんし。

HTMLの要素

要素(element)の概念は最初はちょっと難しいかもしれませんが、下の図のそれぞれの枠が要素だと思ってください。HTML要素の中にHEAD要素とBODY要素があり、BODY要素の中にH1要素とP要素があります。この要素の始まりや終わりを示すのがタグです。

とほほ師は要素の概念がわかつてゐないから、斯る解説でごまかさざるを得ません。「マークアップとは表現過程である」或は「言語とは表現過程である」と云ふ言語過程説の立場を採らないと、枠が要素だと思ってください、或は「××がある」「××がある」等と云ふ押附けがましい言ひ方をせざるを得ず、結果として要素と云ふ概念の本質を納得させる事が出來ません。

タグをもとに要素の概念を説明しようとしても無理である、と云ふ事です。要素が先にあつて、その要素をマークアップする爲にタグが使はれる、と説明しないと駄目なのです。少くとも、論理的に人を納得させる事は出來ません。

終了タグが省略された場合は、適切と思われる箇所でブラウザが補ってくれます。同様に、開始タグが省略されても、その要素が必要とされているなら、適切と思われる箇所でブラウザが開始タグを補ってくれます。

開始タグや終了タグがなくとも或要素の存在及びその範圍が自明である場合にのみ、User Agentはその要素が或範圍に存在すると見做します。

「タグの省略」は、タグによつて要素の概念を解説するとほほ師のやり方に無理のある事を證明してゐます。要素が既に存在し、その範圍が決つてゐるから、User Agentは適切と思われる箇所で開始タグや終了タグを補完出來ます。しかし、タグによつて要素の範圍が決定されるものであるのならば、タグが省略された場合、User Agentはどこが適切と思われる箇所であるかを判斷出來ない筈です。即ち、タグがあつて要素が出來るのではなく、要素があるからタグを附けられる、と云ふ事になります。

なほ、XHTMLではタグの省略が殆どの場合禁止されます。XMLの理念は、データを精密なものにする事で、パーサのエラー處理を簡略化する、と云ふものです。即ち、HTMLで許されるタグの省略は、HTMLパーサのエラー處理に依存してゐると云ふ事になります。

ブロック要素とインライン要素

<ADDRESS> や <BLOCKQUOTE> のように、ブラウザ表示時に前後に改行がはいるものがブロック要素、<BIG> や <STRONG> のように、前後に改行がはいらないものがインライン要素と覚えておくと覚え易いでしょう。

覚え易いと云へば覚え易いのですが、本質的には話が逆です。Internet ExplorerやNetscape Navigatorのやうな視覺系User Agentは或要素がブロック要素であるから、それを示す爲に要素の前後に改行を入れて整形するのです。個人的な見解ですが、「ブロック要素」「インライン要素」と云ふ用語自體、餘り望ましいものではありません。

タグや見榮えから要素を定義するのは、何度も言ふやうに、本末轉倒なのであつて、要素の概念から話を説き起さないとマークアップと云ふ事は理解出來ません。或は、タグを基本にすると、とほほ師のやうに、納得の出來ないHTMLの解説を行はなければならなくなります。

ひとつ困った事は、HTML4.01推奨仕様では、P要素の中にブロック要素を含むことが許されていません。

困つた事に、p要素の中にブロック要素を含めたい人がゐるやうです。

もつとも、object要素の中にブロック要素を記述する事で、p要素の中にブロック要素を出現させられるのですが。

追記(2002-09-02)

XHTML 2.0の最初のドラフトで、p要素の中にブロック要素をぶち込めるやうにする事が提案されてゐます。或意味、XHTML 2.0のドラフトが「とほほ」な代物である事の證據であるやうにすら思はれます。

個人的には、そんな事を可能にするくらゐなら、p自體廢止しちまへ、段落はdivでマーク附けしろ、と言ひたい。XHTML 2.0の最初のドラフトには大反對です。

目次

  1. HTMLリファレンス リニューアル版を斬る
  2. 記号や一覧の意味
  3. HTMLのタグと要素
  4. HTMLの属性
  5. 見栄えの分離とアクセサビリティ
  6. 非推奨の(Deprecated)タグや属性
  7. アクセサビリティ
  8. HTMLの歴史