まづ設問。
次に挙げる文章は、二千年ほど前に成立したとされる『般若心經』(玄奘譯)です。 これを文章の意味や構造に基づいて適正にマーク附けし、HTML 文書を完成させなさい。 尚、このページのソースを覗いても大して参考になりません。 単に <dd> で圍んでゐるだけです。 (制限時間 10 分)
さすがに全部繋げてしまふとさっぱり解らないと思ふので、半角スペースを入れてあります。 そこで意味が切れてゐます。
何故、こんな問題を出したかと言ふと、HTML は文章の意味や構造を明示する爲にある、と言はれてゐるからです。もちろん理想としては、さうあるべきです。 しかし、何う考へても HTML で意味や構造を明示するのは無理がある。問題例文のやうに、せいぜい意味の切れ目に印を附けるぐらゐしか出来ません。それならタグではなく、半角スペースや CRLF でも代用できます。 SGML を簡便にした HTML では、いはゆるセマンティックウェブを實現するのは難しい。始めから XML のやうなメタ言語を使った方が良いのです。
HTML は文章を人間に讀ませる爲にあるとするならば、CMS などの動的出力で已むを得ず段落を <br><br> としても問題になりません。 誰が讀んでも解る文章なら、それでも良い。 一方、讀んでも解らない文章、例へば設問のやうな御經などは、そもそもマーク附けしやうがありません。 その場合は適當なタグで圍んで措けば良い。HTML は可なり大雑把なマーク附け言語なので、マーク附けはシンプルである事が一番です。class などの屬性も、出來れば無い方が良い。
HTML は機械處理するには極めて中途半端な仕様です。例へば御經であれば、讀み易くレンダリングする爲の「印」ぐらゐにしか使へません。
HTML5 のルーツは何だと思ひますか。 實は私も解りません。 名稱からすると HTML 4.01 の後繼仕樣に見えるのですが、これは表向き。 從來の DTD を廢止して DOM に依る制御になってゐます。 だとすると、そもそも GML → SGML をルーツとしない、全く新しい仕樣と云ふ事になります。
前世紀の末に、Microsoft 社が IE ( Internet Explorer ) に實装した DHTML ( Dynamic HTML )といふ獨自規格がありました。 これは JavaScript や VB などのプログラミング言語を使って、いはゆる動的な HTML 文書を實現するものです。 いつの時代にも、この手の規格には商業的なニーズがある。 ただ、當時は W3C が牽引する標準化の動きの方が勝って、ブラウザベンダの思惑は尻すぼみになって行きました。 あれから十五年餘、滿を持した(?)ブラウザベンダや業者によって HTML5 が提唱されてゐます。 商業的なニーズが優先されてゐる點を考へると HTML5 のルーツは DHTML ではないかと思ひます。
DHTML では實装の異なるブラウザで互換させる爲に、「クロスブラウザ」といふテクニックが流行りました。 ちょうど現在のレスポンシブ・ウェブデザインと同じ。 異なるデバイスをワンソースで、といふ考へ方は、かつての「クロスブラウザ」なのです。 最新の仕樣と言ひながら、考へ方は可なり古臭い。
NN 4 ( Netscape Navigator 4.x )に追い附き追い越せで打ち出された DHTML は、今、新しい仕樣を携へて不死鳥のやうに甦る。(なんのこっちゃ)
判り易い例。
人間が讀んで解るやうな中身はありませんが、このゲームを實現してゐる HTML 文書は valid です。 形式と内容は異なるので、斯う云ふ「文書」でも問題ありません。
そんなもん、Flash か何かでやれ。 仰る通りです。 HTML でやる必然がありません。 しかし、これと同じ事を HTML5 ではやらうとしてゐる。 その中心で牽引してゐるのはブラウザベンダで、OS に代はるアプリケーション・プラットホームの獲得を目論んでゐるやうです。
<p>今日は良い天氣だ。</p>
P は要素ではなく、要素型だといふ事は旣に述べた通りです。 したがって、擧げた例は HTML 文書中で形式的に「段落」として扱ふに留まり、文章の内容が意味的に段落であるといふ事ではありません。 もちろん形式と内容は出来る限り一致してゐるのが望ましいけれど、計算機は <p> しか解釋しない。 つまり、形式の話に限るならば、<p> で圍まれた内容(要素)は必ずしも段落であるとは限らない。 この邊りは HTML の限界でもあるのですが、さて措き。
よく P 要素( the P element )といふ用語を聞きます。 晉通に考へるとタグ <p> で圍まれてゐる「今日は良い天氣だ。」といふ文章自體(そのもの)を指してゐると思ふのですが、HTML では形式的な「段落」以上の意味はありません。 計算機は内容(文章など)が何であれ、その部分を「段落」として取り扱ふ。 もちろん DTD にも「段落」の意味は書かれてゐません。 書かれてゐたところで計算機は理解しない。 要素型に圍まれた要素(内容)を理解するのは人間だけです。
「 P 要素」と言ってゐる人は、形式の話をしてゐるのか、内容の話をしてゐるのか。 これが往々にして混ぜ込ぜになる事が多いのです。 人間がマーク附けする以上、両者が混交するのは已むを得ない面もあるのですが、HTML 仕樣では形式以上の事は規定してゐない。 解り易く言ふと、お役所の手續きを思ひ出して下さい。 申請手續きなどは所定の形式に則る事を要求されますが、これと HTML は同じです。
いはゆる HTML 論争の多くは、形式と内容がきちんと區別されてゐない事が原因で起きてゐます。 例へば、HTML 4.01 の仕樣である Frameset (フレーム)を「使うべきではない」と主張する根據は、少なくとも HTML の仕樣には無い。 仕樣通りに正しく使ってゐるなら問題ありません。 これが分らない人が多いのです。
ウェブ屋と呼ばれる人たちは何で喰ってゐるのだらう。 情報設計? レスポンシブ Web デザイン? アクセシビリティ? ウェブアプリケーション? 取り敢へずリニューアル? さうではなく餘計なお世話(ユーザ體驗とか)で?
SGML を扱ってゐた人は HTML 2.0 以降の HTML が情報處理に使へるとは考へないのですが、始めから HTML だった人は情報處理にも使へると考へました。 これは旣に述べたやうに、いはゆる DTD 固定では無理がある。だから XML などメタ言語を用ゐるべきなんですが、扱ひが簡便な HTML でなんとか……。 斯う云ふ人がウェブ屋になってゐる。 しかも、昨今の業界の中樞を擔ってゐるのです。 しかし、もともと素人向けの HTML で飯を喰ふのは難しい。
素人向けの HTML を、プロであるウェブ屋が使ふと何うなるか。 素人には思ひ附かないような複雜な(奇怪な)マーク附けになり易い。 冒頭に書きましたが、マーク附けはシンプルが第一です。