障害メモ/HTML5でrel属性がシンタックスエラーになる

キーワード

  • HTML5
  • rel属性

現象

JavaScriptで外部リンクさせるための規約にrelを使っていたらHTML5でシンタックスエラーになった。

<a href="(どこがし)" rel="(なにがし)">外部リンク</a>
Bad value (なにがし) for attribute rel on element a: Keyword (なにがし) is not registered. 

原因

rel属性には決まったキーワードしか値になれないようで。

  • http://www.playstudy.net/blog/develop/html5-linkrel.html

対策

独自のデータ属性を使えばいい。

<a href="(どこがし)" data-external="(なにがし)">外部リンク</a>

「external」の部分は任意。「data-*」の形ならなんでもよさ気。

jQueryでは次のようにして値をとれる。

jQuery('#hoge').data('external');

参考

  • http://css-tricks.com/forums/discussion/14733/bad-value-xxx-for-attribute-rel-on-element-a-keyword-xxx-is-not-registered-html5/p1
  • http://www.html5.jp/tag/attributes/data.html
作成日 2013-08-17