关于辅助内容

辅助功能概述

使用 Adobe? Flash? Professional 在创作环境用户界面中提供的辅助功能,利用为实现辅助功能而设计的 ActionScript?,可创建所有用户(包括残障人士)都能访问的内容。在设计辅助 FlashProfessional 应用程序时,应考虑用户将如何与内容进行交互,并遵循建议的设计和开发实践。

有关辅助内容的教程,请参阅《Flash 教程》页面(网址为 www.adobe.com/go/learn_fl_tutorials_cn)上的“创建具有辅助功能的 Flash 内容”。

有关具有辅助功能的丰富媒体内容的范例,请参阅 www.adobe.com/go/learn_fl_samples_cn 中的“Flash 范例”页。 下载并解压缩 Samples zip 文件,然后浏览到 AccessibilityAccessibleApplications 文件夹以访问示例。

有关创建并查看辅助 FlashProfessional 内容(包括支持的平台、屏幕阅读器兼容性、文章和辅助示例)的最新信息,请参阅 FlashProfessional 辅助功能网页,网址为 www.adobe.com/go/learn_flash_accessibility_cn/。

世界各地的辅助功能标准

许多国家/地区已经采用了根据“全球网联盟”(W3C) 制订的辅助功能标准发展而来的辅助功能标准。W3C 发布了 Web 内容辅助功能原则。这份文档按优先次序列出了设计者为使 Web 内容可访问而应采取的措施。有关“Web 辅助功能倡议”的更多信息,请参阅 W3C 的 Web 站点,网址为 w3.org。

在美国,管制辅助功能的法律常称为第 508 条款,它是美国《康复法案》的修正案。

有关第 508 条款的其他信息,请参阅以下 Web 站点:

  • 美国政府主办的 Web 站点,网址为 section508.gov

  • Adobe 辅助功能站点,网址为 www.adobe.com/cn/accessibility/

了解屏幕阅读器技术

屏幕阅读器是供视力受损的用户在 Web 站点中浏览并用语音读出 Web 内容的软件应用程序。 若要使屏幕阅读器可以读出应用程序中的非文本对象,如矢量图和动画,请使用“辅助功能”面板将名称及说明与对象关联。 根据您定义的键盘快捷键,可以使用户轻松利用屏幕阅读器在文档中浏览。

要揭示图形对象的存在,请使用“辅助功能”面板或 ActionScript 提供说明。

您不能控制任何一个屏幕阅读器的行为方式;您只能控制内容,这些内容可以在您的 FlashProfessional 应用程序上标记出来以揭示该文本,并确保屏幕阅读器用户可以激活控件。 您可以决定 FlashProfessional 应用程序中向屏幕阅读器揭示的对象,为它们提供说明,以及决定向屏幕阅读器揭示这些对象时的次序。 您不能强制屏幕读取器在特定的时间读出特定的文本,或者控制内容的读出方式。请使用不同的屏幕阅读器来测试应用程序,以确保它们能按预期工作。

对于绝大多数屏幕阅读器的用户而言,声音是最重要的媒介。 请考虑文档中的声音如何与屏幕阅读器大声读出的文本相互影响。 如果 FlashProfessional 应用程序包含很大的声音,屏幕阅读器用户就很难听到屏幕阅读器所说的内容。

平台要求

您只能创建用于 Windows 平台上的屏幕阅读器的 FlashProfessional 内容。 用户若要查看 FlashProfessional 内容,必须在 Windows 98 或更高版本上安装 Adobe 的 Macromedia Flash? Player 6 或更高版本以及 Internet Explorer。

Flash 和 Microsoft Active Accessibility(仅限 Windows)

Flash Player 针对 Microsoft Active Accessibility (MSAA) 进行了优化,MSAA 为应用程序和屏幕阅读器提供了描述性和标准化的通信方式。 MSAA 只适用于 Windows 操作系统。 有关 Microsoft Accessibility 技术的详细信息,请访问 Microsoft Accessibility 的 Web 站点,网址为 www.microsoft.com/enable/default.aspx。

Flash Player 6 的 Windows ActiveX(Internet Explorer 插件)版本支持 MSAA,但是 Windows Netscape 和 Windows 的独立播放器不支持 MSAA。

