From e9207b7310c782874794c128cb6840f23937850d Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 23 May 2021 15:52:47 +0900 Subject: Web/Accessibility/ARIA を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/04/29 時点の英語版に同期 --- files/ja/web/accessibility/aria/index.html | 158 ++++++++++++++--------------- 1 file changed, 79 insertions(+), 79 deletions(-) (limited to 'files/ja/web/accessibility') diff --git a/files/ja/web/accessibility/aria/index.html b/files/ja/web/accessibility/aria/index.html index a262674af4..f60548c7fe 100644 --- a/files/ja/web/accessibility/aria/index.html +++ b/files/ja/web/accessibility/aria/index.html @@ -7,120 +7,120 @@ tags: - HTML translation_of: Web/Accessibility/ARIA --- -

Accessible Rich Internet Applications (ARIA) は Web コンテンツや Web アプリケーション (特に Ajax や JavaScript や Bootstrap のようなより最新のウェブ技術を伴って開発するもの) を、ハンディキャップを持つ人々にとってよりアクセシブルにする方法を定義します。例えば、ARIA はナビゲーションの目印、JavaScript ウィジェット、フォームのヒントやエラーメッセージ、動的なコンテンツ更新などをアクセシブルにします。

+

Accessible Rich Internet Applications (ARIA) はウェブコンテンツやウェブアプリケーション (特に JavaScript で開発するもの) を、ハンディキャップを持つ人々にとってよりアクセシブルにする方法を定義します。

-

ARIA は任意のマークアップに追加できる特別なアクセシビリティの属性のセットですが、とりわけ HTML に適応しています。role 属性は、オブジェクトの一般的な型が何か (article、alert、slider など) を定義します。付加的な ARIA の属性は他の役に立つ特性、例えばフォームの説明やプログレスバーの現在の値を提供します。ARIA の属性はオブジェクト(特にボタン)のアクティブ/無効化の状態を指定するのにも使われます。

+

ARIA は、アプリケーションで一般的に使用されている対話操作やウィジェットを、他のメカニズムがない場合に支援技術に渡すことができるように HTML を補完します。例えば ARIA は、 HTML4 のアクセシブルナビゲーションランドマーク、 JavaScript のウィジェット、フォームのヒントやエラーメッセージ、ライブコンテンツの更新などを可能にします。

-

スクリーンリーダーにその要素が無視できるのを教える aria-hidden 属性は、ブラウザーに表示しないよう教える HTML5 の hidden 属性と混用されるべきではありません。

+
+

これらのウィジェットの多くは、後に HTML5 に組み込まれました。意味的に正しい HTML 要素が存在するのであれば、 ARIA を使用するよりも、その要素を使用したほうがいいでしょう。例えば、ネイティブな要素にはキーボードのアクセシビリティや役割、状態が組み込まれています。しかし、 ARIA を使用する場合は、スクリプトで (同等の) ブラウザーの動作を模倣する責任があります。

+
+ +

プログレスバーウィジェットのためのマークアップです。

+ +
<div id="percent-loaded" role="progressbar" aria-valuenow="75"
+     aria-valuemin="0" aria-valuemax="100">
+</div>
+
+ +

このプログレスバーは、意味を持たない <div> を使って作られています。残念ながら、 HTML 4 には開発者が利用できるより意味のある要素がないので、 ARIA の役割とプロパティを追加する必要があります。要素に属性を追加することでこれを指定します。この例では、 role="progressbar" 属性により、この要素が実際には JavaScript を使用したプログレスバーウィジェットであることをブラウザーに伝えています。 aria-valuemin および aria-valuemax 属性はプログレスバーの最小値と最大値を指定し、 aria-valuenow は現在の状態を表すため、 JavaScript から更新し続けます。

+ +

マークアップに直接配置するとともに、 ARIA の属性を要素に追加して、次のような JavaScript コードを使用して動的に更新することができます。

+ +
// プログレスバーの <div> を DOM 内で探す。
+var progressBar = document.getElementById("percent-loaded");
+
+// ARIA ロールと状態を設定することで、
+// 支援技術がウィジェットの種類を知ることができる。
+progressBar.setAttribute("role", "progressbar");
+progressBar.setAttribute("aria-valuemin", 0);
+progressBar.setAttribute("aria-valuemax", 100);
 
-

ARIA は、ほとんどの一般的なブラウザーやスクリーンリーダーに実装されています。ただし実装状況はまちまちであり、また古い技術では (どうあっても) それを十分にサポートしていません。上手に退行する "安全な" ARIA を使用するか、新しい技術へのアップグレードをユーザーに求めましょう。

+// プログレスバーの値を更新したいときにいつでも呼び出せる +// 関数を作成する。 +function updateProgress(percentComplete) { + progressBar.setAttribute("aria-valuenow", percentComplete); +}
-

