Flash CS5操作指南(70)使用 ActionScript 建立辅助功能
- 2021-12-24
- 来源/作者: 本站原创 / 佚名
- 3 次浏览
关于 ActionScript 及辅助功能
您可使用 ActionScript® 程序代码建立辅助功能文件。针对套用于整份文件的辅助功能属性,您可以建立或修改的全局变量名称为_accProps。请参阅「ActionScript 2.0 语言参考」中的_accProps 属性,网址为:www.adobe.com/go/learn_cs5_as2lr_tw。
针对套用到特定对象的属性,您可以使用的语法为instancename._accProps。_accProps 的值是可以包含下列任何属性的对象:备注:在反转逻辑中,ActionScript 中的true 值会对应到「辅助功能」面板中的未选取复选框,而false 值则会对应到「辅助功能」面板中已选取的复选框。
属性 |
类型 |
辅助功能面板中的相等选择 |
套用到 |
.silent |
Boolean |
让影片支持辅助功能/ 让对象支持辅助功能 ( 反转逻辑) |
整份文件按钮影片片段动态文字输入文字 |
.forceSimple |
Boolean |
让子对象支持辅助功能 ( 反转逻辑) |
整份文件影片片段 |
属性 |
类型 |
辅助功能面板中的相等选择 |
套用到 |
.name |
string |
名称 |
整份文件按钮影片片段输入文字 |
.description |
string |
说明 |
整份文件按钮影片片段动态文字输入文字 |
.shortcut |
string |
快捷键 |
按钮影片片段输入文字 |
修改_accProps 变量对其自身不具影响。您必须同时使用Accessibility.updateProperties 方法通知屏幕朗读程序用户关于Flash 内容的变更。呼叫方法会造成 Flash Player 重新检查所有辅助功能属性、为屏幕朗读程序更新属性说明,以及在必要时传送事件到屏幕朗读程序,指出变更已经发生。
一次更新多个对象的辅助功能属性时,请只将单一的呼叫纳入到Accessiblity.updateProperties ( 对屏幕朗读程序进行太频繁的更新会使得某些屏幕朗读程序变的太冗长)。
请参阅「ActionScript 2.0 语言参考」中的Accessibility.updateProperties 方法,网址为:www.adobe.com/go/learn_cs5_as2lr_tw。
以 Accessibility.isActive() 方法实作屏幕朗读程序侦测
如果要在屏幕朗读程序为作用中时,建立以特定方法执行的 Flash 内容,请使用Accessibility.isActive() ActionScript 方法会在启用屏幕朗读程序时传回true 值,反之则传回false 值。接着,您可以设计 Flash 内容,以使用屏幕朗读程序的兼容方法来执行 ( 例如在屏幕朗读程序中隐藏子元素)。如需详细信息,请参阅「ActionScript 2.0 语言参考」中的Accessibility.isActive 方法,网址为:www.adobe.com/go/learn_cs5_as2lr_tw。
例如,您可以使用Accessibility.isActive 方法来决定是否并入主动提供的动画。来路不明的动画不需屏幕朗读程序执行任何动作就会出现,这样可能会造成屏幕朗读程序混淆。
Accessibility.isActive() 方法会在 Flash 内容及 Flash Player 间提供不同步的通讯;呼叫方法的时间与 Flash Player 作用中的时间中间会有些微的实时延迟,并会传回不正确的false 值。若要确保正确地呼叫方法,您可以执行下列步骤之一:
• 当首次播放内容时,不呼叫Accessibility.isActive()Flash 方法,而改在每次您必须决定辅助功能时呼叫。
• 在您文件开始的第一两秒钟内采用短暂延迟,给予 Flash 内容足够时间来联络 Flash Player。
例如,您可使用onFocus 事件将此方法附加到按钮中。这个方法通常可以给予 SWF 档足够的时间来加载,而您可以放心地假设屏幕朗读程序用户会用 Tab 键跳到「舞台」上的第一个按钮或对象。
使用 ActionScript 建立辅助功能对象的定位键顺序
若要使用 ActionScript® 程序代码建立制表位顺序,请指定下列对象的tabIndex 属性:
• 动态文字
• 输入文字
• 按钮
• 影片片段,包括编译后的影片片段
• 时间轴影格
• 屏幕
为所有辅助功能对象提供完整的定位键顺序。如果您建立影格的定位键顺序而不指定影格中辅助功能对象的定位键顺序,
Flash Player 便会忽略所有自定义定位键顺序的指定。此外,所有指定给制表位顺序的对象,除了影格之外,都必须具有在「属性」检测器的「实体名称」文字字段中所指定的实体名称。即使不是制表位的项目,例如文字,如果要将它们以该顺
序念出,也需要并入制表位顺序。
因为无法指定静态文字的实体名称,所以无法将它并入tabIndex 属性值。其结果是,SWF 文件中任意处之静态文字的单一实体会造成朗读顺序回复为默认值。
如果要指定制表位顺序,请指定序号给tabIndex 属性,如下列范例所示:
_this.myOption1.btn.tabIndex = 1 _this.myOption2.txt.tabIndex = 2
请参阅「ActionScript 2.0 语言参考」中,Button、MovieClip 和TextField 中的tabIndex,网址为:
www.adobe.com/go/learn_cs5_as2lr_tw。
您也可以使用tabChildren() 或tabEnabled() 方法来指定自定义制表位顺序。请参阅「ActionScript 2.0 语言参考」中的
MovieClip.tabChildren、MovieClip.tabEnabled 和TextField.tabEnabled,网址为:
www.adobe.com/go/learn_cs5_as2lr_tw。
更多帮助主题
第293 页「在辅助功能面板中建立键盘浏览的制表位顺序索引」
使用辅助功能组件
核心的 UI 组件集可加速辅助功能应用程序的建立。这些组件将许多最常见的辅助功能习惯加以自动化,这些习惯是与标签、
键盘存取有关;此外,测试和说明可确保用户跨多种应用程序间使用体验的一致性。Flash 包含下列辅助功能组件集:
• SimpleButton
• CheckBox
• RadioButton
• Label
• TextInput
• TextArea
• ComboBox
• ListBox
• Window
• Alert
• DataGrid
Flash 辅助功能组件必须包含定义其辅助功能行为的 ActionScript。如需那些辅助功能组件可搭配屏幕朗读程序使用的相关信息,请参阅 Flash 辅助功能网页,网址为www.adobe.com/go/flash_accessibility_tw。
如需有关组件的一般信息,请参阅「使用 ActionScript 2.0 组件」中的「关于组件」,网址为www.adobe.com/go/learn_cs5_usingas2components_tw 。
针对每一个辅助功能组件,以enableAccessibility() 命令启用组件的辅助功能部分。这个命令会在完成文件时并入具有组件的辅助功能对象。由于没有在组件中加入对象后再移除对象的简易方法,所以这些选项依默认为停用。因此,请务必启用每个组件的辅助功能。只为每个组件执行此步骤一次,您不需要为给定文件之组件的每一个实体启用辅助功能。请参阅「ActionScript
2.0 组件语言参考」中的「Button 组件」、「CheckBox 组件」、「ComboBox 组件」、「Label 组件」、「List 组件」、「RadioButton 组件」和「Window 组件」,网址为:www.adobe.com/go/learn_cs5_as2lr_tw。