XHTMLの最近のブログ記事

概要: HTML 標準の更新に着手というW3Cのプレスリリースについて取り上げた新しいHTML標準?という記事を書きましたが、やはり少し性急に過ぎたようです。どうもこのプレスリリースから感じ取れる「今後は今ま...

HTML 標準の更新に着手というW3Cのプレスリリースについて取り上げた新しいHTML標準?という記事を書きましたが、やはり少し性急に過ぎたようです。どうもこのプレスリリースから感じ取れる「今後は今までのXHTMLを使うのではなく新しいHTMLを使うべし」という意味ではなかった模様。

神崎さんのメモ(HTMLの再構築?W3Cの新HTML作業部会)によれば、この計画はWWWの発案者(URI、HTTPやHTMLなどの発案者)であるTim Berners-Leeさんも早くから触れていたそうで(原文:Reinventing HTML)、目的はむしろ「XHTMLやXMLへの移行を逆行させるものではなく、過渡的な段階を増やす事」らしい。という事で、プレスリリースにもXML に準拠したコンテンツ市場は今後も成長の一途をたどり、重要度も増すと考えられるため、W3C では、新たに策定される HTML に対しても、旧来からの HTML 構文だけでなく、XML 形式での構文も定義することにしていますと書いてあります。……いや、でもこれ「XHTML 2.0は分流で新HTMLが本流」って言っているように見えませんか。でも、「過渡的な段階はXHTML 1.0やXHTML 1.1だけでは足りない」というのが本当の所らしいようで。

今回The Web KANZAKIのちょっとしたメモを見つけて発見したのですが、分流と言えばWHATWGという団体もあるそうですね。HTML 5などの仕様を策定しようとしていた団体……らしい。尤も、W3Cも新WGへの参加を呼びかけているそうですし、WHATWGもサイトでWe intend to work more closely with the W3C in future.と言っているので、これは合流するようです。

しかしWHATWGのWeb Applications 1.0の仕様書、一つの文書で341KBって……インクリメンタルレンダリングの苦手なIE7が長い事ハングアップするんですけど、分けないんですかね。また得意のフリーズかと思って、Headline-Reader Liteをkillしちゃいましたよ。XSLの仕様書(一つの文書で1735KB、あえてリンクせず)といい勝負ですね。

概要: 前後しますが、HTML 標準の更新に着手というプレスリリースがW3Cから出されています。XHTMLの導入が遅々として進まず、HTML 4(と言うよりはHTML 4.01だと思うのですが)が事実上の標準...

前後しますが、HTML 標準の更新に着手というプレスリリースがW3Cから出されています。XHTMLの導入が遅々として進まず、HTML 4(と言うよりはHTML 4.01だと思うのですが)が事実上の標準の座から降りない為に、HTML 4を基準とした、後方互換性にも配慮する新しいHTMLを作ろうという事らしいです。XHTML 2.0については、既に取組みを進めている活動については継続する一方で、市場における価値や独立性を明確化すべく、名称変更も含めた検討を行いますとの事。HTML Working Group Charterによれば、勧告は2010年を目標にするようですね。

個人的には、面白くありません。Web の開発や設計に携わる関係者らが要求する実際の利用実態に即したHTMLっていうのはつまり、b要素やi要素やfont要素なんかがあるHTMLっていう事なんでしょう。これらの殆ど全てはXHTML 2.0では駆逐されるでしょうし、font要素など一部の要素はXHTML 1.1で既に放逐されてますものね。

違う、違う、HTMLの進むべき道はHTML 4の延長ではないはずです。CSSを知る人は、HTML 4のプレゼンテーション用要素の非効率さに気付いているはずです。XSLTを使う人は、厳密なツリー構造を持つデータがどれ程扱いやすいか解っているはずです。Microsoft Wordを愛用する人は、文書の構成要素に対して、別に定義した「スタイル」を適用する事の威力を肌で感じているはずです。構造とスタイルを分離する事は、遠回りなように見えて、却って近道です。

我々が、例えば本から情報を得る時、(目に障害が無ければ)文書構造は見た目から得ます。綴じられた本の一番最初に大きな文字で「ドルリイ・レーン 最後の事件」と書いてあれば、それが本のタイトルだと認識します。前後に数行の空白があり、少し字下げして「3 十九番目の男」と書いてあれば、それが見出しだと思います。改行されて一文字字下げされれば、新しい段落に入った事が判ります。太い活字で文章が書いてあれば、重要な事なのだと判断するでしょう。でも、見た目と文書構造は必ずしも一致はしません。要点は、必ずしも太字でしょうか? 赤い文字は重要じゃないのですか? 段落の区切りは必ずしも改行、一字下げですか? 時々見かける、「* * *」という罫線みたいなものは何ですか? 見出しは必ずしも数行の空白を伴いますか? 文字が大きく太くなって、数行の空白を伴わない文字列は段落なのですか? また、英語の文書では、字下げの代わりに一行の空白を空けて文章が並んでいる事がありますが、あれは段落ではないのですか? ──スタイルに配慮する事が無意味だとは言いません。むしろ、良いスタイルを与えられた文書は、文章が読みやすくなります。明確な基準で意味や文書構造と見た目が対応する文書は、構造を捉えるのが容易になります。でも、それはHTMLでやる仕事じゃないでしょ。CSSやXSL-FOとかでやる仕事でしょ。構造の記述とスタイルの記述を分離すると、HTMLソースは恐ろしい程見やすく、自分でも構成を理解するのが格段に容易になります(これは元々のソースの複雑さにも依りますが)。タイトルはtitle、見出しはh1からh6まで、段落はp、HTMLを書くのに最低限必要なのはこれだけでしょう? 実際、

