セマンティック HTML とはなんだろう
HTML5 の説明でよくでてくるのがセマンティクスの強化。
ここでひとつの疑問が浮かぶ。「はて、セマンティクスとはなんじゃろうか?」
これをひとに聞かれた時、案外言葉に詰まるので、ここはひとつ、セマンティクスとはなにかを簡単に説明する方法を考えてみる。
セマンティクスの意味
セマンティック HTML を考える前に、そもそもセマンティクスとはどういうものなのか。
セマンティクスとは言語学の領域のひとつで、日本語にすると意味論になる。
意味論はざっくり言うと言葉と意味の関係を扱う。
例えば食事中に「そこの醤油差しとって」と言われたとする。そしてその醤油差しが仮に空だったとする。
これを意味論的に解釈すると、醤油差しが欲しいという要求に応えるために空の醤油差しをとって相手に渡すことになる。
もうひとつの領域である語用論で「そこの醤油差しとって」を解釈すると、醤油差しが欲しいのは食べ物に醤油をかけて味付けをしたいということであるから、空の醤油差しを渡しても意味がないので、醤油差しはわたさずに「醤油は空だよ」と相手に言うか、もしくは醤油を補充する行動に移ることになる。
つまり言葉には二つの意味がある。ひとつは言葉道りの意味。もうひとつは環境や状態などから話者の意図を推測した上での意味。
意味論では主に前者である額面通りの意味を扱う。
つまり"セマンティックほにゃらら"とは、対応付けされた一定の意味がある記号(言葉や文字や図)の集合という解釈ができる。
ここで意味の意味を考えだすと無限ループにはまる。「私」という言葉がなぜ「わ」と「た」と「し」の音を繋げたものなのかという事を考えだすと答えはでない。
それはただある言語圏では共通の意味をもつ記号がそのように扱われているというだけで、意味の意味に意味はない。むしろ多くのひとがその記号をそのように解釈できるという事のほうに意味がある。
HTML
これでやっと HTML のはなしが始められる。
今迄のはなしから解釈すれば、セマンティック HTML とは意味付けされた記号(タグ)の集合ということになり、そしてマークアップとはその記号を使った表現ということになる。
長々と説明した割りには何を今更分かりきったことを、と思うかもしれない。
けれどその意味とは誰に向けての意味なのだろう。そしてそれはどのように解釈されるのだろう。
HTML の聞き手
もちろん第一の聞き手は Web ブラウザになる。
ブラウザはとても親切な聞き手で、片言でも途中で話が途切れてもうまいこと解釈してくれ、それとなく描画してくれる。
けれど今のところ、ブラウザが HTML を解釈して行うのはほぼ描画に限られている。
なら CSS で装飾すれば必ずしもセマンティック HTML である必要はないということになるし、事実 div ばかりの HTML でも見た目は美麗な Web サイトというのはある。
次の聞き手として思い浮かぶのには検索エンジンがある。
そもそもテーブルレイアウトの時代を経てセマンティック HTML が見直され始めた大きな要因は検索エンジンにある。
膨大な検索結果の中で上位を勝ち取るにはより意味的なマークアップがされたページのほうが優位にたてるという例の噂の SEO とかいうやつのひとつだ。
これは嘘ではないのだろうけれど、必ずしもセマンティックなマークアップのページがそうでないページの上位に立てるというわけではないので、変数のひとつでしかない。なので検索エンジン各社にはもっと大きな思惑があり、そのための啓蒙活動という面もあるのだろう。
さらにもうひとつの聞き手にはスクリーンリーダーがある。
スクリーンリーダーにとって文書構造は前の二つに比べると重要な要素になる。
br タグばかりで構成されたページはきっと p タグで適切にマークアップされたページより読みにくいに相違ない。
リストなども順序に意味があるのかないのかでは文脈が変わってくる。
nav 要素や header 要素などを適切に扱い、さらに role 属性等も利用すれば、それらに対応したスクリーンリーダーを利用していれば読み易さは向上される。
さらに。あえていうならマークアップエンジニア自身もある意味で聞き手だといえる。div だらけの HTML より h1 や ul でマークアップされた HTML のほうが 見やすいだろうし。
HTML の聞き手としてのアプリケーション
さて、上記の3つもアプリケーションには違いないのだろうけれど、アプリケーションはもっと多様だ。
それは自分でつくることもできるし、中には拡張できるものもある。
何が言いたいのかというと、今迄の意味的でない HTML のままでは Web はただ文書がたくさんあるだけの箱と大差ない。
そこでティム・バーナーズ=リーはセマンティック Web という構想を立ち上げた。
標準化された意味的構造をもった Web ページ群はもはやただの文書ではなく、有機的な情報になる。
それは検索エンジンだけでなく、その他の Web を利用したアプリケーションにとっても大きな価値のあるものに変わるだろう。
セマンティック Web は当初 XML をベースとしてオントロジ等の未成熟で高度な知識や技術を前提にしていたために夢想とまで呼ばれていたけれど、より単純な方法でセマンティクスの行える HTML5 のマイクロデータ等を利用することで、原始的ではあるけれども、セマンティック Web の一部を実現し得るようになってきている。
これらが普及することで、文書構造だけでなく文書内容までプログラムで解釈可能な情報が増えていく。