フォーム上にない限り、<a>
アンカータグはほとんどの場合ボタンとして使用されます。
私の質問は、なぜ<a>
タグが使用されるのかではなく、なぜタグも使用されるのかというhref="#"
ことです。
私の理解では、hrefがない場合は有効なhtmlであり、実際には、hrefがある場合にのみトリガーされるため、「ボタン」アンカーと<a>
リンクアンカータグをより区別できます。カーソルもポインタに戻すことができ、を変更することでテキストがハイライトされる問題が発生します。(例):link
:visited
::selection
どちらも影響を受けますが:active
(リンクについて言うことで区別できますがa:visited:active, a:link:active {---}
)、これを行わないと考えることができる唯一の理由は、タブの順序も削除されることです。
ただし、プラス面としては、削除してhref="#"
(ページのテスト、JavaScriptが無効になっているなどの場合に便利です)、「ボタン」に異なるデフォルトスタイルを指定し、コードで区別しやすくなります。また、いつでも割り当ててタブフローtabindex="0"
に戻すことができます。将来、cssは、Operaですでに導入されているnav-indexを導入する可能性があります(これはリスクのあるプロパティですが)。
タブの順序を削除するのは面倒な場合がありますが、私はそれをそのように考えています。単に「ボタン」とリンクを区別するhref="#"
ために置き換えるだけで、スタイルを設定することもできます。tabindex="0"
ですから、なぜ使用されるのかという私の最初の質問href="#"
が依然として私の主な焦点だと思いますが、リンクを「ボタン」から分離するためのより良い方法になる可能性があるために、なぜ実行すべき/すべきでないのかという興味のあるポイントを見逃した場合は聞きたいです。 。