fbpx

メニュー

さらばdl原理主義者

高橋文樹 高橋文樹

この投稿は 11年 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。
これはスパムではなく、ハムです
これはスパムではなく、ハムです

僕たちが普段インターネットで目にするテキストの多くは、HTMLという言語で書かれています。あなたがいま目にしているこの文章もHTMLです。この段落をHTMLで表示するとこんな感じ。

<p>
僕たちが普段インターネットで目にするテキストの多くは、
<abbr title="Hyper Text Markup Language">HTML</abbr>という言語で書かれています。
あなたがいま目にしているこの文章もHTMLです。
この段落をHTMLで表示するとこんな感じ。
</p>

<p></p>でくくられたところは「この中は一つの段落ですよ」という意味で、<abbr></abbr>で囲まれたところは「これは略語で、Hyper Text Markup Languageという意味ですよ」という意味になります。このように書くことによって、ブラウザ(いまあなたが見ている画面を表示しているアプリケーション)は「あ、これは段落なのだな」と判断し、それを段落として適切に表示されるように描画します。具体的には、改行を入れて前後のテキストと分けます。

このようにpやabbrで囲むような記述方法をマークアップと呼び、pやabbrをタグと呼ぶのですが、このタグには種類があり、W3Cなどの国際的な団体が仕様を決定します。

なぜこのようになっているかというと、コンピュータはテキストの意味がわからないからです。だったらせめてテキストの意味をわかりやすく機械に教えてあげようということで、こうしたマークアップ言語というものが生まれました。

HTMLタグとその意味

最新のHTML5では108つのタグがあります。煩悩と同じ数ですね。ただ一口に「意味」といっても、色々あるので、その分類の軸も様々です。

たとえばvideoというタグは「ここには動画を埋め込んでね」という意味です。このタグにはテキストの意味を補足するような機能はなく、それを読んだブラウザは指定された動画ファイルを表示します。

e=mc2という数式の「二乗」を表すためのsupタグもありますし、これは後から挿入されたよという意味のinsタグもあります。

一口に意味といっても、その役割は「ブラウザに対する指示」「テキストの文中での重要度」「要素のグルーピング」など、様々なものがあります。

適切な意味の難しさとdl原理主義の誕生

さて、前置きが長くなりましたが…

僕がまだ会社勤めをしていた頃、入社してから3ヶ月ぐらいの後輩が「マークアップって全部dlで書けるんじゃないですか」と言ってきたことがありました。dlというのはかつて定義リストと呼ばれたタグで(いまは記述リストとなっています)、辞書のような役割を果たすために作られたタグです。dt(用語)とdd(説明)という2つのタグを子供に持つことで、用語とその意味を表すリストを表現します。

<dl>
     <dt>書名</dt>
     <dd>途中下車</dd>
     <dt>作者</dt>
     <dd>高橋文樹</dd>
     <dt>出版者</dt>
     <dd>幻冬舎</dd>
</dl>

元々の定義リストという名前の通り、辞書のような使い方を想定されていたのですが、その使用法は拡張されており、name-value方式の使い方が典型的な使用法とされています。

The dl element represents an association list consisting of zero or more name-value groups (a description list).

HTML5 A vocabulary and associated APIs for HTML and XHTML

HTMLの特徴の一つに、「入れ子が許されている」という点があります。僕の後輩は、このdlの用法と「HTMLには入れ子が許されてる」という特徴から、すべてをdlでマークアップすればいいんじゃないか、と思ったそうです。

たとえばHTMLにはh1というタグはもっとも重要な見出しという意味ですが、これをdtにし、そのあとに続く文章全体をddと考える、という具合です。

すべては名前とその説明から成り立つはずだ、というのは言われてみればそうだな、という感じがします。僕も仕事柄、人の書いたHTMLを見る機会が多いのですが、このdlには密かな人気があるような気がします。

たとえば、「サイトの新着情報」のようなエリアがdlでマークアップされているのをよく見ますし、お問い合わせフォームがdlでマークアップされていることもあります。僕がtableタグで組んだフォームがdlで直されて返ってくる、ということも何度かありました。

僕はこうした人々を密かにdl原理主義者と呼んでいました。後輩もそうなってしまったようです。

どれがスパムでどれがハム?

そもそもなぜdlで表現すべきだと思うかというと、HTMLの文書構造は論理的に適切であるべきだ、というHTMLがそもそも目指している方向性に加え、SEOつまり検索エンジン対策があります。

たしかにマークアップを行うことがSEO上有効であることは事実なのですが、新着情報をdlでマークアップするか、h3とpでマークアップしてulで囲むかは、さして重要な違いではありません。

Googleの検索エンジンはtitleタグとバックリンク(リンク元の質とリンクテキスト)を重用視しており、あとは幾つかの見出ししか見ていないように思えます。これは技術的な難しさも原因だったとは思いますが、計算能力が上がってHTML文書の意味をより詳しく解析できるようになったとしても、マークアップの意味が重用視されることにはならないような気がします。

というのも、そもそもマークアップによる意味が自己申告でしかないからです。

Googleがバックリンクを評価するのは、「よくリンクされるWebサイトはいいWebサイト」「いいWebサイトからリンクされるサイトはいいWebサイト」という論文の評価方法を採用しています。

昔はたとえば「航空券 格安 大阪 東京」というキーワードの検索結果で1位になりたかったら、strongタグで格安を囲ったり、metaタグにキーワードを書き込んだりして自己申告していたと思うのですが、そうした努力も少しずつ無意味になってきています。自己申告には嘘や誇張が紛れ込むからです。

Googleがサービス向上に取り組む方向性としては、「明らかなスパムを排除する」という引き算と、「検索結果をよりユーザーにとって意味深いものにする」という足し算があります。

たとえば、「航空券 格安 大阪」と僕が検索したとします。この場合、僕が求めているのは「羽田から関空までの格安航空券についての情報」だったりします。しかし、北海道に住んでいる人にとって、羽田発の航空券情報は必要ありません。このように、望むべき検索結果というのは、その検索する側の文脈によって変わってしまいます。

たとえば、真性引き籠もり「はてなブックマークはなぜ改悪されたのか。」という記事では、バンクーバーのうぇぶ屋バズ部わかったブログといったサイトがスパムとして名指しされています。Web制作者の中にはこれらのサイトをよく読み、「便利だ」と感じている人もいるでしょう。人によって何がスパムかは変わってしまうのです。

結局のところ、Googleの検索エンジンは文書を要約し、適切な文脈で表示するようになっていくでしょう。その中でマークアップによって意味付けを行う必要性は薄れていきます。

書いたものは私のもの。でも、その意味はあなたのもの。そんな風になっていくはずです。

ちなみに、dl原理主義者となったその後輩ですが、いまではどうでもよくなったらしく、文書のすべてをdlでマークアップしたりはしていません。スマートフォンアプリやECのマーケティングの方に興味があるようです。所属していた事業部が業績悪化で閉鎖されたらしいので、就職先も探さないといけないでしょう。色々忙しいですね。

すべての投稿を見る

高橋文樹ニュースレター

高橋文樹が最近の活動報告、サイトでパブリックにできない情報などをお伝えするメーリングリストです。 滅多に送りませんので、ぜひご登録お願いいたします。 お得なダウンロードコンテンツなども計画中です。