重要说明:  目前,在不透明无窗口和透明无窗口模式中 支持 MSAA。 (这些模式是“HTML 发布设置”面板中的选项,适用于具有 Flash ActiveX 控件的 Windows 版 Internet Explorer 4.0 或更高版本。) 要使屏幕阅读器可以访问您的 FlashProfessional 内容,请避免使用这些模式。

Flash Player 使得具备 MSAA 的屏幕阅读器可以获得有关以下类型的辅助功能对象的信息。

动态或静态文本

文本对象的主要属性是其名称。 按照 MSAA 规范,文本名称等同于文本字符串的内容。 文本对象还可能有关联的说明字符串。 对于输入文本字段,FlashProfessional 使用显示在该字段正上方或左侧的静态或动态文本来作为其标签。

注:  本身是标签的文本 会传送给屏幕阅读器,但会被用作它所标记的对象的名称。 绝不会为创作者提供了名称的按钮或文本字段指定标签。


输入文本字段

具有值、可选的名称、说明字符串和键盘快捷键字符串。 输入文本对象的名称可能来自于其上方或左侧的文本对象。


按钮

具有状态(按下或未按下),支持会使按钮立即被按下的计划好的默认动作,并且可能还会有名称、说明字符串和键盘快捷键字符串。 FlashProfessional 使用完全位于按钮内的文本作为该按钮的标签。

注:  出于辅助功能目的,Flash Player 将用作按钮并具有按钮事件处理函数(如 onPress)的影片剪辑视为按钮,而不视为影片剪辑。


组件

能实现特别的辅助功能。


影片剪辑

如果影片剪辑不包含任何其他辅助对象,或者使用“辅助功能”面板来为影片剪辑提供名称或说明,则会将影片剪辑作为图形对象向屏幕阅读器揭示其存在。 如果影片剪辑包含其他辅助对象,则会忽略剪辑本身,而屏幕阅读器会获得包含在剪辑中的对象。

注:  所有 FlashProfessional 视频对象都被视为简单的影片剪辑。





Flash Player 中的基本辅助功能支持

默认情况下,以下对象均被定义为在所有 FlashProfessional 文档中都是可访问的,并且包含在 Flash Player 向屏幕阅读器软件提供的信息中。 为未使用任何辅助功能的文档提供的这种广泛支持包括以下几项:

动态或静态文本

将文本作为名称传输给屏幕阅读器程序,但不带任何说明。


输入文本字段

将文本传输给屏幕阅读器。 不会传输任何名称,但输入文本遇到标记关系的情况除外,例如位于输入文本字段附近的静态文本字段。 不传输任何说明或键盘快捷键字符串。


按钮

将按钮的状态传输给屏幕阅读器。 不会传输任何名称(但遇到标记关系的情况除外),并且不会传输任何说明或快捷键字符串。


文档

将文档状态传输给屏幕阅读器,但不带任何名称或说明。




针对听力受损用户的辅助功能

为音频内容配上理解内容不可或缺的字幕。 例如,出于辅助功能的考虑,谈话的视频可能需要提供字幕,但与某个按钮关联的短促声音则无需这样。

为 FlashProfessional 文档添加字幕的方法包括:

  • 将文本添加为字幕,确保字幕在时间轴上与音频同步。

  • 使用 Hi-Caption 查看器,这个由 Hi Software 提供的组件可以与 Hi-Caption SE 结合用于 FlashProfessional(请参阅 www.adobe.com/go/accessible_captions_cn)。 Captioning Macromedia Flash Movies with Hi-Caption SE(《使用 Hi-Caption SE 为 Macromedia Flash 电影插入字幕》)白皮书说明了如何同时使用 Hi-Caption SE 和 FlashProfessional 创建带字幕的文档(请参阅 www.adobe.com/go/accessibility_papers_cn)。

提供针对视力受损者的动画和辅助功能

您可以在 SWF 文件播放过程中更改辅助对象的属性。 例如,指出动画中的某个关键帧上发生的变化。 但是,不同供应商的屏幕阅读器会以不同的方式对待帧中的新对象。 一些屏幕阅读器可能只读取新对象,而其他屏幕阅读器则可能重新读取整个文档。

为了避免屏幕阅读器发出使用户不快的噪音,请不要为文档中的文本、按钮和输入文本字段制作动画。 此外,不要让您的内容出现循环。

Flash Player 无法确定“文本分离”等功能的实际文本内容,因此不能创建文本动画。 只有为文档中带信息的图形(如图标和动作动画)或整个 FlashProfessional 应用程序提供名称或说明,屏幕阅读器才能为这些对象提供准确的辅助功能。 您也可以往文档中添加补充说明文本,或者将重要的内容从图形转换为文本。

  1. 选择要更改其辅助功能属性的对象。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 更改该对象的属性。

    另外,也可以使用 ActionScript 来更新辅助功能属性。


测试辅助内容

测试您的可访问 FlashProfessional 应用程序时,请遵循以下建议:

  • 下载几种屏幕阅读器,并在启用屏幕阅读器的情况下在浏览器中播放您的应用程序,以对其进行测试。 如果文档中插入了独立的音频,请确保屏幕阅读器不会试图在这些音频位置上“插嘴”。 有一些屏幕阅读器应用程序提供了演示版供用户免费下载,您应尽量多试用几种屏幕阅读器,以确保您的程序能兼容各种屏幕阅读器。

  • 测试交互式内容并检验用户是否只使用键盘就能有效浏览这些内容。 不同的屏幕阅读器在处理来自键盘的输入时以不同的方式工作;您的 FlashProfessional 内容可能无法按您的设想接收键击。 测试所有键盘快捷键。

使用 Flash 输入用于屏幕阅读器的辅助功能信息

用于屏幕阅读器和辅助功能的 Flash

屏幕阅读器会用语音读出内容的说明和读出文本。此外,当用户在传统应用程序的用户界面(如菜单、工具栏、对话框和输入文本字段)中浏览时,屏幕阅读器也会提供协助。

默认情况下,以下对象均被定义为在所有文档中都是可访问的,并且包含在 FlashProfessional Flash Player 向屏幕阅读器软件提供的信息中:

  • 动态文本

  • 输入文本字段

  • 按钮

  • 影片剪辑

  • 整个 FlashProfessional 应用程序

    Flash Player 会自动为静态和动态文本对象提供名称,这些名称就是文本的内容。 对于每个辅助对象,都可以设置说明性的属性,以便屏幕阅读器用语音读出。 还可以控制 Flash Player 如何决定向屏幕阅读器揭示哪些对象的存在。例如,可以指定根本不向屏幕阅读器揭示某些辅助对象的存在。

Flash 的辅助功能面板

Flash 的“辅助功能”面板(“窗口”>“其他面板”>“辅助功能”)让您为屏幕阅读器提供辅助功能信息,并为个别 FlashProfessional 对象或整个 FlashProfessional 应用程序设置辅助功能选项。

注:   另外,也可以使用 ActionScript 代码输入辅助功能信息。

如果您在舞台上选择了一个对象,则可以使该对象可访问,并为其指定选项和 Tab 键顺序。 对于影片剪辑,可以指定是否将子对象信息传送给屏幕阅读器(如果使对象可访问,则为默认选项)。

在未选择舞台上任何对象的情况下,使用“辅助功能”面板可以为整个 FlashProfessional 应用程序指定辅助功能选项。 可以将整个应用程序设为可访问、将子对象设为可访问、使 FlashProfessional 自动标记对象,以及为对象指定名称和说明。

FlashProfessional 文档中的所有对象都必须具有实例名称,才能对它们应用辅助功能选项。 在“属性”检查器中为对象创建实例名称。 实例名称用于在 ActionScript 中引用对象。

“辅助功能”面板提供了以下选项:

使对象可访问

(默认)指示 Flash Player 将对象的辅助功能信息传送给屏幕阅读器。 如果禁用此选项,则不会向屏幕阅读器传送对象的辅助功能信息。 在测试内容的辅助功能时,禁用此选项很有用。这是因为,某些对象可能是无关重要或修饰性的,而使它们可访问可能会在屏幕阅读器中产生混乱的结果。 然后,可以手工为标记的对象指定名称,并通过取消“使对象可访问”来隐藏标记文本。 禁用“使对象可访问”时,“辅助功能”面板上的所有其他控件都将被禁用。


使子对象可访问

(仅限影片剪辑;默认)指示 Flash Player 向屏幕阅读器传送子对象的信息。 如果对某个影片剪辑禁用此选项,则会使该影片剪辑在辅助对象树中显示为简单的剪辑,即使它包含文本、按钮和其他对象也是如此。 该影片剪辑中的所有对象也随即在对象树中隐藏起来。 此选项主要用于使无关紧要的对象在屏幕阅读器面前隐藏起来。

注:  如果某个影片剪辑被用作按钮(它具有一个指定给它的按钮事件处理函数,如 onPressonRelease),则会忽略“使子对象可访问”选项。这是因为,按钮总是会被视为简单的剪辑,并且绝不会检查其子项(除非是标签)。


自动标签

指示 FlashProfessional使用与舞台上的对象关联的文本自动标记这些对象。


名称

指定对象名称。 屏幕阅读器通过大声读出对象的名称来标识对象。 如果辅助对象没有指定的名称,屏幕阅读器可能会读出笼统的文字,例如按钮,从而可能会令人混乱。

重要说明:  对于在“辅助功能”面板中指定的对象名称,不要将其与在“属性”检查器中指定的实例名称混在一起。 在辅助功能面板中为对象指定名称时,不会为其指定实例名称。


描述

可让您输入传送给屏幕阅读器的对象说明。 屏幕阅读器会读出该说明。


快捷键

向用户描述键盘快捷键。 屏幕阅读器会读出此文本字段中的文本。 在此输入键盘快捷键文本不会为所选的对象创建键盘快捷键。 为了创建快捷键,必须提供 ActionScript 键盘处理函数。


Tab 键索引(仅限 Adobe? Flash? Professional)

创建一个 Tab 键顺序,当用户按 Tab 键时,按此顺序访问对象。Tab 键索引功能在使用键盘来浏览页面时有效,但对于屏幕阅读器的读取顺序则无效。


有关详细信息,请参阅 FlashProfessional 辅助功能网页,网址为 www.adobe.com/go/learn_flash_accessibility_cn/。

有关辅助内容的教程,请参阅《Flash 教程》页面(网址为 www.adobe.com/go/learn_fl_tutorials_cn)上的“创建具有辅助功能的 Flash 内容”。

有关具有辅助功能的丰富媒体内容的范例,请参阅 www.adobe.com/go/learn_fl_samples_cn 中的“Flash 范例”页。 下载并解压缩 Samples zip 文件,然后浏览到 AccessibilityAccessibleApplications 文件夹以访问示例。







为按钮、文本字段和整个 SWF 应用程序选择名称

通过以下方法,使用“辅助功能”面板为按钮和输入文本字段指定名称,以便屏幕阅读器正确识别它们:

  • 使用自动标签功能将对象附近或对象内的文本指定为标签。

  • 在“辅助功能”面板的名称字段中输入特定的标签。

    FlashProfessional 会自动将放在按钮或文本字段上方、内部或附近的名称应用为文本标签。 按钮的标签必须显示在按钮形状的边界内。 对于下例中的按钮,大多数屏幕阅读器会首先读出文字按钮,然后读出文本标签主页。 用户可以按下 Return 键或 Enter 键激活按钮。

    标记为 Home 的按钮。

    表单可能会包含供用户输入其姓名的输入文本字段。 带有文本姓名 的静态文本字段显示在输入文本字段的旁边。 当 Flash Player 发现此类排列时,会假定静态文本对象是用作输入文本字段的标签。

    例如,当遇到表单的以下部分时,屏幕阅读器会读出“请在此处输入您的姓名”。

    A.

    静态文本


    B.

    输入文本字段



    在“辅助功能”面板中,如果自动标签功能不适合您的文档,则可以关闭该功能。 还可以针对文档中的特定对象关闭自动标签功能。

为对象提供名称

可以针对应用程序的某一部分关闭自动标签功能,并在“辅助功能”面板中为对象提供名称。 如果打开了自动标签功能,则可以选择特定的对象,并在“辅助功能”面板中的“名称”文本字段中为对象提供名称,以便使用该名称来代替对象的文本标签。

如果按钮或输入文本字段没有文本标签,或者如果标签位于 Flash Player 无法检测到的位置,则可以为该按钮或文本字段指定一个名称。 如果文本标签位于按钮或文本字段的附近,但您并不想将该文本用作对象的名称,则也可以指定一个名称。

在下面的示例中,描述按钮的文本显示在按钮的外部和右侧。 在此位置,Flash Player 无法检测到该文本,因此屏幕阅读器不会读出它。

Flash Player 不检测的文本示例。

要纠正此问题,请打开“辅助功能”面板,选择该按钮,然后输入名称和说明。 为防止重复,使该文本对象不可访问。

注:  对象的辅助功能名称与 ActionScript 实例名称或与对象关联的 ActionScript 变量名称均无关。 (此信息通常适用于所有对象。) 有关 ActionScript 如何处理文本字段中的实例名称和变量名称的信息,请参阅《学习使用 Adobe Flash 中的 ActionScript 2.0》(网址为 www.adobe.com/go/learn_cs5_learningas2_cn)上的“关于文本字段实例和变量名称”。

为按钮、文本字段或整个 SWF 应用程序指定名称和说明

  1. 请执行下列操作之一:

    • 要为按钮或文本字段提供名称,请在舞台上选择对象。

    • 要为整个 FlashProfessional 应用程序提供名称,请在舞台上取消选择所有对象。


  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 选择“使对象可访问”(对于按钮或文本字段)或默认选项“使影片可访问”(对于整个 FlashProfessional 应用程序)。

  4. 为按钮、文本字段或 FlashProfessional 应用程序输入名称和说明。

为 SWF 应用程序中选定的对象定义辅助功能

  1. 选择“窗口”>“其他面板”>“辅助功能”。

  2. 请执行下列操作之一:

    • 选择“使对象可访问”(默认设置)以向屏幕阅读器揭示对象的存在,以及启用面板中的其他选项。

    • 取消选择“使对象可访问”可使对象在屏幕阅读器面前隐藏起来,并禁用面板中的其他选项。


  3. 根据需要,输入选定对象的名称和说明:

    动态文本

    要为静态文本提供说明,必须将其转换为动态文本。


    输入文本字段或按钮

    输入键盘快捷键。


    影片剪辑

    选择“使子对象可访问”可向屏幕阅读器揭示影片剪辑内的对象。

    注:  如果能够用屏幕阅读器可轻易表达的简单短语来描述您的应用程序,则关闭“使子对象可访问”,然后键入适当的说明。





使整个 SWF 应用程序可访问

在完成 FlashProfessional 文档并准备好进行发布或导出之后,使整个 FlashProfessional 应用程序可访问。

  1. 取消选择文档中的所有元素。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 选择“使影片可访问”(默认设置),以便向屏幕阅读器揭示文档的存在。

  4. 选择或取消选择“使子对象可访问”选项,以便向屏幕阅读器揭示文档中所有辅助对象的存在(或使屏幕阅读器忽略这些对象)。

  5. 如果在步骤 2 中选择了“使影片可访问”,则根据需要为文档输入名称和说明。

  6. 选择“自动标签”(默认设置),以便将文本对象用作文档中包含的可访问按钮或输入文本字段的自动标签。 取消选择此选项会关闭自动标签功能,并将文本对象向屏幕阅读器揭示为文本对象。

查看与创建 Tab 键顺序和读取顺序

Tab 键索引顺序有两个方面:Tab 键顺序(用户按此顺序在 Web 内容中浏览)和屏幕阅读器读取内容时的顺序(称为读取顺序)。

Flash Player 使用从左到右和从上到下的 Tab 键索引顺序。 使用 ActionScript 中的 tabIndex 属性自定义 Tab 键顺序和读取顺序(在 ActionScript 中,tabIndex 属性与读取顺序意思相同)。

注:  Flash Player 不再要求将 FLA 文件中的所有对象都添加到 Tab 键索引值列表中。 即使不为所有对象都指定 Tab 键索引,屏幕阅读器也能正确读取每个对象。

Tab 键顺序

在用户按 Tab 键时对象获取输入焦点的顺序。 使用 ActionScript 创建 Tab 键顺序,或者如果安装有 Adobe? Flash? Professional,则可以使用“辅助功能”面板来创建。 在“辅助功能”面板中指定的 Tab 键索引不一定控制读取顺序。


读取顺序

