情報提供:山羊丸さん
水無月ばけらさん、こんにちは。
先日お話ししました「正しいHTML4.0」第2版についてのチェック結果をお送りします。まぁ「チェック」と言っても第1版を持っていないので水無月ばけらさんやその他の方の批評をもとに「以前はこうだったようだが……」という推測が入ってしまっていますが、そこのあたりはご容赦を。
私が買った本の書名は、「正しいHTML4.0リファレンス&作法」です。水無月ばけらさんの「のけぞる本!」では「HTML4.0」の後に「+CSS1」があったようですが(9ページからの画面キャプチャにも「+CSS1」の文字が見える)、新しい書名からは消えています。CSS1については自信が無くなってしまったのでしょうか(^^;)。実は私は結構重宝しているのですが。
本書はHTMLのエレメントリファレンスだ。エレメントとは世間でタグと通称しているアレである──タグは間違いなのでエレメントと呼んで欲しい、と HTML の仕様書原文にも注意書きがあるので、本書はことさらエレメントと呼ぶ。
(「のけぞる本 - 正しいHTML4.0+CSS1リファレンス&作法」の引用より孫引き)
こういうくだりは第2版にはないようです。最も近い記述はこうでした(14ページ)。
マークアップ言語で<で始まり>で終わる記号がタグである。開始タグと終了タグ、その両者にはさまれるコンテンツ(内容)の3つで構成されるものがエレメント(要素)である。タグとエレメントは混同されがちで、HTML仕様書にも誤用されていることに対する注釈がついているので、誤用は日本だけの事情ではないようだ。
本書のようなリファレンスで分類されるとき、PやらBRやらはタグ名ではなくエレメント名と呼ぶのが正しい。
ここだけ読むとけっこう正しそうな気がしますね。でも先述の画面キャプチャをはじめ、この書きなおした思想が本全体に行き渡っていないのが残念です。
画面キャプチャの中に――
- 箇条書きの段落は全体をULというエレメントでくくる。
- 次に、各項目の先頭をLIというエレメントで書き始めるだけだ。
……なんて記述が残っています(強調は山羊丸)。
これらは変わっていませんでした。HTML2.xの存在は依然無視されていますし、Strictで記述されたページはまともに表示されないことになっているようです。ちなみに私は「アレはなんだっけ」と思ったときにこの本を開いています(^^;)。
省略できるものは省くという思想は嫌いではないが、以下はHTMLがHTMLであるための基本エレメントだ。だから次に示すエレメントだけは必ず書こう。
これもこのまま。まだわかっていらっしゃらないようです。
嘘のままなんですが、アルファベット順に並んだリファレンスの「BLOCKQUOTE」の項(128ページ)を見ると 要素 インラインとブロックレベル(StrictではブロックレベルとSCRIPT)
とあります。おっと、さっき「内容」と言ったはずのものが「要素」になってますね(^^;)。
まだダメだそうです。
これは記述が変わっています。
つまり、次のような状態になるのである。
<!--コメント-- --コメント-- --コメント-->
ところで余談なのですが、最近見た本で「必携! カラー版 HTML辞典 imode対応」という本(だったかな)に、コメントの説明でこんな感じのがあって大ウケしました。
ふつう、<HTML>の前に文書の型を定義するコメントを記述する。HTML4.0なら次のように記述する。
<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" -->
云々
しっかりStrictとTransitionalとFramesetのが載っていたのですが、「--」が挿入されてしまっては意味がありませんよねぇ……(強調は山羊丸)。
他にも少し面白い間違いがあったのですが、書店で見つけたらチェックしてみてください。表紙に擬人化されたライオンの絵があるのが目印です。
第2版においても、<TABLE border>という記述は未だありえないようです。
濡れ衣は解消されたようです。(132ページ)
この、オブジェクトのフロート配置は、オブジェクト(IMG及びOBJECT)の他、TABLEやフレームエレメントでも可能と定められている。 *2
…(中略)…
*2 本書第1版で、TABLEがフロート配置されるのは、IEの行き過ぎた解釈と断定してしまったが、HTML4.0仕様書の15.1.3で for object, images, tables, frames, etc.と定められていた。嘘を書いてしまったことを陳謝する。
陳謝は良いとして、他にもいろいろ突っ込まれたところがあったはずですが……。
変わっていません。COL と COLGROUP の区別は実に不鮮明
で、定義リストで一項目ごとに空行を送って段落を広く取るには、DD の要素を P エレメントでくくるといい
そうです。
'transparent' とは透明色のことでユーザーエージェントの背景色が透けて見える(つまり標準色のまま)
これは次のようになっています。
'transparent' とは透明色のことでユーザーエージェント(あるいは親エレメント)の標準色が透けて見える(つまり標準色のまま)。
……と、まぁこんなところです。
いろいろ直っているけれども謎のままな部分もまだあると言うことですね。貴重な情報をどうもありがとうございました。