用于遗留软件与屏幕朗读器程序之间的互操作的方法和装置制造方法及图纸

技术编号:2869842 阅读:216 留言:0更新日期:2012-04-11 18:40
一种计算机程序和方法,帮助屏幕朗读器工作于其用户界面定义不符合屏幕朗读器程序所期望的设计准则的遗留程序。该方法包括:分析图形用户界面以识别用户界面元素在界面内的逻辑顺序;将用户界面元素在用户界面定义内的顺序与所识别的逻辑顺序进行比较,以识别任何所需的元素重新排序以符合所识别的逻辑顺序;以及执行所需的元素重新排序以符合所识别的逻辑顺序。为每个可分离的用户界面组件(如对话框)生成一个或多个列表或表格,以指定用于对定义内顺序不正确的用户界面控件重新排序的所需顺序,并且标识动态生成以与不具有所需静态文本控件的编辑控件一起使用的新静态文本控件。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及可访问性辅助程序如屏幕朗读器程序与其他计算机程序和装置之间的互操作。
技术介绍
近年来日益认识到需要考虑残疾人士的需要来设计软件产品和网页,以避免排除特定人群访问信息技术和信息内容。美国和英国政府以及其他国家的最近立法已使得帮助残疾人士访问商品和服务是强制性的,并且这就突出了软件供应商和信息提供商转向更易于访问的软件产品的重要性。而且,采用对可访问性问题的适当解决方案,万维网因特网服务和信息技术一般能够向盲人和视力受损人提供非常有用的服务来增强他们的自我依赖以及主动参与信息交换的能力。可以使得软件产品易于访问的一种重要方式是使其正确地与屏幕朗读器程序一起工作。这些程序朗读显示在屏幕上的信息,或者将屏幕信息转换成盲文,从而使眼盲和视力受损的用户可以访问软件产品。目前存在很多GUI屏幕朗读器产品,包括来自国际商业机器公司的Screen Reader/2(TM)、来自Henter-Joyce Inc.的Jaws(TM)forWindows(TM)、来自Arctic Technologies Inc.的Winvision(TM)以及来自Berkeley Access的Outspoken(TM)for Windows。很多这些屏幕朗读器能够朗读图标和其他图形对象。例如,Outspoken屏幕朗读器将对话框、圆形按钮和其他图形控件转换成可听输出,并且可以与为Windows操作系统开发的很多应用程序一起使用。当软件产品具有需要用户输入数据或其他信息的对话框或面板时,它们典型地使用称作‘静态文本控件’的控件随后是用户输入数据的输入区域(‘编辑控件’)而具有一行或多行描述所要输入的数据的文本。屏幕朗读器软件查找紧邻在编辑控件之前的静态文本控件,并且向用户朗读它作为在此点输入什么的提示。对话框或面板元素典型地作为控件有序列表而定义在一个文件中,并且屏幕朗读器通常将以它们出现在该列表中的次序朗读这些控件。对于屏幕朗读器以正确逻辑次序朗读对话框或面板,控件必须以正确次序位于该列表中。对于典型屏幕朗读器正确地以输入区域的提示工作,以下几点是重要的1)使用静态文本控件实现编辑控件的提示;以及2)在对话框或面板定义文件中,正确的静态文本控件紧邻在编辑控件之前。允许屏幕朗读器操作的先前尝试依赖于向用户界面设计者提供“可访问性”准则从而如果设计或重新设计用户界面将符合该准则,因而标准屏幕朗读器将能够读取并解释图形以及文本元素,并且以正确的顺序提供它们。然而,在软件供应商注意残疾人士可访问性需求之前所编写的遗留程序可能具有很多不满足这些规则的对话框和面板定义,并且如果软件产品在很多不同国家出售,则各定义可能已被翻译成很多语言。由于无论控件在定义中的次序对话框或面板通常都将正确显示,因此只有当考虑与屏幕朗读器程序的兼容性时,准确的顺序才变得重要。遗留程序还可能使用不同于静态文本控件的控件作为编辑区域的提示区域,例如,允许用户从多个选项的范围内仅选择一个选项的‘圆形按钮’控件-在这种情况下,只有选择特定选项,输入区域才可以用来输入参数。如果提示是圆形按钮控件,则设计为读出与编辑控件相关联的静态文本控件的文本的屏幕朗读器将不正确工作,并且如果控件在对话框或面板定义内的次序不正确,则它将不以正确次序读出元素。对于程序员在复杂软件产品多语言版本的所有对话框和面板定义内测试并改变控件次序或者增加控件来保证屏幕朗读器的正确操作将是冗长且易于出错的任务,并且将可能导致对话框和面板显示得与现有用户所熟悉和在产品文档中所示不同。US 6,144,377公开一种允许可访问性辅助程序如屏幕朗读器程序访问和操纵应用程序的用户接口(UI)元素包括图形元素如编辑框和按钮的架构。根据US 6,144,377,允许屏幕朗读器访问实现UI元素的程序代码和数据以检查并操纵UI元素的各种特性如其位置或文本描述。然而,US 6,144,377没有公开如果控件或者这些控件在用户界面元素定义内的次序不同于屏幕朗读器所期望则典型屏幕朗读器不能完整或以正确次序朗读屏幕信息这一问题。
技术实现思路
在本专利技术的第一方面,提供一种帮助屏幕朗读器操作的方法,包括如下步骤分析图形用户界面以识别用户界面元素在界面内的逻辑顺序;将用户界面元素在用户界面定义内的顺序与所识别的逻辑顺序进行比较,以识别任何所需的元素重新排序以符合所识别的逻辑顺序;以及执行所需的元素重新排序以符合所识别的逻辑顺序。根据本专利技术这一方面的方法允许依赖于特定用户界面顺序的屏幕朗读器以正确次序朗读GUI信息。本专利技术最好包括,响应分析或比较步骤,生成表示所识别逻辑顺序的界面内(或其可分离组件内)的用户界面元素列表,然后使用该列表来指定控件在用户界面定义内的所需顺序。允许屏幕朗读器以所识别逻辑顺序朗读用户界面元素控件的比较和重新排序步骤最好包括,响应开始显示用户界面,生成一个修改用户界面定义,其中,修改用户界面定义内的控件顺序符合所识别的逻辑顺序。在显示时候生成修改用户界面定义最好通过调用操作系统功能以实现将元素重新排序成在列表中指定的顺序来实现。因此,至少在可以获得用于访问和操纵用户界面定义的功能的操作系统环境中,本专利技术可以以非常少的新程序代码来实现。例如,本专利技术可以通过生成表示所识别逻辑顺序的用户界面元素有序列表然后使用响应“开始对话框显示”命令或消息(在Microsoft的Windows操作系统的例子中为“WM_INITDIALOG”消息)调用如在US 6,144,377中所述的操作系统功能来实现。本专利技术可以用来保证屏幕朗读器对整个用户界面的正确操作,但是在一个优选实施例中,对分别定义的用户界面组件如面板、对话框或窗口(均可以包含很多不同的可选择或可编辑用户界面元素)单独执行其处理。本专利技术可以实现窗口、面板或对话框定义内用户界面元素的重新排序,从而使屏幕朗读器以对用户有意义的正确逻辑顺序朗读控件。由于本专利技术允许屏幕朗读器程序正确使用遗留程序内的对话框和面板而无需人工修改遗留程序内的众多对话框和面板定义,因此与依赖于人工重新排序界面定义元素的情况相比,本专利技术可以实现得更快且更可靠。根据本专利技术的实施例,在三种可能时候之一处理应用程序内的对话框/面板定义1.在将对话框/面板定义编译成二进制格式之前,通过软件开发工具实现本专利技术。2.在将对话框/面板定义编译成二进制格式之后,但是在使用它们来显示它们之前。3.当对话框/面板显示在屏幕上时,通过运行时刻过程来执行其操作。运行时刻过程可以是操作系统的特性,包括用户界面的应用程序的特性、屏幕朗读器程序组件或者单独工具如Java(TM)applet(小应用程序)或ActiveX控件。应用程序在本上下文中是使用操作系统资源执行数据处理功能的任何程序,包括中间件和商业集成产品如消息递送或消息代理产品以及执行终端用户请求操作的程序如在线预订或订购程序。这些可选实现时候的最后一个是最简单实现的,因为它不需要知道对话框/面板定义的源或者编译二进制格式的格式。本专利技术的该实施例将在下面进行更详细的描述。在优选实施例中,本专利技术使用为每个错误对话框或面板定义生成的信息列表或表格以及当开始显示对话框或面板时运行以使用表格信息来纠正问题的过程。对于对话框或面板的所有不同语言版本,都使用相同的列表本文档来自技高网
...

【技术保护点】
一种帮助屏幕朗读器操作的方法,包括如下步骤:    分析图形用户界面以识别用户界面元素在界面内的逻辑顺序;    将用户界面元素在用户界面定义内的顺序与所识别的逻辑顺序进行比较,以识别任何所需的元素重新排序以符合所识别的逻辑顺序;以及    执行所需的元素重新排序以符合所识别的逻辑顺序。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:格雷汉姆R爱德尔森
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1