From f9f239d19dd82914c8a04518732fa195336b2c18 Mon Sep 17 00:00:00 2001 From: Wind1808 <42607060+Wind1808@users.noreply.github.com> Date: Sun, 2 May 2021 22:41:33 +0900 Subject: ARIA: feed ロールの更新 (#709) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accessibility/aria/roles/feed_role/index.html | 66 ++++++++++------------ 1 file changed, 31 insertions(+), 35 deletions(-) (limited to 'files/ja/web/accessibility/aria/roles') diff --git a/files/ja/web/accessibility/aria/roles/feed_role/index.html b/files/ja/web/accessibility/aria/roles/feed_role/index.html index ca699a87dc..579a6feb7f 100644 --- a/files/ja/web/accessibility/aria/roles/feed_role/index.html +++ b/files/ja/web/accessibility/aria/roles/feed_role/index.html @@ -7,31 +7,28 @@ tags: - Accessibility translation_of: Web/Accessibility/ARIA/Roles/Feed_Role --- -
\{{ariaref}}
+フィード (feed
) は動的にスクロール可能な記事 (article
) のリスト (list
) で、ユーザーがスクロールすると記事がリストのどちらかの端から追加または削除されます。 フィード (feed
) により、スクリーンリーダーは閲覧モードの読み取りカーソルを使用して、リッチコンテンツのストリームを読み込みながらスクロールすることを可能にし、ユーザーが読むにつれてコンテンツをさらにロードすることで無限にスクロールし続けることができます。
フィード(feed
)は動的にスクロール可能な記事(article
)のリスト(list
)で、ユーザーがスクロールすると記事がリストの両端から追加または削除されます。 feed
を使用すると、スクリーンリーダーはブラウズモードの読み取りカーソルを使用して、ユーザーが読むにつれてより多くのコンテンツをロードすることで無限にスクロールし続けることができるリッチコンテンツのストリームを読み、スクロールすることができます。
<section role="feed"aria-busy="false"
> +<section role="feed" aria-busy="false"> ... - <tweet role="article" aria-posinset="427"-aria-setsize="-1"
>...</tweet> - <tweet role="article" aria-posinset="428"aria-setsize="-1"
>...</tweet> - <tweet role="article" aria-posinset="429"aria-setsize="-1"
>...</tweet> + <article aria-posinset="427" aria-setsize="-1">...</article> + <article aria-posinset="428" aria-setsize="-1">...</article> + <article aria-posinset="429" aria-setsize="-1">...</article> ... </section>Description
+説明
--フィード(feed)は、スクロール可能な記事(
+article
)のリスト(list)のためのページ構造であり、スクロールすることで、リストの先頭または末尾に記事が追加され、ウェブページと、スクロールインタラクションを制御する支援技術との間の相互運用契約が確立され、ユーザーが記事を読み、記事を前後にジャンプし、読み取りモードで新しい記事を確実にロードするようにします。 例としては、RSS フィード、ニュースフィード、Facebook(フェイスブック)、Instagram(インスタグラム)、Twitter(ツイッター)などのソーシャルメディアフィード、さらには電子商取引ページ上の関連商品のリストなどがあります。 これらのストリームは有限か無限であり、ユーザーがスクロールするにつれてより多くのコンテンツをロードします。 フィードパターンを実装することで、スクリーンリーダーは読み取りモードを維持しながら、確実に読み取り、フィードコンテンツのロードをトリガーすることができます。フィードは、スクロール可能な記事 (
-article
) のリスト (list) のためのページ構造であり、スクロールすることで、リストの先頭または末尾に記事が追加される場合があります。 このリストは、ウェブページと支援技術との間の相互運用契約を確立するもので、支援技術のユーザーが記事を読み、記事を前後にジャンプし、読み取りモードで新しい記事を確実にロードできるように、スクロールのインタラクションを管理します。 例としては、RSS フィード、ニュースフィード、Facebook (フェイスブック) 、Instagram (インスタグラム) 、Twitter (ツイッター) などのソーシャルメディアフィード、さらには電子商取引ページ上の関連商品のリストなどがあります。 これらのストリームは有限か無限であり、ユーザーがスクロールするにつれてコンテンツをさらにロードします。 フィードパターンを実装することで、スクリーンリーダーは読み取りモードでフィードコンテンツを確実に読み取り、ロードをトリガーすることができます。+
フィード (
-feed
) は、コンテナ要素であり、その子は {{htmlelement("article")}} であるか、記事 (article
) ロールを持ちます。 フィード内の各記事は、tabindex
が 0 または -1 でフォーカス可能であるべきです。 記事またはその子孫要素にフォーカスが移ったときに、記事をスクロールして表示するべきです。 記事の追加がブラウザーのメインスレッドを占有する場合は、フィード自体にaria-busy="true"
を設定し、処理が終了したら必ずfalse
に戻すようにしてください。 そうしないと、ユーザーに更新が表示されない場合があります。+
feed
は、コンテナ要素であり、その子は {{htmlelement("article")}} であるか、article
ロールを持ちます。 フィード内の各記事は、tabindex
が 0 または -1 でフォーカス可能であるべきです。 記事またはその子孫要素にフォーカスが移ったときに、記事をスクロールして表示するべきです。 記事の追加がメインのブラウザースレッドを占有している場合は、フィード自体にaria-busy="true"
を設定し、処理が終了したりユーザーに更新が表示されない場合はfalse
に設定し直してください。優れたユーザーエクスペリエンスを確保するため、フィード (
-feed
) の途中で記事を挿入または削除しないようにし、ユーザーがフィードの末端に到達する前に新しい記事をロードし、キーボードユーザーがフィード内をナビゲートできるように記事間でフォーカスを移動するためのキーボードコマンドを提供します。 下記のキーボードインタラクションを参照してください。優れたユーザーエクスペリエンスを確保するため、フィードの途中で記事を挿入または削除しないようにし、ユーザーがフィードの終わりに達する前に新しい記事をロードし、記事間でフォーカスを移動するためのキーボードコマンドを提供して、キーボードユーザーがフィード内をナビゲートできるようにします。 下記のキーボードインタラクションを参照してください。
+
- 記事の数がわかっている場合は、記事自体にaria-setsize
を設定してください。 ただし、総数が非常に大きい場合、不明確な場合、または頻繁に変わる場合は、aria-setsize="-1"
を設定してフィードのサイズがわからないことを示します。記事の数がわかっている場合は、記事自体に
-aria-setsize
を設定してください。 ただし、総数が非常に大きい場合、不明確な場合、または頻繁に変わる場合は、aria-setsize="-1"
を設定してフィードのサイズがわからないことを示します。フィードパターンのもう1つの特徴は、斜め読みです。 フィード内の記事には、
+aria-label
によるアクセス可能な名前とaria-describeby
による説明の両方を含めることで、記事をナビゲートするときに、ラベルの後にどの要素を話すべきかをスクリーンリーダーに提案することができます。 タイトルと主要コンテンツを提供する記事内の要素を識別することによって、支援技術は、ユーザが記事から記事へとジャンプし、どの記事がより注目に値するかを効率的に見分けることを可能にする機能を提供できます。フィードパターンのもう1つの特徴は、斜め読みです。 フィード内の記事には、
aria-label
によるアクセス可能な名前とaria-describeby
による説明の両方を含めることで、記事をナビゲートするときに、ラベルの後にどの要素を話すべきかをスクリーンリーダーに提案することができます。 タイトルと主要コンテンツを提供する記事内の要素を特定することで、支援技術は、ユーザが記事から記事へとジャンプし、読みたい記事を効率的に見分けることを可能にする機能を提供できます。フィードパターンは、ウェブページと支援技術の間に次の相互運用性に関する合意を確立することによって、信頼できる支援技術の読み取りモードでのインタラクションを可能にします。
@@ -39,22 +36,21 @@ translation_of: Web/Accessibility/ARIA/Roles/Feed_Roleフィードのコンテキストでは、ウェブページのコードは次の責任を負います。
- どの記事に DOM フォーカスが含まれているかに基づいて、コンテンツを適切に視覚的にスクロールします。
-- どの記事に DOM フォーカスが含まれているかに基づいて、フィード記事をロードまたは削除する。
+- どの記事に DOM フォーカスが含まれているかに基づいて、フィード記事をロードまたは削除します。
フィードのコンテキストでは、読み取りモードを持つ支援技術は次の責任を負います。 --
- 記事要素またはその子孫の1つに DOM フォーカスがあることを確認して、どの記事に読み取りカーソルがあるかを示します。
+- 記事要素またはその子孫の1つに DOM フォーカスがあることを保証することで、どの記事に読み取りカーソルがあるかを示します。
- DOM フォーカスを次の記事および前の記事に移動するための読み取りモードキーを提供します。
-- 読み取りカーソルと DOM フォーカスをフィードの終わりを超えてフィードの開始前に移動するための読み取りモードキーを提供します。
+- 読み取りカーソルと DOM フォーカスをフィードの終わりより後ろとフィードの始まりより前に移動するための読み取りモードキーを提供します。
+ キーボードインタラクション
-フォーカスがフィード内にある場合は、次のような、または同様のインターフェースをサポートすることをお勧めします。
+フォーカスがフィード内にある場合は、次のような、または同様のインターフェイスをサポートすることをお勧めします。
-
- Page Down: 次の記事にフォーカスを移動します。
@@ -63,36 +59,29 @@ translation_of: Web/Accessibility/ARIA/Roles/Feed_Role- Control + Home: フィードの前方で最初にフォーカス可能な要素にフォーカスを移動します。
ブログ投稿のフィード内のコメントフィードなど、フィード内にネストしたフィードがある場合の慣例は、Tab キーでネストしたフィードにタブで移動し、「外側の」記事からその記事内にネストしたフィードの最初の項目に移動するための Alt + Page Down などの別のキーを提供することです。 メインフィードとネストしたフィードの間をナビゲートするには、Control + End で内側のフィードから外側のフィードの次の記事にフォーカスを移動します。
-ブログ投稿のフィード内のコメントフィードなど、フィードがフィード内にネストしている場合、慣例では、Tab キーでネストしているフィードにタブ移動で入り、「外側の」記事からその記事内にネストしているフィードの最初の項目にナビゲートするための Alt + Page Down などの別のキーを提供します。 ネストしているフィードとメインフィードの間をナビゲートするには、Control + End で内側のフィードから外側のフィードの次の記事にフォーカスを移動します。
-- - 関連する WAI-ARIA のロール、ステート、プロパティ
-
- aria-label
-- フィードに目に見えるタイトルがない場合、
+feed
要素にはaria-label
で指定されたラベルがあります。 もしそうなら、aria-labelledby
を見てください。- フィードに目に見えるタイトルがない場合、フィード (
feed
) 要素はaria-label
で指定されたラベルを持ちます。 もしそうしている場合は、aria-labelledby
を参照してください。- aria-labelledby
-- フィードに目に見えるタイトルがある場合、
+feed
要素はタイトルを含む要素を参照するaria-labelledby
を持ちます。 そうでない場合は、aria-label
を追加してください。- フィードに目に見えるタイトルがある場合、フィード (
feed
) 要素はタイトルを含む要素を参照するaria-labelledby
を持ちます。 そうでない場合は、aria-label
を追加してください。- aria-busy
-- 記事をフィードに追加または削除しているときなど、忙しい場合は、更新操作中に
+aria-busy="true
" を設定します。 操作が完了するか、変更が見えなくなる可能性がある場合は、必ずfalse
にリセットしてください。- 記事をフィード (
feed
) に追加または削除しているときなど、忙しい場合は、更新操作中にaria-busy="true"
を設定します。 操作が完了したら、必ずfalse
にリセットしてください。 そうしないと、変更結果を見ることができないかもしれません。- article
-- フィード内のコンテンツの各セクションは、{{htmlelement("article")}} または
+article
ロールを持つ要素に含めるべきです。 各記事(article
)は、その記事のタイトルまたは識別ラベルとして役立つその他の子を参照するaria-labelledby
を持つべきです。 各記事は、好ましくは、その記事の主要なコンテンツとして役立つ記事内の1つまたは複数の要素を参照するaria-describedby
を持つべきです。 各記事要素は、フィード内の位置を表す値に設定されたaria-posinset
と、ロードされた記事の総数またはフィード内の総数を表す値のどちらかに設定されたaria-setsize
を持ちます。 それは、どちらの値がユーザーにとってより役立つかによって異なります。 フィード内の総数がわからない場合は、aria-setsize="-1"
を設定してください。- フィード内のコンテンツの各セクションは、{{htmlelement("article")}} または記事 (
article
) ロールを持つ要素に含まれているべきです。 各記事 (article
) は、その記事のタイトルまたは識別ラベルとしての機能を果たすその他の子を参照するaria-labelledby
を持つべきです。 各記事は、好ましくは、その記事の主要コンテンツとしての機能を果たす記事内の1つ以上の要素を参照するaria-describedby
を持つべきです。 各記事 (article
) 要素は、フィード内の位置を表す値に設定されたaria-posinset
と、ロード済みの記事の総数またはフィード内の総数を表す値のどちらかに設定されたaria-setsize
を持ちます。 それは、どちらの値がユーザーにとってより役立つかによって異なります。 フィード内の総数がわからない場合は、aria-setsize="-1"
を設定してください。
-
必要な JavaScript 機能
-なし(任意の属性が必要とする場合を除く。 例えば、必要に応じて更新操作中に
+aria-busy
をtrue
に設定し、完了したらfalse
に設定します。)なし (任意の属性が必要とする場合を除く。 例えば、必要に応じて更新操作中に
aria-busy
をtrue
に設定し、完了したらfalse
に設定します。)例
-フィードパターンの実装例(英語)
+フィードパターンの実装例 (英語)
仕様
@@ -119,6 +108,13 @@ translation_of: Web/Accessibility/ARIA/Roles/Feed_Role