注記: ぜひ貢献して、後進のために ARIA をよりよくしてください! 十分な時間がありませんか? でしたら、Mozilla のアクセシビリティメーリングリストIRC の #accessibility チャンネルで提案してください。

+

ARIA は HTML4 以降に導入されたため、 HTML4 や XHTML の派生形では検証できません。ただし、技術的に問題があっても、それを上回るアクセシビリティの向上が得られます。

+ +

HTML5 では、すべての ARIA 属性が有効です。新しいランドマーク要素 (<main>, <header>, <nav> など) は ARIA ロールに組み込まれたため、重複指定する必要はありません。

-
-
-

ARIA 入門

+

対応

-
-
ARIA の紹介
-
ARIA で動的コンテンツをアクセシブルにする方法の簡単な紹介です。2008 年に作成された、定評のある Gez Lemon 氏による ARIA の紹介もご覧ください。
-
Web アプリケーションと ARIA の FAQ
-
WAI-ARIA に関する一般的な質問や、なぜ Web アプリケーションをアクセシブルにすることが必要かに対する回答です。
-
Videos of Screen Readers Using ARIA
-
ARIA の導入 "前" および "後" を含む、Web の方々から集めた簡単な実例のビデオをご覧ください。
-
Using ARIA
-
-

開発者向けの実践的なガイドです。HTML 要素で使用する ARIA 属性は何かについて提案しています。提案内容は、実際の実装状況に基づいています。

-
-
+

他のウェブ技術と同様に、 ARIA の対応には様々な程度があります。対応の程度は、使用しているオペレーティングシステムとブラウザー、それらと連携している支援技術の種類によって異なります。また、OS、ブラウザー、支援技術のバージョンも要因となります。古いバージョンのソフトウェアは、特定の ARIA ロールを対応していなかったり、部分的にしか対応していなかったり、機能を誤って報告していたりする可能性があります。

-

簡単な ARIA の強化

+

また、支援技術に依存している人の中には、コンピューターやブラウザーとのやり取りができなくなることを恐れて、ソフトウェアの更新に消極的な人がいることも認識しておく必要があります。そのため、できるだけ意味を持った HTML 要素を使用することが重要です。意味を持った HTML は、支援技術への対応がはるかに優れているからです。

-
-
Enhancing Page Navigation with ARIA Landmarks
-
スクリーンリーダーの利用者向けに Web ページのナビゲーションを向上させるための、ARIA landmark の使用法を紹介します。ARIA landmark の実装状況の覚え書きや実際のサイトでの例もご覧ください (2011 年 7 月更新)。
-
フォームのアクセシビリティ向上
-
ARIA は動的コンテンツのためだけのものではありません! 付加的な ARIA の属性を使用して HTML フォームのアクセシビリティを向上させる方法を学びましょう。
-
Live regions (作成中)
-
Live region は、ページのコンテンツの変化をどのように制御するかに関する提案を、スクリーンリーダーに与えます。
-
Using ARIA Live Regions to Announce Content Changes
-
スクリーンリーダーソフトウェア JAWS の作者による、Live region の簡単な概説です。なお、live region は Firefox での NVDA や、Safari での VoiceOver (OS X Lion および iOS 5) でもサポートされています。
-
+

また、作成した ARIA を実際の支援技術でテストすることも重要です。ブラウザーのエミュレーターやシミュレーターを使っても、完全な対応をテストするために効果的ではないのと同様に、代理の支援技術ソリューションを使用しても、機能性を完全に保証することはできません。

-

スクリプトウィジェット向け ARIA

+

チュートリアル

-
JavaScript ウィジェット向けのキーボードナビゲーションとフォーカス
-
アクセシブルな JavaScript ウィジェットを作成する最初のステップは、キーボードでナビゲーション可能にすることです。この記事では、そのプロセスを見ていきます。Yahoo! のフォーカス制御に関する記事もすばらしい情報源です。
-
Style Guide for Keyboard Navigation
-
ARIA は、開発者に一貫性のある動作を実装させることに挑戦します。それは明らかにユーザーにとってもっともよいことです。このスタイルガイドは、一般的なウィジェット向けのキーボードインターフェイスを説明します。
+
ARIA 入門
+
ARIA で動的コンテンツをアクセシブルにする方法の簡単な紹介です。2008 年に作成された、定評のある Gez Lemon 氏による ARIA の紹介もご覧ください。
+
Videos of screen readers using ARIA
+
ARIA の導入「前」および「後」を含む、ウェブ中の簡単な実例のビデオをご覧ください。
+
Using ARIA
+
開発者向けの実践的なガイドです。HTML 要素で使用する ARIA 属性は何かについて提案しています。提案内容は、実際の実装状況に基づいています。
-

リファレンス

+

単純な ARIA の強化

