1. ホーム
  2. javascript

[解決済み] HTMLタグの非標準的な属性。良いこと?悪いこと?あなたの考えは?

2023-02-10 06:05:33

質問

HTML (あるいは XHTML だけ?) は、タグの非標準の属性に関して比較的厳格です。もしそれらが仕様の一部でない場合、あなたのコードは非準拠とみなされます。

非標準の属性は、Javascript にメタデータを渡すのに非常に便利です。たとえば、リンクがポップアップを表示することになっている場合、ポップアップの名前を属性に設定することができます。

<a href="#null" class="popup" title="See the Popup!" 
   popup_title="Title for My Popup">click me</a>

また、spanのようなhidden要素にポップアップのタイトルを格納することもできます。

<style>
    .popup .title { display: none; }
</style>
<a href="#null" title="See the Popup!" class="popup">
    click me
    <span class="title">Title for My Popup</span>
</a>

しかし、どちらの方法が好ましいか悩むところです。最初の方法はより簡潔で、検索エンジンやスクリーンリーダーをそれほど混乱させないのではないかと思います。逆に、2番目の方法は大量のデータを保存するのが簡単なので、より汎用的です。また、これは標準に準拠しています。

このコミュニティがどのような考えを持っているのか興味があります。このような状況をどのように処理するのでしょうか。最初の方法の単純さは、潜在的な欠点 (もしあれば) を上回りますか?

どのように解決しますか?

私は、提案されている HTML 5 の解決策 ( data- 接頭辞付き属性) の大ファンです。編集:カスタム属性の使用には、おそらくもっと良い例があることを付け加えたいと思います。たとえば、カスタム アプリケーションが使用するデータで、標準の属性に類似したものがない場合です(たとえば、className や id で必ずしも表現できないものに基づくイベント ハンドラのカスタマイズなど)。