WCAG 2.0 達成方法集

Skip to Content (Press Enter)

-

FLASH25: アクセシブルな名前を設定することによって、フォーム・コントロールにラベルを付ける

達成方法に関する重要な情報

これらの達成方法(参考)の使用法及び、それらがWCAG 2.0 達成基準(規定)とどのように関係するかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用(対象)セクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法があるからといって、WCAG 2.0 を満たすコンテンツを作成する際に、常にその技術が使用可能であるわけではない。

適用(対象)

これは、次の達成基準に関連する達成方法である:

ユーザエージェント及び支援技術によるサポート

FLASH25 に関するユーザエージェントサポートノート (英語)を参照のこと。Flash テクノロジーノートも参照。

解説

この実装方法の目的は、Flash で提供されるフォーム・コンポーネントに組み込むアクセシブルな名前を設定することである。ラジオボタン、チェックボックス、ボタンなど、コンポーネントによっては自身に固有な label プロパティが既に与えられているが、その他のコンポーネントについては、コンテンツ制作者がコンポーネントのアクセシブルな名前となるラベルテキストを指定する必要がある。そのためには、アクセシビリティパネルを使用するか(オーサリング中にステージ上にコンポーネントを配置する場合)、スクリプトを使用する(実行時に動的にコンポーネントを生成する場合)。

ActionScript 2

ActionScript 2 では、コンポーネントの _accProps プロパティにアクセシブルな名前を設定する必要がある。このプロパティはオブジェクトでなければならない。プロパティがまだ設定されていない場合は、コンテンツ制作者がカスタムオブジェクトを作成して _accProps プロパティに割り当てる必要がある。場合によっては、1 つのオブジェクトに対し、アクセシブルな名前を指定する _accProps.name を含む複数のアクセシビリティ関連プロパティがある。_accProps プロパティを変更した場合、コンテンツ制作者は、Accessibility.UpdateProperties() を呼び出してその変更を有効にする必要がある。MSAA に対応していない環境でエラーが発生するのを防ぐため、Accessibility.UpdateProperties() を呼び出す前に System.capabilities.hasAccessibility フラグを確認することを推奨する。

ActionScript 2 には、以下のアクセシブルなコンポーネントが用意されている。

ActionScript 3

ActionScript 3 では、コンポーネントの accessibilityProperties プロパティにアクセシブルな名前を設定する必要がある。このプロパティは flash.accessibility.AccessibilityProperties のインスタンスでなければならない。プロパティがまだ設定されていない場合は、コンテンツ制作者が新しい AccessibilityProperties インスタンスを作成して accessibilityProperties プロパティに割り当てる必要がある。場合によっては、1 つのオブジェクトに対し、アクセシブルな名前を指定する accessibilityProperties.name を含む複数のアクセシビリティ関連プロパティがある。accessibilityProperties プロパティを変更した場合、コンテンツ制作者は、flash.accessibility.Accessibility.UpdateProperties()を呼び出してその変更を有効にする必要がある。MSAA に対応していない環境でエラーが発生するのを防ぐため、Accessibility.UpdateProperties() を呼び出す前に flash.system.capabilities.hasAccessibility フラグを確認することを推奨する。

ActionScript 3 には、以下のアクセシブルなコンポーネントが用意されている。

事例

事例 1: アクセシビリティパネルを使用してコンポーネントのアクセシブルな名前を設定する

コンポーネントコントロールを追加してラベルを付ける手順は次の通りである。

  1. コンポーネントパネルからコンポーネントをステージへドラッグするか、スクリプトを使用して新しいインスタンスを作成する。

  2. 新しく作成したコンポーネントインスタンスを選択した状態で、対応するラベルテキストをアクセシビリティパネルの「名前」フィールドに入力する。

事例 2: ActionScript 2.0 を使用してアクセシブルな名前を設定する

次のコード例は、ListBox コンポーネントを作成してアクセシブルな名前を割り当てる方法を示している。

コード例:

mx.accessibility.ListAccImpl.enableAccessibility();

this.createClassObject(mx.controls.List, "my_list", 1);
my_list.addItem({label: "R. Davis", data: 1});
my_list.addItem({label: "V. Mann", data: 2});
my_list.addItem({label: "L. Heart", data: 3});
my_list.addItem({label: "P. Hill", data: dt4});
my_list.addItem({label: "D. Gribble", data: 5});
my_list.move(10, 10);

if (System.capabilities.hasAccessibility) {
  my_list._accProps = new Object();
  my_list._accProps.name = "Staff Members";
  Accessibility.updateProperties();
}

この実例は、ActionScript 2.0 を使用してアクセシブルな名前を設定するのサンプル(英語)で確認できる。また、ActionScript 2.0 を使用してアクセシブルな名前を設定するのソース(英語)をダウンロードすることもできる。

事例 3: 事例 3: ActionScript 3.0 を使用してアクセシブルな名前を設定する

次のコード例は、ListBox コンポーネントを作成してアクセシブルな名前を割り当てる方法を示している。

コード例:

import fl.controls.List;
import fl.accessibility.ListAccImpl;
import flash.system.Capabilities;
import flash.accessibility.*;

ListAccImpl.enableAccessibility();
var my_list:List = new List();
my_list.addItem({label:"R. Davis", data:1});
my_list.addItem({label:"V. Mann", data:2});
my_list.addItem({label:"L. Heart", data:3});
my_list.addItem({label:"P. Hill", data:4});
my_list.addItem({label:"D. Gribble", data:5});
my_list.x = my_list.y = 10;

if (Capabilities.hasAccessibility) {
  var accProps:AccessibilityProperties = new AccessibilityProperties();
  accProps.name = "Staff Members";
  my_list.accessibilityProperties = accProps;
  Accessibility.updateProperties();
}
addChild(my_list);

この実例は、ActionScript 3.0 を使用してアクセシブルな名前を設定するのサンプル(英語)で確認できる。また、ActionScript 3.0 を使用してアクセシブルな名前を設定するのソース(英語)をダウンロードすることもできる。

検証

チェックポイント

フォームコンポーネントを含む Flash ムービーについて、以下のいずれかを満たしているか確認する。

  1. 選択されているコンポーネントのラベルテキストがアクセシビリティパネルの「名前」フィールドで指定されている。

  2. (ActionScript 2.0 の場合)スクリプトを使用してコンポーネントの _accProps.name プロパティが動的に設定されている。

  3. (ActionScript 3.0 の場合)スクリプトを使用してコンポーネントの accessibilityProperties.name プロパティが動的に設定されている。

判定基準

上記のどれか一つを満たしている。

この達成方法が「十分な達成方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの達成方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の達成方法によってその達成基準が満たされていることもありうる。