こんにちは:フォーカス見える!
フォーカス表示は、簡単にデザインで無視されているものの一つです.多くの設計者はまた、デフォルトでシステムの設定でフォーカスインジケータが無効になっているMacを使用します.
過去数年で、アクセシビリティはゆっくりであったが、確実にコミュニティでブレークスルーを得て、適切に焦点州のためのスタイリングが成長していました.
過去の週末の間、クロムの新しいリリースは出ました.そして、Chrome、端を意味します、そして、バージョン86のすべての他のクロムベースのブラウザーは現在
違い
弱く強い
私の提案は、デフォルトでは、
実装
私たちは
結論
今ちょうどクロムがsupport rounded corners on outline .Firefoxは、非標準のベンダプレフィックスを通しても、非常に長い間、してきました.しかし、それはそれをサポートしています.ボックスシャドウを使用して丸めフォーカスリングを行うことはハックです.
過去数年で、アクセシビリティはゆっくりであったが、確実にコミュニティでブレークスルーを得て、適切に焦点州のためのスタイリングが成長していました.
過去の週末の間、クロムの新しいリリースは出ました.そして、Chrome、端を意味します、そして、バージョン86のすべての他のクロムベースのブラウザーは現在
:focus
を支持します.これは素晴らしいことです、Firefoxが初めて2011年に:focus-visible
を導入して以来、初めてスタイリングにアクセスできるフォーカスの実用的な進歩がありました!違い
-moz-focusring
スタイルはかなり簡単です:それがキーボードアクセスの現在のアクティブなターゲットであるなら、要素の表示焦点指示.問題は、マウスまたは指でそれらをクリックするとき、それがしばしば要素にフォーカス表示を表示することを望まないということです.しかし、フォーカスの表示を削除する場合は完全にあなたのアプリケーションをキーボードで使用するのは非常に難しい、あなたはどの要素がアクティブなものであるかわからないので.:focus
は:focus-visible
のようです、しかし、ブラウザーヒューリスティックがユーザーがキーボードを使っているのを発見するならば、スタイルは活発です、そして、このように、焦点インジケータは表示されなければなりません.これは、我々はフォーカスのインジケータを持つことができますので、これは素晴らしいですが、要素をクリックするときにそれを参照する必要はありませんが、非常に見えるスタイルを持っている!弱く強い
私の提案は、デフォルトでは、
:focus
スタイルでもフォーカス表示をする必要がありますが、それは:focus
で使用されるものよりも強いことができます.適切なフォールバックでは、:focus-visible
をサポートしていないブラウザーに対してのみ使用されます.そうすれば、人々は新しいブラウザーに移動するので、単にタップしたり、要素をクリックするときにフォーカス表示を見ることはありません.実装
私たちは
:focus
を使うことができないので、ブラウザがそれを理解しないなら、CSSが無視される伝統的なオーバーライドに従わなければなりません./* you don't need to use CSS variables if you don't like */
:root {
--focus-color: Highlight;
--focus-color: -webkit-focus-ring-color;
}
/* apply weak focus indication */
a:focus {
outline: thin dotted var(--focus-color);
outline-offset: 1px;
}
/* disable weak focus in browsers which support focus-visible */
a:not(:-moz-focusring) { outline: none; }
a:not(:focus-visible) { outline: none; }
/* apply strong focus indication */
a:-moz-focusring {
outline: medium solid var(--focus-color);
outline-offset: 2px;
-moz-outline-radius: 6px;
}
a:focus-visible {
outline: medium solid var(--focus-color);
outline-offset: 2px;
}
:focus-visible
をサポートしていないブラウザでは、各要素がフォーカスを持っているたびに点在する1ピクセルのアウトラインが表示されます.一方、ブラウザをサポートするときには、非常に注目されるフォーカス表示が表示されます.結論
@supports
に移行を開始する時間は今です!JavaScriptベースの実装を削除する計画を始めることができます.今ちょうどクロムがsupport rounded corners on outline .Firefoxは、非標準のベンダプレフィックスを通しても、非常に長い間、してきました.しかし、それはそれをサポートしています.ボックスシャドウを使用して丸めフォーカスリングを行うことはハックです.
Reference
この問題について(こんにちは:フォーカス見える!), 我々は、より多くの情報をここで見つけました https://dev.to/merri/hello-focus-visible-1j6oテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol