onclick="..."&gt;リンクのようなボタン&lt;/button&gt;しかし、フォームコントロールに対してはスタイルシートが期待通り適用されないこともあり、ボタンをどうしてもインライン要素にしたいときにこの方法は取れません。要素が使われることもあります。イベントを処理するときにデフォルトアクションをキャンセルすれば、もともと指定してあったリンク先に飛ぶことはありません。指定することでページ遷移が発生しないようにします。要素はあくまでハイパーリンク、すなわち他のリソースへ移動するためのものです。外見がどうあろうとリンクでないものの記述に使うの好ましくありません。要素にこだわる必要はありません。「リンクのような」の部分はスタイルシートで実現できます。onclick="..."&gt;リンクのようなボタン&lt;/span&gt;しかし、これではキーボードを用いてボタンにアクセスすることができません。要素はその対象から外れています。属性はフォーカス順を変更するものだと思っていたあなた、それはこの属性が持つパワーのほんの一部でしかありません。属性は要素をフォーカス可能にする属性として生まれ変わったのです。指定すればその要素がキーボードアクセス可能になります。キーを押しても何もおきません。イベントが発生するのにも関わらずです。イベントが発生し、指定したアクションが実行されます。イベントに対する処理を呼び出せばいいのです。プロパティから関数として取得できます。そのときのみ処理を実行します。属性に書かれているとは限りません。イベントが処理されていることもあります。属性の内容が2回実行されてしまいます。イベントを発生させれば自然とそれらが実行されます。イベントのデフォルトアクションをキャンセルしておきましょう。リンクのようなボタン&lt;/span&gt;しかし、視覚的なブラウザであれば見た目からこの要素が何らかのアクションを引き起こすことがわかりますが、環境によってもそもそもこれが「押せる」ということすら伝わらないかもしれません。