屏幕阅读器读取有关对象信息的顺序。 要创建读取顺序,请使用 ActionScript 为每个实例指定 Tab 键索引。 为每个辅助对象创建 Tab 键顺序索引,而不只是对可获得焦点的对象这样做。 例如,即使用户无法通过按 Tab 键来选择动态文本,它也必须具有 Tab 键索引。 如果未为指定帧中的每个辅助对象创建 Tab 键索引,则当每次屏幕阅读器在运行时,Flash Player 会忽略该帧的所有 Tab 键索引,并改为使用默认的 Tab 键顺序。



在辅助功能面板中为键盘浏览创建 Tab 键顺序索引

可以在“辅助功能”面板中为以下对象的键盘浏览创建 Tab 键顺序索引。

  • 动态文本

  • 输入文本

  • 按钮

  • 影片剪辑,包括编译的影片剪辑

  • 组件

  • 屏幕

    注:  也可以使用 ActionScript 代码创建键盘浏览的 Tab 键顺序索引。

    Tab 键焦点按数字顺序出现,从最低的索引编号开始。 Tab 键焦点到达最高的 Tab 键索引后,焦点即会返回到最低的索引编号。

    在文档中移动由用户定义的 Tab 键索引对象或将其移到其他文档时,FlashProfessional 会保留索引属性。 检查并解决索引冲突,如舞台上两个不同的对象具有相同的 Tab 键索引编号。

    重要说明:  如果指定帧中的两个或更多个对象具有相同的 Tab 键索引,FlashProfessional 会遵循对象在舞台上的放置顺序。

  1. 选择要指定 Tab 键顺序的对象。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 如果只是为选定的对象提供索引,请在“Tab 键索引”文本字段中输入一个正整数(最大为 65535),以反映选定的对象获得焦点的顺序。

  4. 要查看 Tab 键顺序,请选择“查看”>“显示 Tab 键顺序”。 各对象的 Tab 键索引编号显示在对象的左上角。  

    Tab 键索引编号

    注:  如果启用了“显示 Tab 键顺序”选项,使用 ActionScript 代码创建的 Tab 键索引并不会显示在舞台上。

为屏幕阅读器指定高级辅助功能选项

关闭自动标记并为屏幕阅读器指定对象名称

  1. 在舞台上,选择您想控制其标签的按钮或输入文本字段。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 选择“使对象可访问”(默认设置)。

  4. 为对象输入名称。 名称将作为按钮或文本字段的标签被读出。

  5. 要关闭自动标签的辅助功能(并在屏幕阅读器面前隐藏标签),请在舞台上选择文本对象。

  6. 如果文本对象是静态文本,则将其转换为动态文本(在属性检查器中,选择“文本类型”>“动态文本”)。

  7. 取消选择“使对象可访问”。

对屏幕阅读器隐藏对象

可以使选定的对象在屏幕阅读器面前隐藏起来,并且可以决定将影片剪辑或 FlashProfessional 应用程序中包含的辅助对象隐藏起来,而只向屏幕阅读器揭示影片剪辑或 FlashProfessional 应用程序。

注:  只隐藏重复的或不表达任何内容的对象。

隐藏了某个对象后,屏幕阅读器就会忽略该对象。

  1. 在舞台上,选择要在屏幕阅读器面前隐藏的按钮或输入文本字段。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 在“辅助功能”面板中,执行以下任意一项操作:

    • 如果对象是影片剪辑、按钮、文本字段或其他对象,取消选择“使对象可访问”。

    • 如果对象是影片剪辑的子项,取消选择“使子对象可访问”。


为屏幕阅读器创建对象的键盘快捷键

可以为对象(如按钮)创建键盘快捷键,以使用户无需倾听整页的内容就能定位到该对象。 例如,可以创建菜单、工具栏、下一页或提交按钮的键盘快捷键。

要创建键盘快捷键,请为对象编写 ActionScript 代码。 如果为输入文本字段或按钮提供键盘快捷键,则还必须使用 ActionScript 的 Key 类检测用户在播放 FlashProfessional 内容时按下的键。 请参阅《ActionScript 2.0 语言参考》中的 Key。 请参阅《学习使用 Adobe Flash 中的 ActionScript 2.0》(网址为 www.adobe.com/go/learn_cs5_learningas2_cn)上的“捕获按键”。

选择对象,然后将键盘快捷键的名称添加到“辅助功能”面板,以便屏幕阅读器能读出它。

