【注意】この文書にはより新しいバージョンが存在します: WCAG 2.1 達成方法集

WCAG 2.0 達成方法集

Skip to Content (Press Enter)

-

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

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

この達成方法 (参考) の使用法と、この達成方法が WCAG 2.0 達成基準 (規定) とどのように関係するのかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用 (対象) のセクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法の存在は、その技術があらゆる状況で WCAG 2.0 を満たすコンテンツを作成するために使用できることを意味するものではない。

適用 (対象)

訳注: Flash Player は、2020 年末に提供を終了する計画が Adobe 社より発表されている (Adobe Blog窓の杜)。

WAIC での Flash に関する翻訳のメンテナンスも積極的に行う予定がないことに留意されたい。

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

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

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

解説

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

ActionScript 2

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

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

ActionScript 3

ActionScript 3 では、コンポーネントの accessibilityProperties プロパティにアクセシブルな名前を設定する必要がある。このプロパティは flash.accessibility.AccessibilityProperties のインスタンスでなければならない。プロパティがまだ設定されていない場合は、コンテンツ制作者が新しい AccessibilityProperties インスタンスを作成して accessibilityProperties プロパティに割り当てる必要がある。場合によっては、一つのオブジェクトに対し、アクセシブルな名前を指定する 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: 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 プロパティが動的に設定されている。

期待される結果

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

この達成方法が「十分な達成方法」の一つである場合、この手順や期待される結果を満たしていなければ、それはこの達成方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の達成方法によってその達成基準が満たされていることもありうる。