フォーカスされたすべてのボタンのアウトラインを削除するのは簡単ですが (user1933897 の回答のように)、その解決策はアクセシビリティの観点からは良くありません (たとえば、ブラウザのデフォルト フォーカス アウトラインをいじるのをやめるを参照) 。
一方、クリックしたボタンがフォーカスされているとブラウザが判断した場合、クリックしたボタンをフォーカスされたものとしてスタイリングするのをやめるようにブラウザを説得することはおそらく不可能です (OS X の Chrome のことを考えています)。
では、何ができるでしょうか?いくつかの選択肢が頭に浮かびます。
1) Javascript (jQuery):$('.btn').mouseup(function() { this.blur() })
ボタンがクリックされた直後に、ボタンの周りのフォーカスを削除するようブラウザに指示しています。mouseup
代わりにを使用することでclick
、キーボードベースの対話のデフォルトの動作を維持しています (mouseup
キーボードによってトリガーされません)。
2) CSS:.btn:hover { outline: 0 !important }
ここでは、ホバーされたボタンのみのアウトラインをオフにします。明らかに理想的ではありませんが、状況によっては十分な場合があります。