15

私の知る限り、HTML5 でタグ名を作成することは完全に合法であり、CSS のスタイル設定やネストなどすべてで通常どおりに機能します。

もちろん、私の任意のタグ名は、それらを理解しないブラウザーには何の違いもありませんが、コードをより読みやすくし、保守を容易にするのに非常に役立ちます。

では、ページで任意のタグ名を使用してはいけないのはなぜですか? SEOに影響はありますか?それは何かを壊しますか?

重要な編集: 古いブラウザーは、http://ejohn.org/blog/html5-shiv/で使用する場合、サポートされていないタグでチョークしません。

4

1 に答える 1

12

アップデート

元の回答はかなり古く、Web コンポーネントが存在する前に作成されました (2011 年から議論されていましたが)。カスタム要素のルールがかなり変更されました。W3C には、カスタム要素の標準がすべてあります

カスタム要素は、作成者が完全な機能を備えた独自の DOM 要素を構築する方法を提供します。作成者はいつでも文書内で非標準要素を使用でき、アプリケーション固有の動作が事後にスクリプトまたは同様の方法で追加されますが、そのような要素は歴史的に非準拠であり、あまり機能的ではありませんでした。カスタム要素を定義することにより、作成者は、要素を適切に構築する方法と、そのクラスの要素が変更にどのように反応するかをパーサーに通知できます。

言い換えれば、W3C は、カスタム要素 (または質問が呼び出す任意のタグ名) を使用しても問題ありません。ただし、それらとその使用法にはかなりの規則があるため、リンクされたドキュメントを参照する必要があります。


元の答え

  1. 古いブラウザは、認識できないタグで窒息します。カスタムタグがどのブラウザーでも期待どおりに機能することを保証するものは何もありません
  2. この意味は仕様で合意されたタグにのみ存在するため、タグに適用されるセマンティックな意味はありません。これが SEO に影響するかどうかは不明ですが、HTML を解析するものは、スクリーン リーダーや Web スクレイパーなど、認識できないタグに遭遇すると問題が発生する可能性があります。
  3. タグが不適切にネストされていると、ブラウザから必要なヘルプが得られない場合があります
  4. 同じように、一部のブラウザはレンダリングを台無しにし、互いに異なる場合があります。たとえば<p><ul></ul></p>、Chrome では として解析され<p></p><ul></ul>ます。タグはコンテンツ モデルについて合意していないため、タグがどのように扱われるかは保証されません。
  5. W3Cはあなたにそれをしてほしくありません。

    作成者は、この仕様またはその他の該当する仕様で許可されていない要素、属性、または属性値を使用してはなりません。使用すると、言語が将来拡張されることが大幅に難しくなります。

この目的でカスタム タグを本当に使用する必要がある場合は、XSLT などの何らかのテンプレート言語を使用して、それを有効な HTML に変換するスタイルシートを作成できます。

于 2013-05-31T23:31:01.407 に答える