16

例えば、HTMLタグで定義されていない card というタグ名を作成したいとき、

<card>カード</card>

このような感じで書けば、検証した限り、IE9を含むすべてのブラウザで正常に動作するのが確認できました。
いろいろ調べて見ると、Custom Elementのついての記事ばかりで、独自タグについて言及している記事はなかなか見つかりません。

このような、独自タグを定義し使用することは仕様上大丈夫なのでしょうか?

unarist
  • 14,871
  • 5
  • 35
  • 78
qsmq
  • 429
  • 1
  • 7
  • 16
  • 2
    ちょっと古いですが、この記事 がまとめられていて分かりやすいと思います。基本HTMLでは使用できるタグが限定されていて独自タグ(最終的に既存のタグに変換されない)ものは使用できません。(XHTMLでは使用できる)現状XHTMLの厳密性も含めてほとんどのブラウザがそこら辺のチェックをゆるく(つまり規格外即エラーが表示されてページが表示されないという風にはなってなくて)なるたけ意図するようにというように表示がされるようになっていると思います。 – BLUEPIXY Dec 18 '16 at 08:23
  • Riotのようなものを使えばそこら辺の心配なく独自タグを定義し使用することができます。 – BLUEPIXY Dec 18 '16 at 08:28

1 Answers1

7

DOM の仕様では HTMLUnknownElement という要素が定められていて、不明な要素を扱うことができます。

https://html.spec.whatwg.org/multipage/dom.html#elements-in-the-dom

そのため、現時点では不明な要素を利用しても問題なく動作すると思います。
しかしながら、将来的に新しい要素が追加される可能性があります。この時に名前がかぶってしまうと意図しない動作になる可能性があります。

将来のことを考えると「独自タグを使うべきではない」と言えるでしょう。

mysticatea
  • 1,163
  • 6
  • 13