私は現在モバイルを使用していますが、ボタンの機能に div を使用しないようにアドバイスしている最近読んだ投稿が見つかりません。おそらく、哲学は問題ではないという点で十分に合意されています。
divは、タイプよりもスタイルを設定する方が少し簡単なようです<button>
(残念ながら参照できない回答で推奨されていました)。そうでなくても、div をボタンとして使用することの欠点は何ですか?
ありがとう!
<div>
意味的な意味はほとんど、またはまったくありません。それは単なる一般的なコンテナです。
<a>
、<button>
、または<input type=button>
すべてが実際に何であるか、何をすべきかなどをより明確にします。
これにはいくつかの利点があります。
アクセシビリティ: スクリーン リーダーなどを使用して何をすべきかを知っている可能性は、実際に Web サーバーなどと通信する方法で<a>
あると理解するよりもはるかに優れています。<div>
ユーザー インターフェイスの利点: ユーザーがクリック可能な要素などをタブで移動することに慣れている場合、ユーザーがクリック/押す/何でもできることを明確に示す要素を使用すると、ブラウザーが正しいことを行う可能性がはるかに高くなります。を使用する<div>
と、ブラウザはそれを強調表示したり、クリックできることをユーザーに通知するために通常行うことを実行したりしない場合があります。
onclickなどを添付する必要はなく、無料でクリック可能になります。を使用する<div>
と、おそらく JavaScript なしで機能させる方法はありません。他の要素には、少なくとも希望があります (特に<a>
)。
おそらく、私が考えたことのない他の多くのことを省略している可能性があります。上記は最良の例ではないかもしれませんが、あなたはその考えを理解していると思います.
<div>
tabindex
属性をサポートしていません。そのため、キーボード ユーザーは不利な立場にあります。
さらに、ウェブページ オプティマイザー (モバイル上の Google など) は、<input>
.