<!DOCTYPE HTML PUBLIC
  "-//W3C//DTD HTML 4.01 //EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<title>タイトル</title>
<h1>見出し</h1>
<p>段落</p>

は妥当(Valid)なHTML 4.01 Strictです。勿論、p要素だけでは色々な形式のデータを表現できませんから、ulとかolとかdlとか、emとかstrongとか、qとかblockquoteとか、他の要素を使って意味や構造を表す訳です。大体のブラウザはMosaicスタイル? を採用してemで囲まれた文字列は斜体で表示しますが、私は強調は斜体じゃなくて太字でやりたいんだ、って人は、CSSを使ってem { font-weight : bold; font-style : normal; }とかやる訳です。……人によって、「強調」という意味に与えるスタイルは異なるのですから。

僕の拙い主張じゃ納得できんって人は、RagettさんのGetting started with HTMLとか、神崎さんのごく簡単なHTMLの説明とか、すみさんの「via Internet」談義とかを読むといいのです。僕が初めてこういう思想に触れたのはごく簡単なHTMLの説明でだったのですが、初めて見た時は鳥肌が立ちましたよ。「正しいHTMLは美しいものなんだ」って。

どうも僕には、今回の新しいHTMLはHTML 3.2の再来のような気がしてなりません。仕様が現状に迎合していたのでは、いつまで経っても先に進めないと思うのですが……。

概要: What's New in Internet Explorer 7.0というページを見つけたので、気になる点をいくつか書き出してみます。 HTML 4.01のABBR要素のサポート ...

What's New in Internet Explorer 7.0というページを見つけたので、気になる点をいくつか書き出してみます。

HTML 4.01のABBR要素のサポート

HTML 4.0.1 Support: Internet Explorer 7 recognizes the ABBR tag from HTML 4.0.1. ……って今頃?! まぁ、無いよりましですけど。勿論can be styled with CSSです。これで、心置きなくacronymをabbrに置き換える事ができますね。尤も、これはこのページを見るより前に気がついて、もうスタイルシートの方は書き換えてましたが。

それと、object要素のネストもサポートって書いてありますが、……逆に<object data="/image/valid-xhtml11" type="image/png">Valid XHTML 1.1</object>とかが解釈できなくなってませんか(内容が描画される)? 気のせい? IE6では(無様な)枠付きでも、表示だけはしてたのに。まぁ、<object data="/image/valid-xhtml11" type="image/png"><img src="/image/valid-xhtml11" alt="Valid XHTML 1.1"/></object>とやればIEでも問題無くなったので、いいのはいいんですが、ブラウザの退化によって記述が進化するというのも微妙ですねえ。

PNGのアルファチャンネルのサポート

Portable Network Graphics (PNG): Internet Explorer 7 adds support for Alpha Channel Transparency to PNG. ほうほう、これはいいですね。ミケネコ研究所のPNGのページによれば、Operaはバージョン7からサポートしているし、Mozillaの前身Netscapeもバージョン7でサポートしているようなので、Mozilla2でもきっと大丈夫でしょう。これで、Windowsブラウザ御三家ではアルファチャンネル付きのPNGイメージを堂々と使えるようになった訳ですね。祝着、祝着。

CSS2の子セレクタ(first-child含む)、隣接セレクタ、属性セレクタのサポート

Cascading Style Sheets (CSS) Updates: Internet Explorer 7 features improved CSS, Level 2 (CSS2) support for Selectors (first-child, adjacent, attribute and child selectors) and Fixed Positioning. って言われても、IE6まではサポートされていなかったので馴染みが無いセレクタです。ちょっと調べてみましょう。

子セレクタ(Child Selectors)

子孫セレクタ(Descendant Selectors)と似ていますが、子だけ(直接の内容要素だけ)に適用されるセレクタです。a > bのような書き方をし、aの子のbにマッチします。適用対象もbです。

first-child擬似クラス(first-child Pseudo Class)は、子セレクタと一緒に使い、a > b:first-childのように書きます。aが幾つかbを子に持っていても、適用されるのは最初のbだけです。

隣接セレクタ(Adjacent Sibling Selectors)

正確に言うと、隣接兄弟セレクタです。同じ親を持つ要素で、しかも隣接しているときにのみ適用されます。a + bのように書き、aとbが同じ親を持っていて、bが(コメントやテキストを除外すると)aの直後に続いている場合、bにマッチします。つまり、適用対象はbです。

属性セレクタ(Attribute Selectors)

クラスセレクタ(Class Selectors)はIE6まででもサポートしていましたが、これはもっと一般的なものです。スクウェアブラケットで挟まれた中に、属性名と属性値を指定することができ、しかも幾つも条件を重ねられます。

例えばa[title]で、title属性を(値は何でもいいから)持っているa要素にマッチします。a[rel="alternate"]では、rel属性が"alternate"であるa要素にマッチします。a[rel~="bookmark"]なら、rel属性が"alternate bookmark"であるなど、bookmarkという(スペースで区切られた)「単語」を持つa要素にマッチします。最後に、a[rel~="alternate"][hreflang|="en"]なら、rel属性が"alternate"単語を持ち、言語が英語であるa要素──hreflang属性の値が"en"、"en-US"、"en-UK"などであるa要素──にマッチします。

KatsuさんのCSS2リファレンスの対応状況によれば、MozillaやOperaでも大丈夫そうなので、これも堂々と使えるようになったものの中の一つという訳ですね。

しかし、この対応状況のページ、仮名・漢字遣いやデザインが言葉 言葉 言葉に似ていたので、てっきり同じ方かと思ったら、違うんですね。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちXHTMLカテゴリに属しているものが含まれています。

次のカテゴリはXSLTです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。