はじめに <div class="button">や<a class="button">といったように、 ボタンを<button>以外で実装するのは極力避けよう、という話。 キーボード操作の問題 フォーカス <button>と違い、<div>やhref属性のない<a>には、フォーカスがあたりません。 フォーカスをあてるためには、tabindex属性が必要です。 ENTERキー/SPACEキーを押した時の処理 <button>にフォーカスしてENTERキー/SPACEキーを押すと、clickイベントが発火します。 このため、<button>の場合は、clickイベントハンドラを実装しさえすれば キーボードでボタンを押すことができます。 <div>やhref属性のない<a>の場合、このような気の利いた処理は行われないため、 自分でkeyupイベントハンドラを実装する必要があります。1 func