ヴォルフロッシュ

Blog

Published on

RSS

HTML5でのrel属性キーワードの大量削除

今日初めて知ったのですが、版のHTML5のドラフトでrel属性のキーワードが複数削除されています。(おそらく)からW3CのMarkup Validatorに反映されており、それで気付きました。

5.2. Changes from 13 January 2011 to 5 April 2011

  • The rel keywords archives, up, last, index, first and related synonyms have been dropped.
HTML5 differences from HTML4 -5.2. Changes from 13 January 2011 to 5 April 2011より抜粋

削除対象になったのはarchives, up, last, index, firstなど、いずれも関連ページを考える上で重要なキーワードであると思います(まぁ、archivesは置いておいて

またこれらはHTML4/XHTML1.0の頃から慣習的に使われており、OperaやiCabなどのrel属性を読むUAでは既に実装されています。

Operaのrel属性を利用したナビゲーションバー
iCabのスタンダードリンクツールバー

率直に言うと、この仕様変更はとても不満です。

私はrel属性がとても好きで、このサイトでもかなり活用しています。

まぁ、正直startは間違って使われることが多くindex辺りの解釈も不明瞭なため、これを期に統一するなり新しく定義し直すなりするのはいいかなと思うのですが、first/last/upに関しては納得がいかない。

しかも、なんか気に喰わないのは、「HTML5でははrel属性を活用しよう!!」みたいな記事はweb上に多くあり、結構rel="up"とか推奨されてたんですよね。ここでそれが、この最終勧告の寸前で手のひらを返したように大量削除。

tagのようなblogという限られたコンテンツで、しかも活用方法が曖昧なキーワードを残し、現状重視でfeedのような有用なキーワードを採用しなかったHTML5が、ここにきてこれらのrelキーワードを削除する意味が分かりません

そう、ついでに言うとfeedに関しても不満があって。以前一度rel="feed"というキーワードが案に上がったことがあったのですが、却下されてるんですね。

現在ヘッダ内でのフィードの指定は、

<link rel="alternate" href="feed.xml" type="application/rss+xml" />

みたいな感じで、alternateキーワードを使ってtype属性と併記して書くことになっています。さて、本来alternateとは、別にフィード専用のキーワードではなく、名前の通り代替文書へのリンクを示しています。つまり、現在のページに対して、そのページの印刷用ページとか、PDF版とか、そういうものですね。そんな中フィードなんかの文書もオルタナティブではあり得るのですが、これは常には通用しない。例えば、あるブログの個別記事ページからブログ全体のフィードへalternateを張るのは理論的におかしい。だって、それは純粋な意味でのオルタナティブではないので。

アドレスバーのRSSボタン (Safari)

でも現状ブラウザにフィードページを認識させアドレスバーの横に「RSS」なんてアイコンを出そうと思ったら、ヘッダでrel="alternate"の形で指定してあげないといけないので、実際にはみんなそうしているわけです。だって読んで欲しいし他に方法がないし。まずそこに齟齬がある。以前はフィードはそんなに一般的ではなかったかもしれませんが、今では誰もが使っています。

んだもんで、feedというキーワードがあるとみんな幸せになれるのではと私は思っているのです。なんならデフォルトのtypeを決めてしまえばそれも省略できるようになるだろうしalternateではtypeの省略は不可)

<link rel="feed" href="feed.xml" />
これができれば...

が、W3Cが出した解決案は、alternateを純粋な代替ページを越えての利用の許可。これはもうフィードのためだけの拡張だと思っていい。しかも1度出したfeedを引っ込めた理由が「使ってる人がいないから」参照。...そんな、勧告前の仕様に対して....。メチャクチャだ。

そもそもfeed却下の理由が実際に使われていない(= 実際alternateが使われているからそれに合わせる)からなら、現在大いに利用されているfirst/last/upらは残すべきではないのか?? start(に相当するキーワード)がないのも私は不満だ。別にある分には困るものでもないのだから残せばいいのに。

あとこれはまぁ個人的な話なのですが、私の作ってるサイトのテンプレートスクリプトでは$rel['prev']とか$rel['up']とかの$relという配列を持っており、head内のlink要素以外にも色々活用してるんです。ここにきて特にupは廃止と言われると、色々書き換えないといけない。どうしようかな、テンプレ。

これに関しては私のスクリプトなので別にどうってことないのですが、それにしてもそういったスクリプト内で関係リンクとして保持する価値のあるリンクの関係が削られたということなんだなぁと。

まだlast callなので勧告までには時間が。戻してほしい切実に...。

Comment

この記事へのコメント受付は終了しました。