ホームページ > ウェブフロントエンド > CSSチュートリアル > キーボードのアクセシビリティを維持しながらフォーカス スタイルを無効にするにはどうすればよいですか?

キーボードのアクセシビリティを維持しながらフォーカス スタイルを無効にするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-31 02:41:31
オリジナル
1167 人が閲覧しました

How Can I Disable Focus Styles While Retaining Keyboard Accessibility?

不要なときはフォーカスを無効にできますか?

フォーカスがあるときのナビゲーションの見た目が気に入らないため、不要なときにフォーカスを無効にしたいと考えています。その上で。 .active と同じスタイルを使用しているため、混乱を招きます。ただし、キーボードを使用する人にとっては、このクラスを取り除く必要はありません。

問題は解決される可能性があります

一部の投稿者は、:focus-visible 疑似クラスについて言及していますが、現在はこのクラスが使用されています。適切なブラウザサポートがあります。仕様に従い、ブラウザは、ユーザーがキーボードやその他の非ポインティング デバイスを介してページを操作するときなど、ユーザーにとって有益な場合にのみフォーカスを示す必要があります。

これは、ほとんどの場合、ブラウザでは、ユーザーがボタン (または別のフォーカス可能な要素) をクリック/タップすると、ボタンにフォーカスがあってもユーザー エージェントはフォーカス リングを表示しません。この場合、フォーカス リングはユーザーにとって役に立たないからです。

下位互換性

このように :focus-visible を使用すると考えられる問題は、これをサポートしていないブラウザではデフォルトのフォーカス リングが表示されることです。

元の回答

:focus-visible ソリューションでは下位互換性が十分でない場合は、ボタン、リンク、その他のコンテナ要素に対してキーボードのみのフォーカス スタイルを実現できます。次の解決策:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

button {

  -moz-appearance: none;

  -webkit-appearance: none;

  background: none;

  border: none;

  outline: none;

  font-size: inherit;

}

 

.btn {

  all: initial;

  margin: 1em;

  display: inline-block;

}

 

.btn__content {

  background: orange;

  padding: 1em;

  cursor: pointer;

  display: inline-block;

}

 

 

/* Fixing the Safari bug for `<button>`s overflow */

.btn__content {

    position: relative;

}

 

/* All the states on the inner element */

.btn:hover > .btn__content  {

    background: salmon;

}

 

.btn:active > .btn__content  {

    background: darkorange;

}

 

.btn:focus > .btn__content  {

    box-shadow: 0 0 2px 2px #51a7e8;

    color: lime;

}

 

/* Removing default outline only after we've added our custom one */

.btn:focus,

.btn__content:focus {

    outline: none;

}

ログイン後にコピー

この手法では、すべてのスタイルがコンテナの内部要素に配置され、マウスの使用時にフォーカス スタイルが表示されなくなります。

以上がキーボードのアクセシビリティを維持しながらフォーカス スタイルを無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート