Adobe Flash Professional バージョン MX 以降
Adobe Flex
これは、次の達成基準に関連する実装方法である:
ユーザーエージェントによるサポートに関する全般的な情報は、Flashのユーザーエージェントによるサポートを参照のこと。
この実装方法の目的は、Flash で提供されるフォーム・コンポーネントに組み込むアクセシブルな名前を設定することである。ラジオボタン、チェックボックス、ボタンなど、コンポーネントによっては自身に固有な「ラベル」プロパティが既に与えられているが、その他のコンポーネントについては、コンテンツ制作者がコンポーネントのアクセシブルな名前となるラベルテキストを指定する必要がある。そのためには、アクセシビリティパネルを使用するか(オーサリング中にステージ上にコンポーネントを配置する場合)、スクリプトを使用する(実行時に動的にコンポーネントを生成する場合)。
ActionScript 2
ActionScript 2 では、コンポーネントの _accProps
プロパティにアクセシブルな名前を設定する必要がある。このプロパティはオブジェクトでなければならない。プロパティがまだ設定されていない場合は、コンテンツ制作者がカスタムオブジェクトを作成して _accProps
プロパティに割り当てる必要がある。場合によっては、1 つのオブジェクトに対し、アクセシブルな名前を指定する _accProps.name
を含む複数のアクセシビリティ関連プロパティがある。_accProps
プロパティを変更した場合、コンテンツ制作者は、Accessibility.UpdateProperties()
を呼び出してその変更を有効にする必要がある。MSAA に対応していない環境でエラーが発生するのを防ぐため、Accessibility.UpdateProperties()
を呼び出す前に System.capabilities.hasAccessibility フラグを確認することを推奨する。
ActionScript 2 には、以下のアクセシブルなコンポーネントが用意されている。
SimpleButton
CheckBox
RadioButton
Label
TextInput
TextArea
ComboBox
ListBox
Window
Alert
DataGrid
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 には、以下のアクセシブルなコンポーネントが用意されている。
Button
CheckBox
ComboBox
List
RadioButton
TileList
コンポーネントコントロールを追加してラベルを付ける手順は次の通りである。
コンポーネントパネルからコンポーネントをステージへドラッグするか、スクリプトを使用して新しいインスタンスを作成する。
新しく作成したコンポーネントインスタンスを選択した状態で、対応するラベルテキストをアクセシビリティパネルの「名前」フィールドに入力する。
次のコード例は、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 を使用してアクセシブルな名前を設定する」のソース(英語)をダウンロードすることもできる。
次のコード例は、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 ムービーについて、以下のいずれかを満たしているか確認する。
選択されているコンポーネントのラベルテキストがアクセシビリティパネルの「名前」フィールドで指定されている。
(ActionScript 2.0 の場合)スクリプトを使用してコンポーネントの _accProps.name
プロパティが動的に設定されている。
(ActionScript 3.0 の場合)スクリプトを使用してコンポーネントの accessibilityProperties.name
プロパティが動的に設定されている。
上記のどれか一つを満たしている。
注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。
日本語訳における注記:
この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。