大众计算机学习网

专门提供各种电脑教程

详细介绍Flash的_accProps属性

Admin | 2012-1-1 8:40:07 | 被阅次数 | 3942

  _accProps 属性

  _accProps.propertyName
  instanceName._accProps.propertyName

  允许您在运行时控制 SWF 文件、影片剪辑、按钮、动态文本字段和输入文本字段的屏幕读取器辅助功能选项。这些属性将覆盖创作过程中在"辅助功能"面板中可用的相应设置。为使对这些属性的更改生效,您必须调用 Accessibility.updateProperties()。

  有关"辅助功能"面板的信息,请参见使用 Flash 中的"Flash 辅助功能面板"。

  若要确定播放器是否运行在支持辅助功能的环境中,请使用 System.capabilities.hasAccessibility() 方法。

  下表列出了每个 _accProps 属性的名称和数据类型、它在"辅助功能"面板中的等效设置以及可以应用该属性的对象类型。术语反转逻辑 是指该属性设置与"辅助功能"面板中的相应设置相反。例如,将 silent 属性设置为 true 等效于取消选择"使影片可访问"或"使对象可访问"选项。

  属性    数据类型    "辅助功能"面板中的等效设置       应用于 

  silent   Boolean   使影片可访问/使对象可访问(反逻辑)  整个 SWF 文件 影片剪辑 按钮 动态文本 输入文本 
 forceSimple Boolean    使子对象可访问(反逻辑)        整个 SWF 文件 影片剪辑
  name  String    名称                  整个 SWF 文件 影片剪辑 按钮 输入文本
 description  String   说明              整个 SWF 文件 影片剪辑 按钮 动态文本 输入文本
  shortcut  String   快捷键            影片剪辑 按钮 输入文本

  对于"快捷键"字段,应使用 Ctrl+A 格式的名称。向"辅助功能"面板添加一个键盘快捷键不会创建键盘快捷键;它只会向屏幕读取器告知现有快捷键。有关向可访问对象分配快捷键的信息,请参见 Key.addListener()。

  若要指定对应于"辅助功能"面板中的"选项卡"索引设置的设置,请使用 Button.tabIndex、MovieClip.tabIndex 或 TextField.tabIndex 属性。

  无法在运行时指定"自动标签"设置。

  若要引用表示整个 Flash 文档的 _accProps 对象,请省略 instanceName 参数。_accProps 的值必须是一个对象。这表示如果不存在 _accProps 对象,则您必须创建一个对象,才能为 _accProps 对象的属性分配值,如以下示例所示:

  if ( _accProps == undefined )
  {
   _accProps = new Object();
  }
  _accProps.name = "My SWF file";

  使用不带 instanceName 参数的 _accProps 时,对 _accProps 属性所做的更改会应用于整个 SWF 文件。  例如,以下代码将整个 SWF 文件的辅助功能 name 属性设置为字符串 "Pet Store",然后调用Accessibility.updateProperties() 来促成该更改:

  _accProps.name = "Pet Store";
  Accessibility.updateProperties();

  相反,以下代码将实例名称为 price_mc 的影片剪辑的 name 属性设置为字符串 "Price":

  price_mc._accProps.name = "Price";
  Accessibility.updateProperties();

  如果您要指定若干辅助功能属性,则应在调用 Accessibility.updateProperties() 前进行尽可能多的更改,而不是在每个属性语句后调用它,如以下示例所示:

  _accProps.name = "Pet Store";

  animal_mc._accProps.name = "Animal";
  animal_mc._accProps.description = "Cat, dog, fish, etc.";

  price_mc._accProps.name = "Price";
  price_mc._accProps.description = "Cost of a single item";

  Accessibility.updateProperties();

  如果您没有指定文档或对象的辅助功能属性,则实现在"辅助功能"面板中设置的任意值。

  在指定一个辅助功能属性后,就不能将它的值还原为在"辅助功能"面板中设置的值。但是,可以通过从 _accProps 对象删除属性将该属性设置为其默认值(布尔值为 false;字符串值为空字符串),如以下示例所示:

   my_mc._accProps.silent = true; // set a property
  // other code here
  delete my_mc._accProps.silent; // revert to default value

  _accProps 的值必须是一个对象。这表示如果不存在 _accProps 对象,您必须创建一个对象,才能对   _accProps 对象的属性分配线索。

  if (_accProps == undefined)
  {
   _accProps = new Object();
  }
  _accProps.name = "My movie";

  可用性: Flash Player 6,0,65,0; ActionScript 1.0

  参数

  propertyName:Boolean or String - 辅助功能属性名(请参见以下有关有效名称的说明)。 instanceName

  instanceName:String - 分配给影片剪辑、按钮、动态文本字段或输入文本字段的实例的实例名称。若要引用表示整个 Flash 文档的 _accProps 对象,请省略 instanceName。

  示例

  如果更改某个图像并且想要更新它的辅助功能说明,可以使用以下 ActionScript 代码:

  my_mc.gotoAndStop(2);

  if (my_mc._accProps == undefined ) {
   my_mc._accProps = new Object();
  }

  my_mc._accProps.name = "Photo of Mount Rushmore";
  Accessibility.updateProperties();