From e1bb793c6c8afd6558fb3d4767faf4c8b80c59ff Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Tue, 26 Oct 2021 23:12:35 +0900 Subject: :focus 系のセレクターの文書を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2021/10/25 時点の英語版に同期 --- files/ja/web/css/_colon_focus-visible/index.md | 115 +++++++++----------- files/ja/web/css/_colon_focus-within/index.md | 109 +++++++++---------- files/ja/web/css/_colon_focus/index.md | 141 ++++++++++--------------- 3 files changed, 152 insertions(+), 213 deletions(-) diff --git a/files/ja/web/css/_colon_focus-visible/index.md b/files/ja/web/css/_colon_focus-visible/index.md index b0ade4e723..2d8d0618eb 100644 --- a/files/ja/web/css/_colon_focus-visible/index.md +++ b/files/ja/web/css/_colon_focus-visible/index.md @@ -5,40 +5,40 @@ tags: - ':focus' - ':focus-visible' - CSS - - Experimental - - Layout - - Pseudo-class - - Reference - - Selector - - Web + - レイアウト + - 擬似クラス + - リファレンス + - セレクター + - ウェブ translation_of: 'Web/CSS/:focus-visible' --- -
{{CSSRef}}
+{{CSSRef}} -

:focus-visible 擬似クラスは、要素が {{CSSxRef(":focus")}} 擬似クラスに一致している時で、{{glossary("User Agent", "ユーザーエージェント")}}が要素にフォーカスを明示するべきであると発見的に指定した場合 (多くのブラウザーではこの場合、「フォーカスリング」を表示します) に適用されます。

+**`:focus-visible`** 擬似クラスは、要素が {{CSSxRef(":focus")}} 擬似クラスに一致している時で、{{glossary("User Agent", "ユーザーエージェント")}}が要素にフォーカスを明示するべきであると推測的に判断した場合に適用されます (多くのブラウザーではこの場合、既定で「フォーカスリング」を表示します)。 -

このセレクターは、ユーザーの入力方法 (マウスなのかキーボードなのか) によって異なるフォーカス表示を提供したい場合に便利です。

+このセレクターは、ユーザーの入力方法 (マウスなのかキーボードなのか) によって異なるフォーカス表示を提供したい場合に便利です。 -

なお、 Firefox は似た機能をより古い接頭辞付きの擬似クラス、 {{CSSxRef(":-moz-focusring")}} で対応しています。

- -

構文

+## 構文 {{CSSSyntax}} -

+## 例 -

基本的な例

+

基本的な例

-

この例では、 :focus-visible セレクターはユーザーエージェントの動作を使用して一致するタイミングを判断します。マウスでそれぞれのコントロールをクリックしたときと、キーボードを使用してタブ移動したときとで、何が起こるかを比較してみてください。なお、 :focus でスタイル付けされた要素との動作の違いに注意してください。

