ほとんどのブラウザでは好きな要素タグを作成して、好きな属性名を要素に追加することができます。例:AngularJSはカスタムHTML5要素タグと属性を使用してどのように離れますか?
<!DOCTYPE html>
<html>
<body>
<div my-attribute="has no data- prefix, but seems to behave like an attribute should">
<br/>
<hello-world style="display:block;background:#eee">Hello Everybody</hello-world>
<goodby-world style="background:#faa">Default display is inline</goodbye-world>
</div>
</body>
</html>
上記は表示されます。未定義の要素はスパンのように振る舞います。 AngularJSはカスタムタグ&の属性を利用しているようです。かなり多くの属性に依存しています。
しかし、私が理解する限り、そのようなことをすることは、「data-」プレフィックスを持つカスタムhtml5属性の場合を除いて、いいえでした。
私の質問は、独自のカスタム要素タグや属性名を作るのがタブーになっていないことですか?別の言い方をすれば、AngularJSは実際にHTML5仕様の一部ではない非標準の癖に頼っていますが、とにかく動作するのでしょうか?誰かがhtml5仕様の長い間失われた秘密の章を発見しましたか?あるいは私は何かを完全に誤解していますか?
quirksはHTML5仕様の一部です。したがって、すべてのブラウザは同じ方法でクラップアウトする必要があります。つまり、HTML5ブラウザでは、angleで使用されているような虚偽のHTMLでもブラウザ間で一貫性があります。検証する場合は、仕様に従ってください。有効性を確認するよりも角度のある機能についてもっと気になる場合は、角度を使用してください。両方を必要とする場合は、クラスやデータ属性を使用して、カスタムタグや属性の代わりに角を駆動します。 – dandavis