[解決済み] 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 で必ずしも表現できないものに基づくイベント ハンドラのカスタマイズなど)。
関連
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] Node.jsのES6クラスをrequireで作る
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTMLタグにカスタム属性を追加することはできますか?
-
[解決済み】カスタム属性 - 賛成か反対か?
-
[解決済み】一部のHTMLタグに任意のデータを格納する方法
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)