+この例では、`:focus-visible` セレクターはユーザーエージェントの動作を使用して照合するタイミングを判断します。マウスでそれぞれのコントロールをクリックしたときと、キーボードを使用してタブ移動したときとで、何が起こるかを比較してみてください。なお、`:focus` でスタイル付けされた要素との動作の違いに注意してください。 -
<input value="Default styles"><br>
-<button>Default styles</button><br>
-<input class="focus-only" value=":focus only"><br>
-<button class="focus-only">:focus only</button><br>
-<input class="focus-visible-only" value=":focus-visible only"><br>
-<button class="focus-visible-only">:focus-visible only</button>
+```html +
+
+
+
+
+ +``` -
input, button {
+```css
+input, button {
   margin: 10px;
 }
 
@@ -49,17 +49,20 @@ translation_of: 'Web/CSS/:focus-visible'
 .focus-visible-only:focus-visible {
   outline: 4px dashed darkorange;
 }
-
+``` -

{{EmbedLiveSample("Basic_example", "100%", 300)}}

+{{EmbedLiveSample("Basic_example", "100%", 300)}} -

フォーカスインジケーターの選択的な表示

+

フォーカスインジケーターの選択的な表示

-

カスタムコントロール、例えば カスタム要素ボタンなどは、 :focus-visible を使用してキーボードフォーカスに対してのみフォーカスインジケーターを選択的に適用することができます。これは {{htmlelement("button")}} のようなコントロールのネイティブのフォーカスの動作に一致します。

+カスタムコントロール、例えばカスタム要素のボタンなどは、`:focus-visible` を使用してキーボードフォーカスに対してのみフォーカスインジケーターを選択的に適用することができます。これは{{htmlelement("button")}} のようなコントロールのネイティブのフォーカスの動作に一致します。 -
<custom-button tabindex="0" role="button">Click Me</custom-button>
+```html +クリックしてください +``` -
custom-button {
+```css
+custom-button {
   display: inline-block;
   margin: 10px;
 }
@@ -67,7 +70,7 @@ translation_of: 'Web/CSS/:focus-visible'
 custom-button:focus {
   /* Provide a fallback style for browsers
      that don't support :focus-visible */
-  outline: none;
+  outline: 2px solid red;
   background: lightgrey;
 }
 
@@ -83,54 +86,36 @@ custom-button:focus-visible {
      :focus-visible */
   outline: 4px dashed darkorange;
   background: transparent;
-}
+} +``` -

{{EmbedLiveSample("Selectively_showing_the_focus_indicator", "100%", 300)}}

+{{EmbedLiveSample("Selectively_showing_the_focus_indicator", "100%", 60)}} -

ポリフィル

+## ポリフィル -

focus-visible.js を使用して :focus-visible のポリフィルにすることができます。

+`:focus-visible` のポリフィルとして [focus-visible.js](https://github.com/WICG/focus-visible) を使用することができます。 -

アクセシビリティの考慮

+## アクセシビリティの考慮 -

弱視

+### 弱視 -

視覚的なフォーカスインジケーターが、弱視の人々からも見えるように確認してください。これは外光が明るい場所 (太陽の下の屋外など) で画面を使用するすべての人にも利益になります。 WCAG 2.1 SC 1.4.11 Non-Text Contrast は、視覚的なフォーカスインジケーターを少なくとも 3:1 にすることを要求しています。

+視覚的なフォーカスインジケーターが、弱視の人々からも見えるように確認してください。これは外光が明るい場所 (太陽の下の屋外など) で画面を使用するすべての人にも利益になります。 [WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) は、視覚的なフォーカスインジケーターを少なくとも 3:1 にすることを要求しています。 - +- アクセシブルな視覚的フォーカスインジケーター: [Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators](https://www.deque.com/blog/give-site-focus-tips-designing-usable-focus-indicators/) -

認知障碍

+### 認知障碍 -

人が形式が混在した入力フィールドを使用している場合、フォーカスインジケーターが表示されたり消えたりする理由が明確に分からないかもしれません。認知的な懸念のあるユーザーや技術的なリテラシーの低いユーザーにとっては、対話的要素が一貫した動作をしていないと、混乱を招くかもしれません。

+複数の入力形式を混在させている場合、フォーカスインジケーターが表示されたり消えたりする理由は明らかではないかもしれません。認知機能に不安のあるユーザーや、技術的な知識が乏しいユーザーにとって、対話的要素の動作が一貫していないと、混乱を招く可能性があります。 -

仕様書

+## 仕様書 - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName("CSS4 Selectors", "#the-focus-visible-pseudo", ":focus-visible")}}{{Spec2("CSS4 Selectors")}}初回定義
+{{Specifications}} -

ブラウザーの互換性

+## ブラウザーの互換性 -

{{Compat("css.selectors.focus-visible")}}

+{{Compat}} -

関連情報

+## 関連情報 - +- {{CSSxRef(":focus")}} +- {{CSSxRef(":focus-within")}} diff --git a/files/ja/web/css/_colon_focus-within/index.md b/files/ja/web/css/_colon_focus-within/index.md index c3c4b07970..b62a217a7e 100644 --- a/files/ja/web/css/_colon_focus-within/index.md +++ b/files/ja/web/css/_colon_focus-within/index.md @@ -5,47 +5,53 @@ tags: - ':focus' - ':focus-within' - CSS - - Layout - - Pseudo-class - - Reference - - Selector - - Web + - レイアウト + - 擬似クラス + - リファレンス + - セレクター + - ウェブ +browser-compat: css.selectors.focus-within translation_of: 'Web/CSS/:focus-within' --- -
{{CSSRef}}
+{{CSSRef}} -

CSS:focus-within 擬似クラスは、フォーカスを持っているか、フォーカスを持った要素を含む要素を表します。言い換えれば、それ自身が {{CSSxRef(":focus")}} 擬似クラスに該当するか、子孫に :focus に該当する要素がある要素を表します。 (これはシャドウツリーにおける子孫も含みます。)

+**`:focus-within`** は [CSS](/ja/docs/Web/CSS) の[擬似クラス](/ja/docs/Web/CSS/Pseudo-classes)で、その要素または子孫要素にフォーカスがある場合にいっちします。言い換えれば、それ自身が {{CSSxRef(":focus")}} 擬似クラスに該当するか、子孫に `:focus` に該当する要素がある要素を表します。 (これは[シャドウツリー](/ja/docs/Web/Web_Components/Using_shadow_DOM)における子孫も含みます。) -
/* 子孫要素の一つにフォーカスがある <div> を選択 */
+```css
+/* 子孫要素の一つにフォーカスがある 
を選択 */ div:focus-within { background: cyan; -}
+} +``` -

このセレクターは、よくある例のように、 {{HTMLElement("input")}} 欄の一つにユーザーがフォーカスを置いたときに、それを含む {{HTMLElement("form")}} を強調する場合に便利です。

+このセレクターは、よくある例のように、 {{HTMLElement("input")}} 欄の一つにユーザーがフォーカスを置いたときに、それを含む {{HTMLElement("form")}} 全体を強調する場合に便利です。 -

構文

+## 構文 {{CSSSyntax}} -

+

-

この例では、何れかの入力欄にフォーカスが当たった時、特殊な色のスタイルにします。

+この例では、何れかの入力欄にフォーカスが当たった時、特殊な色のスタイルにします。 -

HTML

+### HTML -
<p>このフォームに入力してみてください。</p>
+```html
+

このフォームに入力してみてください。

-<form> - <label for="given_name">名前:</label> - <input id="given_name" type="text"> - <br> - <label for="family_name">苗字:</label> - <input id="family_name" type="text"> -</form>
+
+ + +
+ + +
+``` -

CSS

+### CSS -
form {
+```css
+form {
   border: 1px solid;
   color: gray;
   padding: 4px;
@@ -59,39 +65,22 @@ form:focus-within {
 input {
   margin: 4px;
 }
-
- -

結果

- -

{{EmbedLiveSample("Examples", 500, 150)}}

- -

仕様書

- - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName("CSS4 Selectors", "#the-focus-within-pseudo", ":focus-within")}}{{Spec2("CSS4 Selectors")}}初回定義
- -

ブラウザーの互換性

- -

{{Compat("css.selectors.focus-within")}}

- -

関連情報

- - +``` + +### 結果 + +{{EmbedLiveSample("Examples", 500, 150)}} + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{CSSxRef(":focus")}} +- {{CSSxRef(":focus-visible")}} {{Experimental_Inline}} +- [Grab your user's attention with the focus-within selector](https://dev.to/vtrpldn/grab-your-user-s-attention-with-the-focus-within-css-selector-4d4) diff --git a/files/ja/web/css/_colon_focus/index.md b/files/ja/web/css/_colon_focus/index.md index 01c4077455..840290e034 100644 --- a/files/ja/web/css/_colon_focus/index.md +++ b/files/ja/web/css/_colon_focus/index.md @@ -2,44 +2,46 @@ title: ':focus' slug: 'Web/CSS/:focus' tags: + - ':focus' - CSS - - Layout - - Reference - - Web - - ウェブ - - セレクター - レイアウト - 擬似クラス - - 疑似クラス + - リファレンス + - セレクター + - ウェブ +browser-compat: css.selectors.focus translation_of: 'Web/CSS/:focus' --- -
{{CSSRef}}
+{{CSSRef}} -

:focusCSS擬似クラスで、フォーカスを持っている (フォームの入力のような) 要素を表します。普通はユーザーが要素をクリックやタップをしたり、キーボードの[タブ]キーで選択したりしたときです。

+**`:focus`** は [CSS](/ja/docs/Web/CSS) の[擬似クラス](/ja/docs/Web/CSS/Pseudo-classes)で、フォーカスを持っている (フォームの input のような) 要素を表します。普通はユーザーが要素をクリックやタップをしたり、キーボードの Tab キーで選択したりしたときです。 -
/* フォーカスを持つ <input> 要素を選択 */
+```css
+/* フォーカスを持つ  要素を選択 */
 input:focus {
   color: red;
-}
+} +``` -
-

メモ: この擬似クラスはフォーカスを持つ要素に対してのみ適用されます。フォーカスを持つ要素を含む要素を選択したい場合は、 {{CSSxRef(":focus-within")}} を使用してください。

-
+> **Note:** この擬似クラスはフォーカスを持つ要素に対してのみ適用されます。フォーカスを持つ要素を*含む*要素を選択したい場合は、{{CSSxRef(":focus-within")}} を使用してください。 -

構文

+## 構文 {{CSSSyntax}} -

+

-

HTML

+### HTML -
<input class="red-input" value="I'll be red when focused."><br>
-<input class="blue-input" value="I'll be blue when focused.">
+```html +
+
+``` -

CSS

+### CSS -
.red-input:focus {
+```css
+.red-input:focus {
   background: yellow;
   color: red;
 }
@@ -47,71 +49,34 @@ input:focus {
 .blue-input:focus {
   background: yellow;
   color: blue;
-}
- -

結果

- -

{{EmbedLiveSample("Example")}}

- -

アクセシビリティの考慮事項

- -

視覚的なフォーカスインジケーターが、弱視の人々からも見えるように確認してください。これは外光が明るい場所 (太陽の下の屋外など) で画面を使用するすべての人にも利益になります。 WCAG 2.1 SC 1.4.11 Non-Text Contrast は、視覚的なフォーカスインジケーターを少なくとも 3:1 にすることを要求しています。

- - - -

:focus { outline: none; }

- -

WCAG 2.1 SC 1.4.11 Non-Text Contrast を満たすフォーカスの輪郭線で置き換えることなく、フォーカスの輪郭線 (視覚的なフォーカスインジケーター) を単に削除しないでください。

- - - -

仕様書

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
仕様書状態備考
{{SpecName("HTML WHATWG", "scripting.html#selector-focus", ":focus")}}{{Spec2("HTML WHATWG")}}HTML に依存した意味論を定義。
{{SpecName("CSS4 Selectors", "#focus-pseudo", ":focus")}}{{Spec2("CSS4 Selectors")}}変更なし。
{{SpecName("CSS3 Selectors", "#the-user-action-pseudo-classes-hover-act", ":focus")}}{{Spec2("CSS3 Selectors")}}変更なし。
{{SpecName("CSS2.1", "selector.html#dynamic-pseudo-classes", ":focus")}}{{Spec2("CSS2.1")}}初回定義。
- -

ブラウザーの互換性

- -
-

{{Compat("css.selectors.focus")}}

-
- -

関連情報

- - +} +``` + +### 結果 + +{{EmbedLiveSample("Examples")}} + +## アクセシビリティの考慮 + +視覚的なフォーカスインジケーターが、弱視の人々からも見えるように確認してください。これは外光が明るい場所 (太陽の下の屋外など) で画面を使用するすべての人にも利益になります。 [WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) は、視覚的なフォーカスインジケーターを少なくとも 3:1 にすることを要求しています。 + +- Accessible Visual Focus Indicators: [Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators](https://www.deque.com/blog/give-site-focus-tips-designing-usable-focus-indicators/) + +### `:focus { outline: none; }` + +[WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) を満たすフォーカスの輪郭線で置き換えることなしに、フォーカスの輪郭線 (視覚的なフォーカスインジケーター) を削除しないでください。 + +- Quick Tip: [Never remove CSS outlines](https://a11yproject.com/posts/never-remove-css-outlines/) + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- {{CSSxRef(":focus-visible")}} +- {{CSSxRef(":focus-within")}} -- cgit v1.2.3-54-g00ecf