使用多个屏幕阅读器测试 FlashProfessional 内容。 键盘快捷键功能还依赖于所用的屏幕阅读器软件。 例如,按键组合 Control+F 对于浏览器和屏幕阅读器都是保留的按键。 屏幕阅读器保留箭头键。 通常,可以将键盘上 0 至 9 的数字键用作键盘快捷键,但屏幕阅读器越来越多地使用这些键。

创建键盘快捷键

  1. 在舞台上,选择要创建键盘快捷键的按钮或输入文本字段。

  2. 选择“窗口”>“其他面板”>“辅助功能”。

  3. 在“快捷键”字段中,按以下惯例键入键盘快捷键的名称:

    • 拼写出按键的全称,如 Control 或 Alt。

    • 对于字母字符,使用大写字母。

    • 在按键名称之间使用加号 (+) 且中间不留空格,如 Control+A。


重要说明:  FlashProfessional 并不检查是否已经创建要为键盘快捷键编码的 ActionScript。

将按钮实例的键盘快捷键 Control+7 映射到 myButton 实例

  1. 选择舞台上的对象、显示“辅助功能”面板并在“快捷键”字段中键入快捷键的按键组合。 例如,Control+7

  2. 在“动作”面板中输入以下 ActionScript 2.0 代码:

    注:  在此示例中,快捷键为 Control+7。

    function myOnPress() { 
        trace( "hello" ); 
    } 
    function myOnKeyDown() { 
        if (Key.isDown(Key.CONTROL) && Key.getCode() == 55) // 55 is key code for 7 
        { 
            Selection.setFocus(myButton); 
            myButton.onPress(); 
        } 
    } 
    var myListener = new Object(); 
    myListener.onKeyDown = myOnKeyDown; 
    Key.addListener(myListener); 
    myButton.onPress = myOnPress; 
    myButton._accProps.shortcut = "Ctrl+7"
    Accessibility.updateProperties();


注:  此示例将 Control+7 键盘快捷键指定给实例名称为 myButton 的按钮,并且使屏幕阅读器可以获得有关此快捷键的信息。 在此示例中,按 Ctrl+7 时,myOnPress 函数会在“输出”面板中显示文本“hello”。 请参阅《ActionScript 2.0 语言参考》中的“addListener(IME.addListener 方法)”,网址为:www.adobe.com/go/learn_cs5_as2lr_cn。

使用 ActionScript 创建辅助功能

关于 ActionScript 和辅助功能

可以使用 ActionScript? 代码创建具有辅助功能的文档。对于应用到整个文档的辅助功能属性,可以创建或修改名称如下的全局变量: _accProps。 请参阅《ActionScript 2.0 语言参考》中的 _accProps 属性,网址为:www.adobe.com/go/learn_cs5_as2lr_cn。

对于应用到某个特定对象的属性,可以使用语法 instancename._accProps_accProps 的值是一个可以包含以下任何属性的对象:

属性

类型

辅助功能面板中的等效选项

应用于

.silent

布尔值

使影片可访问/使对象可访问(反逻辑)

整个文档

按钮

影片剪辑

动态文本

输入文本

.forceSimple

布尔值

使子对象可访问(反逻辑)

整个文档

影片剪辑

.name

字符串

名称

整个文档

按钮

影片剪辑

输入文本

.description

字符串

描述

整个文档

按钮

影片剪辑

动态文本

输入文本

.shortcut

字符串

快捷键

按钮

影片剪辑

输入文本

注:  使用反逻辑后,ActionScript 中的 true 值对应“辅助功能”面板中某个未选定的复选框,而 ActionScript 中的 false 值对应“辅助功能”面板中某个选定的复选框。

单独修改 _accProps 变量并无效果。 还必须使用 Accessibility.updateProperties 方法将 FlashProfessional 内容的更改通知屏幕阅读器的用户。 调用此方法会使 Flash Player 重新检查所有的辅助功能属性,为屏幕阅读器更新属性说明,并且如有必要,向屏幕阅读器发送事件以指示发生了更改。

同时更新多个对象的辅助功能属性时,只需包含一次对 Accessiblity.updateProperties 的调用即可(对屏幕阅读器进行太频繁的更新可能会使某些屏幕阅读器变得很“罗嗦”)。

