由于 Flash Player 使用 MSAA 提供辅助功能,因此本文件中的常量名称与 Microsoft MSAA SDK 中的名称完全相同,但描述略有修改。阅读这些描述时,请记住将 Flash Player 视为“MSAA 服务器应用程序”,因为 SWF 中的 DisplayObject 通过称为 IAccessible 的 COM 接口向 MSAA 客户端(如屏幕阅读器)提供 MSAA 信息。
MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
与类似事件 (EVENT_SYSTEM_SCROLLEND) 不同,此事件将与滚动窗口本身相关联。水平滚动和垂直滚动没有区别。
应在滚动操作完成时发布此事件,操作包括拖动滚动条、转动鼠标滚轮、键盘导航等。
系统针对以下用户界面元素发送此事件:脱字号 (^)、标题控件、列表视图控件、选项卡控件、工具栏控件、树视图控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。服务器必须先针对某个对象的所有子对象发送此事件,然后才能针对其父对象发送此事件。服务器必须确保,在父对象发送此事件时,已完全创建所有子对象,并且子对象可以接受来自客户端的 IAccessible 调用。
系统针对对话框发送此事件。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
系统针对以下用户界面元素发送此事件:脱字号 (^)、标题控件、列表视图控件、选项卡控件、工具栏控件、树视图控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。不一定会针对子对象发送此事件。但是,当某个对象(父对象)发送此事件时,客户端会假定该对象的所有子对象都已受到破坏。
系统针对以下用户界面元素发送此事件:列表视图控件、菜单栏、弹出菜单、切换窗口、选项卡控件、树视图控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
系统针对以下用户界面元素发送此事件:脱字号 (^) 和光标。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。当针对某个父对象生成此事件时,所有子对象都已隐藏。因此,服务器应用程序不需要针对子对象发送此事件。隐藏的对象包括 STATE_SYSTEM_INVISIBLE 标志,而显示的对象则不包括该标志。EVENT_OBJECT_HIDE 事件还指示已设置 STATE_SYSTEM_INVISIBLE 标志。因此,在这种情况下,服务器不需要发送 EVENT_STATE_CHANGE 事件。
系统针对以下用户界面元素发送此事件:脱字号 (^) 和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。此事件是为了响应已更改的对象层次结构中的顶级对象(而不是该顶级对象可能包含的任何子对象)而生成的。例如,如果用户调整窗口大小,系统将针对窗口发送此通知,而不会针对随之更改的菜单栏、标题栏、滚动条或其他对象发送通知。当父窗口移动时,系统不会针对每个非浮动的子窗口发送此事件。但是,如果应用程序由于调整自身而显式调整子窗口大小,系统将针对已调整大小的子窗口发送多个事件。如果将某个对象的 State 属性设置为 STATE_SYSTEM_FLOATING,则在该对象每次更改位置时,服务器都应发送 EVENT_OBJECT_LOCATIONCHANGE。如果某个对象不包含此状态,则服务器应只在该对象相对于其父对象移动时触发此事件。
系统针对以下用户界面元素发送此事件:复选框、光标、列表视图控件、按压按钮、单选按钮、状态栏控件、树视图控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
系统针对以下用户界面元素发送此事件:标题控件、列表视图控件、工具栏控件和窗口对象。MSAA 服务器应用程序根据情况针对其具有辅助功能的对象发送此事件。例如,当列表视图对象的子元素数量或元素顺序更改时,该对象将生成此事件。当子窗口的 Z 顺序发生更改时,父窗口也会发送此事件。
系统针对以下用户界面元素发送此事件:列表框、列表视图控件和树视图控件。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。此事件指出现有选定内容中已添加一个子项。
系统针对以下用户界面元素发送此事件:列表框、列表视图控件和树视图控件。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。此事件指出现有选定内容中已删除一个子项。
系统针对列表框发送此事件。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。当控件内的所选项发生大量更改时可能发送此事件。此事件将通知客户端已发生许多选择更改(而不是发送若干 EVENT_OBJECT_SELECTIONADD 或 EVENT_OBJECT_SELECTIONREMOVE 事件)。客户端通过调用容器对象的 IAccessible::get_accSelection 方法并枚举所选项,即可查询所选项。
系统针对以下用户界面元素发送此事件:列表视图控件、选项卡控件、树视图控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。此事件指出单个选定内容,即已在某个容器(该容器以前不包含任何所选子对象)中选择一个子对象,或者由选择一个子对象改为选择另一个子对象。
系统针对以下用户界面元素发送此事件:脱字号 (^)、光标和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。客户端可以假定在父对象发送此事件时,已显示所有子对象。因此,服务器应用程序不需要针对子对象发送此事件。隐藏的对象包括 STATE_SYSTEM_INVISIBLE 标志,而显示的对象则不包括该标志。EVENT_OBJECT_SHOW 事件还指示已清除 STATE_SYSTEM_INVISIBLE 标志。因此,在这种情况下,服务器不需要发送 EVENT_STATE_CHANGE 事件。
系统针对以下用户界面元素发送此事件:复选框、组合框、标题控件、按压按钮、单选按钮、滚动条、工具栏控件、树视图控件、上下箭头控件和窗口对象。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。例如,在按压或释放按钮对象后,或者在启用或禁用某个对象后,会发生状态更改。
系统针对以下用户界面元素发送此事件:编辑控件、标题控件、热键控件、进度栏控件、滚动条、滑块控件和上下箭头控件。MSAA 服务器应用程序针对其具有辅助功能的对象发送此事件。
无论何时发生用户可能需要知晓的重要用户界面更改,MSAA 服务器应用程序都会发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
此事件由系统针对标准对话框发送。MSAA 服务器应用程序针对自定义对话框发送此事件。
此事件由系统针对标准对话框发送。MSAA 服务器应用程序针对自定义对话框(与对话框作用相同但不是以标准方式创建的窗口)发送此事件。
必须由支持拖放操作的应用程序(而不是系统)发送此事件。
必须由支持拖放操作的应用程序(而不是系统)发送此事件。
即使前景窗口更改为同一线程内的其他窗口,系统仍会发送此事件。MSAA 服务器应用程序从不发送此事件。
系统针对标准菜单发送此事件。MSAA 服务器应用程序针对自定义菜单发送此事件。
系统针对标准菜单发送此事件。MSAA 服务器应用程序针对自定义菜单发送此事件。当关闭某个弹出菜单时,客户端几乎在 EVENT_SYSTEM_MENUEND 事件后立即收到此消息。
系统针对标准菜单发送此事件。MSAA 服务器应用程序针对自定义菜单(与菜单作用相同但不是以标准方式创建的用户界面元素)发送此事件。
系统针对标准菜单发送此事件。MSAA 服务器应用程序针对自定义菜单(与菜单作用相同但不是以标准方式创建的用户界面元素)发送此事件。系统可以触发多个不一定具有对应 EVENT_SYSTEM_MENUEND 事件的 EVENT_SYSTEM_MENUSTART 事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。
系统针对附加到窗口的滚动条或针对标准滚动条控件发送此事件。MSAA 服务器应用程序针对自定义滚动条发送此事件。
系统针对附加到窗口的滚动条或针对标准滚动条控件发送此事件。MSAA 服务器应用程序针对自定义滚动条(与滚动条作用相同但不是以标准方式创建的用户界面元素)发送此事件。
即使听不到声音(如没有声音文件或声卡),系统仍会在播放系统声音(如针对菜单播放的声音)时发送此事件。自定义用户界面元素生成声音时,MSAA 服务器应用程序会发送此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。如果用户按 Alt+Tab 键时只有一个应用程序在运行,则系统将发送没有对应 EVENT_SYSTEM_SWITCHSTART 事件的此事件。
此事件由系统发送;MSAA 服务器应用程序从不发送此事件。如果用户按 Alt+Tab 键时只有一个应用程序在运行,则系统将发送没有对应 EVENT_SYSTEM_SWITCHSTART 事件的 EVENT_SYSTEM_SWITCHEND 事件。
此角色只应该用于包含一条警告但与其他用户界面元素(如消息框、图形、文本或声音)没有关联的对象。
通常会在复制文件或执行其他某个耗费时间的任务时显示动画控件。
由单个对象表示整个边框,而不是每个边均由一个单独的对象表示。
该对象也可以是带有类似于速度计的只读对象。
文档窗口始终包含于应用程序窗口中。此角色只应用于多文档界面 (MDI) 窗口,并且指的是包含 MDI 标题栏的对象。
该对象显示一个项,同时允许用户显示替代值列表并从中选择其他项。
例如,用户可以在窗口右下角单击并拖动大小调整手柄,以调整窗口大小。
执行分组的对象与其包含的对象之间可能是也可能不是父子关系。
此对象的外观可能类似于文本或图形,但其行为类似于按钮。
菜单项在功能上等效于按压按钮、单选按钮、复选框或菜单。
所有菜单类型都必须具有该角色,包括在菜单栏中进行选择后所显示的下拉菜单,以及单击鼠标右键时显示的快捷菜单。
用户可以在窗格之间或者当前窗格的内容内部进行导航,但无法在不同窗格的各项间进行导航。因此,窗格表示某种分组级别,该级别低于框架窗口或文档,但高于各个控件。通常,用户根据上下文按 Tab、F6 或 Ctrl+Tab 键在窗格间进行导航。
此控件通常不需要用户进行输入。
该选项是一组相互排斥的选项之一。假定具有该属性的共享单个父对象的所有对象属于相互排斥的一组对象。必要时可以使用 ROLE_SYSTEM_GROUPING 对象将这些对象分为单独的组。
无法修改或选择静态文本。
状态栏可以包含多个区域,用于显示不同种类的信息。
此标志如果不与 SELFLAG_TAKEFOCUS 结合使用,则它不会更改焦点或选择锚点。SELFLAG_ADDSELECTION | SELFLAG_TAKEFOCUS 的行为等效于将某一项手动添加到选定内容,方法是按住 Ctrl 键,同时在 Windows 资源管理器中单击未选择的对象。
此标志无法与 SELFLAG_REMOVESELECTION 或 SELFLAG_TAKESELECTION 结合使用。
也就是说,如果未选择锚点对象,则这些对象也会从选定内容中删除;如果已选择锚点对象,则会扩展选定内容的范围,以包含此对象及其与锚点对象之间的所有对象。可以通过将此标志与 SELFLAG_ADDSELECTION 或 SELFLAG_REMOVESELECTION 结合使用来设置选择状态。
此标志如果不与 SELFLAG_TAKEFOCUS 结合使用,则它不会更改焦点或选择锚点。SELFLAG_EXTENDSELECTION | SELFLAG_TAKEFOCUS 的行为等效于将某一项手动添加到选定内容,方法是按住 Shift 键,同时在 Windows 资源管理器中单击未选择的对象。
此标志无法与 SELFLAG_TAKESELECTION 结合使用。
此标志如果不与 SELFLAG_TAKEFOCUS 结合使用,则它不会更改焦点或选择锚点。SELFLAG_REMOVESELECTION | SELFLAG_TAKEFOCUS 的行为等效于从选定内容中手动删除某一项,方法是按住 Ctrl 键,同时在 Windows 资源管理器中单击已选择的对象。
此标志无法与 SELFLAG_ADDSELECTION 或 SELFLAG_TAKESELECTION 结合使用。
此标志单独使用,它不更改选定内容,其行为类似于以下手动移动焦点方法:在 Windows 资源管理器或任何多项选择列表框中,按住 Ctrl 键同时按箭头键。
如果对象具有 STATE_SYSTEM_MULTISELECTABLE 状态,则 SELFLAG_TAKEFOCUS 可以与以下值结合使用:
此标志如果不与 SELFLAG_TAKEFOCUS 结合使用,则它不会更改焦点或选择锚点。SELFLAG_TAKESELECTION | SELFLAG_TAKEFOCUS 的行为等效于在 Windows 资源管理器中单击某一项。
此标志不得与以下标志结合使用:
例如,当电池水平达到低水平临界点时,电池水平指示器会转到此状态,然后,盲人辅助实用程序会立即向用户通告此信息,并且屏幕缩放程序会滚动屏幕,以便用户看到电池水平指示器。此状态还适用于用户在继续操作之前必须完成的所有提示或操作。
例如,如果 Word 更改工具栏上 TipWizard 按钮的外观以指示存在用户提示时,可以使用此状态。
例如,当电池水平指示器开始达到较低水平时,会生成一个中等程度的警告。此时盲人辅助实用程序会发出一个声音,从而让用户知道产生了重要信息,但实际上不会打断用户的工作。这样,用户可以在方便时查询警告信息。
应将偶尔以动画形式使用(不是始终使用)的图形描述为 ROLE_SYSTEM_GRAPHIC,其 State 属性设置为 STATE_SYSTEM_ANIMATED。不应使用此状态来指示对象位置正发生更改。
请不要混淆对象焦点与对象选择。
列表框中的文件名列表可能包含数百个名称,但用户只能看到若干名称。其余文件名由父对象剪裁掉,并且应设置为 STATE_SYSTEM_INVISIBLE。
始终不可见的对象应设置为 STATE_SYSTEM_OFFSCREEN。请注意,即使将一个对象视为可见(即不设置 STATE_SYSTEM_INVISIBLE 标志),但如果它被其他应用程序遮挡,用户也看不到它。例如,如果某个对象显示在应用程序主窗口中,则即使它被对话框遮挡,也将它视为可见。
既未选中也未取消选中复选框,因此该复选框处于第三种状态或混合状态。
声音或警告对象将具有此状态,始终不可见的隐藏窗口也具有此状态。
当具有此状态的对象存在焦点时,基于语音的辅助功能不应通告信息,因为对象会自动通告自身的信息。
此方法将由 MXML 编译器自动生成的应用程序启动代码调用。之后,在初始化 UIComponent 实例时,会将这些实例的
该类是 Flash Player 的 AccessibilityImplementation 类的子类。
当创建 MX 或 Spark 组件时,组件的
子代
Flash Player 对于具有辅助功能的对象不支持真实层次结构。如果 DisplayObject 具有
子代(内部部件)的数量以及用于标识子代的子代 ID 可以通过
角色
组件及其内部部件的 MSAA 角色可以通过
名称
组件及其内部部件的 MSAA 名称可以通过
描述
MSAA 描述只能通过组件的
状态
组件及其内部部件的 MSAA 状态可以通过
值
组件及其内部部件的 MSAA 值可以通过
位置
组件的内部部件的 MSAA 位置(而非组件自身)可以通过
默认操作
组件及其内部部件的 MSAA DefaultAction 可以通过
其他
在显示或隐藏对象时,会发送 MSAA 事件 EVENT_OBJECT_SHOW 和 EVENT_OBJECT_HIDE。这些事件的对应状态将由 Flash Player 处理,Flash Player 不会呈示处于隐藏状态的任何 MSAA 组件。在显示组件时,将会对 AccImpl 使用涉及的这些状态。