WebアプリケーションのカスタムJavaScript動作に関連付けられているユーザー操作要素のほとんどはa
、意味のある属性値を持つHTMLリンク(要素)であるhref
可能性があり、JavaScriptが有効になっていない環境で使用できるようになります。
<a id="profile" href="profile">Profile</a>
<script>
document.getElementById("profile").onclick = function() {
return !open(this.href, "_blank", "scrollbars=no,status=no"); // whatever
};
</script>
ただし、一部のインタラクション要素はJavaScriptに深くリンクしています。これは、それらが含まれるWebアプリケーションを実行するためにJavaScriptが必要であるか、JavaScriptによって生成されており、使用できない場合は意味がないためです。
それらの場合、ユーザーがどのデバイスを使用していてもユーザーと対話できるようにしたいので(つまり、マウス、キーボード、タッチ、…要素に対して自分で対話を定義したくないspan
)、2つの関連するHTML要素が表示されます。a
およびbutton
。
ここでの要素に関する私の問題a
は、それが私が望まない少なくとも1つの動作を定義することです:ユーザーが好きな場所(新しいタブなど)でターゲットを開くことができるのに対し、私が行いたいインタラクションは現在のタブに固有です。
ここでの要素に関する私の問題はbutton
、オンラインリソースからわかる限り、すべての最新のブラウザーで確実にスタイルを設定することが難しいことです(ただし、現在でもそうであるかどうかはわかりません)。
この質問のいくつかの側面はすでに他の場所で回答されていますが、包括的で最新の要約が見つかりません。どのHTML要素を使用することをお勧めしますか?