-
ウィジェット技術、チュートリアル、サンプル
-
スライダー、メニュー、あるいは他のウィジェットが必要ですか? こちらで情報を見つけましょう。
-
ARIA が有効な JavaScript UI ライブラリ
-
新たなプロジェクトを始める場合は、ARIA サポートが組み込まれた UI ウィジェットライブラリを選択しましょう。注意: これは 2009 年から存在する記事です。更新することが可能な MDN のページへコンテンツを移行すべきでしょう。
+
Enhancing page navigation with ARIA landmarks
+
画面リーダーの利用者向けにウェブページのナビゲーションを向上させるための、 ARIA landmark の使用法を紹介します。 ARIA landmark の実装状況の覚え書きや実際のサイトでの例もご覧ください (2011 年 7 月更新)。
+
フォームのアクセシビリティ向上
+
ARIA は動的コンテンツのためだけのものではありません! 付加的な ARIA の属性を使用して HTML フォームのアクセシビリティを向上させる方法を学びましょう。
+

スクリプトウィジェット向け ARIA

+
-
Role attribute-ARIA
-
role 属性の提案。
-
-

-
-
ARIA サンプルライブラリ
-
学びやすくなっている、要点のサンプルファイルを集めています。
-
アクセシブルな JS ウィジェットライブラリのデモ
-
jQuery, YUI
+
キーボードで操作可能な JavaScript ウィジェットを書く
+
<input> や <button> などのような組み込み要素は、キーボードのアクセシビリティが組み込まれています。これらを <div>s と ARIA で「偽装」する場合は、ウィジェットがキーボードでアクセシブルであることを保証する必要があります。
+
ライブリージョン
+
ライブリージョンは、ページのコンテンツが変更された場合に、画面リーダーにどのように対処すべきかを提案します。
+
Using ARIA Live Regions to announce content changes
+
画面リーダーソフトウェア JAWS のメーカーによる、ライブリージョンについての簡単なまとめです。ライブリージョンは、 Firefox と NVDA、 Safari と VoiceOver でも対応しています。
-

標準化の取り組み

+

リファレンス

-
W3C の WAI-ARIA 活動の概要
-
Web Accessibility Initiative (WAI) による、WAI-ARIA の標準化の取り組みに関する権威ある概要です。
+
ARIA ロール
+
MDN 上のすべての WAI-ARIA ロールをカバーするリファレンスページです。
-WAI-ARIA 仕様 + +

標準化の取り組み

-
W3C の仕様そのものであり、リファレンスとして有用です。まだ実装に不一致がみられるため、現時点では互換性のテストが重要であることに注意してください。
-
WAI-ARIA Authoring Practices
-
W3C の WAI-ARIA 仕様と同様に、将来の理想 (さまざまなブラウザーやスクリーンリーダーで一貫性のある ARIA サポートに作成者が頼れるとき) を表した公式のベストプラクティスです。W3C のドキュメントは ARIA の深い視点をもたらします。
-
- 今のところ、ARIA を実装する Web 開発者は互換性を最大化するべきです。現在の実装状況に基づいて、ベストプラクティスのドキュメントやサンプルを使用しましょう。
-
Open AJAX Accessibility Task Force
-
Open AJAX は、ARIA の開発ツール、サンプルファイル、自動テストを中心に取り組んでいます。
-
作成中: WCAG 2.0 ARIA Techniques
+
WAI-ARIA 仕様書
+
W3C の仕様書そのものです。
+
WAI-ARIA Authoring Practices
-

コミュニティは WAI-ARIA + HTML 向けの WCAG 技術の完全なセットを求めており、それにより組織は自身の ARIA が有効なコンテンツが WCAG に準拠するという要求を満たすことができます。これは主として、規則や方針が WCAG に基づいている場合に重要です。

+

一般的なウィジェットや対話操作をどのように ARIA 化するのが最良なのかを記述した、公式のベストプラクティス文書です。優れたリソースです。

-
-
-

ブログ

+

動画

-

ブログ上の ARIA に関する情報は、早々に古くなってしまう傾向があります。それでも、現在 ARIA に取り組んでいる他の開発者が提供したすばらしい情報があります。

- -

Paciello Group

- -

動画

- -

Following talks are a great way to understand ARIA:

+

ARIA を理解するには、以下の講演が最適です。

ARIA, Accessibility APIs and coding like you give a damn! – Léonie Watson

-

バグ報告

+

バグ報告

-

ブラウザー、スクリーンリーダー、JavaScript ライブラリの ARIA に関するバグを報告してください

-
-
+

ブラウザー、スクリーンリーダー、JavaScript ライブラリの ARIA に関するバグを報告してください

+ + - +

Accessibility, AJAX, JavaScript

-

Accessibility, AJAX, JavaScript

+ -- cgit v1.2.3-54-g00ecf