WCAG 2.0 実装方法集

メインコンテンツへスキップ

-

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

適用(対象)

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

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

ユーザーエージェントによるサポートに関する全般的な情報は、Flashのユーザーエージェントによるサポートを参照のこと。

解説

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

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.AccessibilityProperties()を呼び出してその変更を有効にする必要がある。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: 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 プロパティが動的に設定されている。

判定基準

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

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

日本語訳における注記:

この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。