请参阅《ActionScript 2.0 语言参考》中的 Accessibility.updateProperties 方法,,网址为 www.adobe.com/go/learn_cs5_as2lr_cn

使用 Accessibility.isActive() 方法实现屏幕阅读器检测

要创建在屏幕阅读器操作时以特定方式发生行为的 FlashProfessional 内容,可以使用 Accessibility.isActive() ActionScript 方法,如果存在屏幕阅读器,则返回值 true;反之则返回值 false。 然后,可以设计要执行的 FlashProfessional 内容,使其能与屏幕阅读器的使用兼容(如在屏幕阅读器面前隐藏子元素)。 有关详细信息,请参阅《ActionScript 2.0 语言参考》中的 Accessibility.isActive 方法,网址为:www.adobe.com/go/learn_cs5_as2lr_cn

例如,您可以使用 Accessibility.isActive() 方法,决定是否包含主动提供的动画。 主动提供的动画会自动发生而无需操作屏幕阅读器,因此屏幕阅读器可能会无法理解。

Accessibility.isActive() 方法在 FlashProfessional 内容和 Flash Player 之间提供异步通信;这就表示,在调用此方法和 Flash Player 进入活动状态这两个时刻之间可能会出现轻微的实时延迟,从而返回不正确的值 false。 要确保正确调用此方法,请执行下列操作之一:

  • 如果需要使用辅助功能,可随时调用 Accessibility.isActive() 方法,而不要在第一次播放 FlashProfessional 内容时使用此方法。

  • 在文档的开头加入一或两秒的短暂延迟,使 FlashProfessional 内容有足够的时间与 Flash Player 联系。

    例如,您可以使用 onFocus 事件将该方法附加到按钮。 此方法通常使 SWF 文件有足够的时间进行加载,并且您可以假定,屏幕阅读器用户在按 Tab 键时必将跳到舞台上的第一个按钮或对象。

使用 ActionScript 为辅助对象创建 Tab 键顺序

若要使用 ActionScript? 代码创建 Tab 键顺序,请为下列对象指定 tabIndex 属性:

  • 动态文本

  • 输入文本

  • 按钮

  • 影片剪辑,包括编译的影片剪辑

  • 时间轴帧

  • 屏幕

为所有辅助对象提供完整的 Tab 键顺序。 如果为帧创建了 Tab 键顺序但是没有为帧中的辅助对象指定 Tab 键顺序,Flash Player 将忽略所有以自定义方式指定的 Tab 键顺序。 此外,对于指定了 Tab 键顺序的所有对象(帧除外),必须在属性检查器的“实例名称”文本字段中为它们指定实例名称。 即使是不能通过按 Tab 键选择的项目(如文本),如果将按 Tab 键顺序读取这些项目,则也需将它们包括在该顺序中。

因为无法为静态文本指定实例名称,所以不能将它包括在 tabIndex 属性值的列表中。 因此,只要 SWF 文件中出现一个静态文本的实例,就会使读取顺序还原到默认顺序。

若要指定 Tab 键顺序,请将顺序编号指定到 tabIndex 属性,如下例所示:

_this.myOption1.btn.tabIndex = 1
_this.myOption2.txt.tabIndex = 2

请参阅《ActionScript 2.0 语言参考》中的 ButtonMovieClipTextField 中的 tabIndex,网址为 www.adobe.com/go/learn_cs5_as2lr_cn。

也可以使用 tabChildren()tabEnabled() 方法指定自定义的 Tab 键顺序。请参阅《ActionScript 2.0 语言参考》中的 MovieClip.tabChildrenMovieClip.tabEnabledTextField.tabEnabl d,网址为:www.adobe.com/go/learn_cs5_as2lr_cn。

使用辅助组件

一组核心 UI 组件可快速建立辅助应用程序。 利用这些组件,可以自动实现与标记、键盘访问和测试有关的许多种最常见的辅助功能,并有助于确保用户在各个丰富的应用程序中能获得一致的体验。 FlashProfessional 包含下面的一组辅助组件:

  • 简单按钮

  • 复选框

  • RadioButton

  • 标签

  • TextInput

  • TextArea

  • ComboBox

  • 列表框

  • 窗口

  • 警告

  • DataGrid

,