对页面的处理的制作方法

文档序号:6594376阅读:141来源:国知局
专利名称:对页面的处理的制作方法
对页面的处理
背景技术
大多数计算机系统和其它设备具有某种形式的用户界面。在个人计算机中,例如, 画面经常被呈现在相连接的显示设备上。仅作为一些示例,该画面可以包括从应用程序和 /或操作系统提供来的信息和/或其它内容。存在不同类型的显示设备。看到所显示页面的内容的用户可能能够较快地识别出并关注相关部分。这是因为 用户可以利用他的或她的眼睛来以视觉方式浏览该画面并且调整到感兴趣的内容上。然 而,视障(non-sighted)读者,如具有有限视力的人,可能不能够以相同方式或者高效地来 以视觉方式浏览页面。

发明内容
本发明涉及对诸如页面之类的内容的处理。在第一方面中,一种方法包括基于包括多个元素的页面的对象模型,来为该页面 生成多个元素中的至少一个元素的上下文分组。实现方式可以包括以下特征中的任何特征或所有特征,或者不包括以下特征。该 方法还可以包括将所生成的上下文分组记录为使得其与所述页面相关联。该方法还可以包 括利用所记录的上下文分组来提供对所述页面的导览,以辅助视障用户。所述对象模型可 以是文档对象模型。生成上下文分组可以包括基于所述对象模型在第一遍中处理所述页 面,以确定包括所述多个元素的多个群组;以及在第二遍中处理所确定的多个群组,以判断 是否将所确定群组中的任何群组组合成所述上下文分组。在第一遍中处理所述页面可以包 括当每个元素被处理时创建运行方向感,所述方向感表示先前被处理元素相对于当前被处 理对象的水平和垂直位置上的差异。所述第一遍中的处理可以至少利用第一规则来执行, 并且所述第二遍中的处理可以至少利用第二规则来执行。所述第一规则可以利用正被处理 的元素中所包括的串的长度。所述第一规则可以利用正被处理的元素的宽度或高度。所述 第一规则可以利用正被处理的元素是否是所述对象模型中的链接或首部对象。所述第一规 则可以利用正被处理的元素是否与所述多个元素中的另一元素在视觉上相接触。所述第一 规则可以利用所述多个元素中多少个元素在所述多个群组中的已被确定的一个群组中。所 述第一规则可以利用正被处理的元素相对于所述多个元素中的另一元素的方向感。所述第 二规则可以利用在水平和垂直方向的至少一个方向上从正被处理的元素到所述多个元素 中的另一元素的距离。所述第二规则可以利用来自所述第一遍的所述多个群组中的至少一 个群组的大小。所述第二规则可以利用所述多个群组中的当前所处理的一个群组与所述多 个群组中的另一群组之间的交叠部分。在第二方面,一种方法包括基于页面生成用于视障用户的用户界面,所述用户界 面包括基于所述页面的对象模型生成的至少一个上下文分组。实现方式可以包括以下特征中的任何特征或所有特征,或者不包括以下特征。生 成用户界面可以使得所述视障用户能够跳过所述页面中的至少一个整区域而不用访问该 区域中的每个元素。
4
在第三方面,一种方法包括标识要分析的页面,所述页面基于文档对象模型 (DOM)并且具有多个元素,当所述页面被生成用于显示时所述多个元素被配置为在视觉上 被排列。该方法包括基于所述DOM处理所标识页面,以将所述多个元素中的每个元素包括 在与所述页面相关联的至少一个上下文群组中。该方法包括利用所述至少一个上下文群组 来辅助视障用户导览所述页面。实现方式可以包括以下特征中的任何特征或所有特征,或者不包括以下特征。将 所述多个元素中的每个元素包括在至少一个上下文群组中包括基于所述对象模型在第一 遍中处理所述页面,以确定包括所述多个元素的多个群组,所述第一遍中的处理是至少利 用第一规则来执行的;以及在第二遍中处理所确定的多个群组,以判断是否将所确定群组 中的任何群组组合成所述上下文分组,所述第二遍中的处理是至少利用第二规则执行的。


图1示出了处理页面以生成上下文分组(contextual grouping)的示例。图2示出了可以执行的操作的示例。图3示出了页面上的上下文分组的示例。图4是可结合本文档中描述的计算机实现的方法使用的示例性计算系统的框图。
具体实施例方式图1示出了处理页面以生成上下文分组的示例。这里,提供了旨在供用户在执行 一个或多个任务时一起工作的设备100。例如,设备100可以是个人计算机、膝上型计算机、 工作站、手持式设备、蜂窝电话、媒体播放器或者任何其它种类的基于计算机的设备。可被 执行的任务可以根据设备的类型而变化,并且可以包括仅仅作为一些示例的浏览页面、输 入或检索信息、与应用程序一起工作、访问媒体库和/或与其它设备通信。设备100具有显示装置102。在此实现方式中,显示装置102被配置为输出在设 备中可获得的一个或多个信息部分。例如,显示装置102可以输出用户寻找的信息和/或 引导用户对设备100进行输入。这里,显示装置102包括多个元素104。示意性地,当元素 104出现在显示装置102上时,它们可以具有特定顺序(例如,配置或布局)。仅作为一些 示例,元素104可以包括出现在显示装置102上的任何种类的内容,包括但不限于块、输入 控制、文本、边界、图形元素、装饰、图像和/或任何其它显示元素。这里的设备100包括处理单元106,该处理单元106负责处理用于在设备100中输 入和/或输出的信息。在一些实现方式中,处理单元106至少可以包括连接到存储器或其 它存储单元的处理器。即,处理器可以操纵或者以其它方式作用于可利用存储器提供给它 的信息。处理单元106可以利用例如管理显示装置102的输入/输出单元108来控制显示 装置102的呈现。在一些实现方式中,输入/输出单元108可以与设备100中的一个或多 个应用程序或者操作系统协同操作或者被提供作为它们的一部分。显示装置102上的输出可以具有许多不同类型。在一些实现方式中,一个或多个 页面可被生成,例如结合供用户从一个页面切换到另一页面的导航工具(例如,超级链接 和/或页面按钮)一起生成。包括页面在内的任何类型的显示输出都可从诸如标记代码之 类的代码来生成。例如,这里的设备100包括源代码110,源代码110被配置为使得显示装置102上的输出包含元素104。源代码110可以包括任何语言形式的许多不同类型的代码 中的任何代码,包括但不限于HTML代码。显示装置102上的内容的(例如,元素104的)复杂度和/或量可以变化。例如, 一些应用程序可以产生较简单的页面(例如,这些页面具有较少的元素104并且/或者在 这些页面中元素104是以并不复杂的图案组织的)。相比之下,其它程序可以产生较复杂的 页面(例如,这些页面具有较多的元素104并且/或者在这些页面中元素104是以复杂的 图案来组织的)。作为又一示例,一些应用程序可以产生有时复杂并且其它时候简单的(例 如,在显示装置102上的)输出。视障用户可以具有使得他们能够细读诸如画面102之类的可视输出的一些或所 有内容的工具。这样的工具的一个示例是所谓的画面阅读器111,用户可以利用它在画面上 选择一个或多个特征(例如元素104中的一个),并且该工具随后使得设备100生成传达与 所选特征有关的消息的出声语音(spoken voice) 0例如,文本-语音转换器可以从所选元 素获取文本作为输入,处理该输入以将文本转换为话语数据,并且然后利用语音合成器将 该话语数据调制成可通过扬声器听见的话语。然而,视障用户可能难以有效地找到页面中的感兴趣部分。例如,如果该视障用户 之前从未与特定页面交互过,则该用户可能不知道与该页面包含的内容有关的任何事情。 如果该页面未包含用户可立即找到的概要(例如,在该页面的开始处),则用户得知该页面 是关于什么内容的唯一的援助可能是在顺序地“逐步”通过该页面上的许多或所有元素的 同时收听画面阅读器。因此,当页面和/或其内容复杂或者冗长(extensive)时,视障用户 可能难以确定该页面与什么内容有关。此外,顺序地逐步通过每个元素并不允许用户基于 该页面的布局标识出感兴趣的部分。出于这些和/或其它原因,可以对页面执行处理以试 图提供更高效的用户界面。在一些实现方式中,这样的处理产生了在页面上标识出的一个 或多个上下文群组。例如,上下文群组可以包含与特定上下文有关的(一个或多个)元素, 并且从而辅助用户导览页面。所提到的处理中的一些可以涉及页面的对象和/或对象模 型,如现在将被描述的。页面(或其它所显示输出)可以包括和/或基于一个或多个对象。例如,每个元 素104可以对应于设备100所识别出的一个或多个对象。这里,对象模型112被创建来定 义相关对象和/或将它们彼此相关联以用于显示装置102上的输出。这里的对象模型112 被与对象114相关联,如示意性地图示出的。在这里的示例中,将描述对象模型可被用来将 页面内容(例如,元素104)组织成为上下文分组。在一些实现方式中,仅作为一些示例,对 象模型112和源代码110可被彼此相关联;共享共同的方面;或者整体地或部分地交叠。在一些实现方式中,对象模型112是文档对象模型(DOM)。DOM可以定义包括在页 面中的对象/元素的顺序,等等。利用网页的DOM顺序,例如,能够搜集关于希望如何可视 地了解该页面的有用信息。例如,web开发者对HTML代码的布局和使用是按顺序放置作为 同一群组的上下文相关的一部分的对象的。当所有对象在一列表中被检索到时,类似对象 在该列表中彼此靠近。随后可以执行一算法来识别列表中的一个对象是否是与该列表中的 前一对象相同的上下文群组的一部分。在一些实现方式中,可以通过仅检查DOM对象的作 用及其框架(例如,该对象的原点和大小)来实现此。即,可以基于页面的对象模型来为该 页面生成多个元素中的至少一个元素的上下文分组。所生成的上下文分组可用来提供对页面的导览以辅助视障用户。在一些实现方式中,可以利用两遍或更多遍的处理来确定上下文群组。第一遍可 以基于网页的DOM顺序来确定元素间的群组。第二遍随后可以在适用时将在第一遍中确定 的一个或多个群组组合为较大群组。下面将描述两遍处理的示例。图2示出了可被执行的操作的示例。这里,方法200包括可由执行存储在(例如 设备100中的)计算机可读介质中的指令的处理器执行的步骤。步骤210涉及标识页面或其它内容。例如,设备100可以将包含元素104的页面 标识为将被处理以辅助视障用户的导览的一个页面。在一些实现方式中,所标识出的页面 被与诸如对象模型112之类的对象模型相关联,该对象模型可以是D0M。步骤220涉及基于该对象模型在第一遍中处理页面。例如,该第一遍可以确定包 含多个元素104的多个群组。例如,可以确定元素104A和104B应当属于第一群组,并且元 素104C和104D应当属于第二群组。如前面提到的,该分组可以基于对象模型112来确定, 并且因此可以在一定程度上反映页面设计者创建该页面背后的意图。第一遍中的处理可以 至少利用第一规则来执行,例如将在下面的示例中描述的。在一些实现方式中,在第一遍中处理页面可以包括当每个元素被处理时创建运行 方向感(running directional sense)。例如,当元素104被处理时,可以确定相对于任何 或所有元素104A-C从元素104D起的方向感。在一些实现方式中,方向感可以表示先前处 理的元素相对于当前处理的对象在水平和垂直方向上的差异。例如,方向感可以是对水平 和垂直距离的量度,并且因此是对元素104D与元素104A之间的相对距离的量度。在第一遍中,探试法和/或其它技术可被用来创建群组。在下面的示例中,有时使 用表述“当前元素”。其可以指代当前正被处理的元素,例如元素104D。即,当前元素可被 应用在处理经排序的元素列表的上下文中,作为当前被迭代的元素。相比之下,在紧邻当前 元素之前被处理的元素有时称为“前一元素”。此外,在临近该前一元素之前被处理的元素 有时称为“再前元素(previous previous element) ”以将其与该前一元素区分开。例如, 第一遍中的处理可以按如下所述这样来进行。第一遍可以包括按照DOM所定义的顺序来迭代每个对象(例如,对象114)。在此 实现方式中,第一遍被执行来基于对象模型创建元素的群组,并且因此必须决定哪个(哪 些)元素包括在每个群组中。在这样做时,该第一遍处理可被配置来1)在确定群组何时开始时忽略这样的对象,如果该对象是如下这些的话·零长度的串或者仅包含空白的串·具有小于等于1个像素的宽度或高度·是链接或首部DOM对象的一部分幻在每个DOM对象被迭代时创建运行“方向感”。例如,该方向感可以通过前一对 象的上一 X和y位置与DOM对象的当前χ和y位置(原点)相比较时的差异来确定。艮口, 在此示例中,方向感涉及一维斜坡计算。幻创建运行框架,其包含当前群组的大小和原点。在一些实现方式中,该运行框架 可以描述正被确定的上下文群组的框架(例如大小和原点)。当在这样的实现方式中迭代 每个元素时,必须作出如下的三个判决之一i)该元素构成新的群组?
ii)该元素被忽略?如果是,则移动到列表中的下一元素。iii)识别当前元素是当前上下文群组的一部分。当前群组可以具有这样的框架 (运行框架),该框架是上下文群组中的各个元素的所有框架的联合。4)基于以下准则创建新的群组如果以下项中任何一个为真,则不创建新的群组 前一对象和当前对象在χ方向上接触(例如,它们位于同一水平面上并且它们在 视觉上彼此“接触”) 群组的当前框架包含新的对象。即,正被创建的上下文群组的当前框架可能包括 列表中正被处理的元素的整体框架。例如,运行框架可能具有χ = 0,y = 0,宽度=100,高 度=100的值,其在视觉上表现为100X100的方形。列表中的下一元素可以具有χ = 90, y = 90,宽度=5,高度=5的框架。该方形框将完全位于正被确定的上下文群组的较大框 架的内部。·群组中有少于2个对象。如果上面的不创建准则不为真并且如果以下项中任一个为真,则创建新的群组·Χ方向上的前一方向感(例如,从再前元素到前一元素的方向感)具有与当前方 向感相同的方向且Y方向不相同并且(AND)Y平面中无交叠(例如,Y的范围彼此不交叠)·Υ方向上的前一方向感(例如,从再前元素到前一元素的方向感)具有与当前方 向感相同的方向且X方向不相同并且(AND)X平面中无交叠(例如,X的范围彼此不交叠) 两个方向感不同且在X或Y平面中无交叠·从群组的当前框架到当前DOM对象在Y距离上有极大差异(例如大于15个像 素)(通常指示出群组之间存在有意义的间隙) 在Y方向感上存在极大差异(例如,大于500个像素),指示出对象之间存在大 的间隙·一行中的两个DOM对象顺序颠倒,意味着它们具有正的y方向感和负的χ方向感
因此,在一些实现方式中,根据上面的处理,第一遍可以导致基于对象模型由元素 形成一个或多个群组。在其它实现方式中,可以使用比上面例举的规则更多或更少的规则。 作为另一示例,规则可以使用与上面不同的值,例如不同的像素或距离或方向感参数。在第一遍中形成的群组随后可在第二遍中使用,如现在将描述的。步骤230涉及在第二遍中处理已确定的多个群组。例如,第二遍可以判断是否将 已确定群组中的任何群组组合成上下文分组。在一些实现方式中,至少利用第二规则来执 行第二遍,如将在下面的示例中描述的。第二遍可以包括遍及每个群组进行迭代以确定哪些群组应当被组合。当前群组和 前一群组之间的值,例如群组的最小和最大宽度和高度,可被计算出。第二遍处理可被配置为1)如果以下项中的任何项为真,则组合群组·对象之间的Y距离小于8个像素且大于-3个像素,并且(AND)当前群组的高度 小于25个像素并且(AND)(框架的较小宽度除以框架的较大宽度大于.5(指示出它们接近 于相同大小)或者(OR)两个群组之间的y距离大于或小于零)·两个群组的交叉部分的宽度大于较小宽度的60%,并且(AND)该交叉部分的高度大于较小高度的40% (指示出存在好到足以将其当作一个群组的交叠)2)如果两个群组被组合,则它们的框架被组合以使得迭代中的下一群组被与新形 成的群组相比较因此,在一些实现方式中,根据上面的处理,第二遍可以导致基于第一遍中确定的 群组形成一个或多个上下文群组。例如,第二遍可以确定元素104A-104D应当都属于上下 文群组114。注意,在第一遍中,元素104C和104D曾属于不同群组。换言之,第二遍处理 可以使元素104C和104D的群组与元素104A和104B的群组因与共同的上下文有关而被合 并。画面阅读器111可以识别出上下文群组114。这可以简化对元素的导览,因为如果用户 确定该上下文群组114不是相关的,则用户可以从此直接跳至下一上下文群组,而不用明 确地逐步通过元素104B-D。在其它实现方式中,可以使用比上面例举的更多或更少的规则。作为另一示例,规 则可以使用与上面不同的值,例如不同的距离或宽度或交叉区域宽度参数。然后,在步骤240中,这些上下文群组例如可以被记录在设备100中或者可与设备 100通信的另一设备中。在一些实现方式中,所生成的上下文分组可被记录为使得其与其所 涉及的页面或其它内容相关联。步骤250涉及基于所确定的上下文群组中的至少一个来提供导览。在一些实现方 式中,可以通过在设备100上生成用于视障用户的用户界面来提供导览。这样的用户界面 可以包括基于页面的对象模型生成的至少一个上下文分组。在一些实现方式中,该用户界 面可以提供视障用户可以跳过页面中的至少一个整体区域而不用访问该区域中的每个元
O图3示出了页面上的上下文分组的示例。这里,例如已根据上述第一遍和第二遍 对页面200进行了处理。结果,已标识出了页面200的上下文分组。此外,例如当页面被呈 现在设备100上时,可以在页面200上高亮上下文分组以用于图示说明。这里,例如,已利用虚线矩形描画出上下文群组202的轮廓。具体地,第一上下文 群组202A涉及特定艺术家对可从苹果公司获得的音乐创作和谱乐产品GarageBand的应 用。因此,该分组的上下文可被认为涉及该艺术家和/或该产品。可以看出上下文群组202A简化了页面上的导览,因为其包括彼此相关的若干个 对象或元素。即,此示例中的该群组包含图像204A、标题204B、日期204C、文本块204D、参 考204E和链接204F。即,用户现在可以导览经过群组202A,而不是逐步通过各个元素中的 每个元素。其它分组可以提供类似的益处。例如,这里的第二上下文群组202B包括用于导览 一系列页面的用户可选页码。因此,用户可以避免顺序地逐步通过每个页码的不便。类似 地,第三上下文群组202C包括被置于所呈现页面的页边空白处的辅助内容。在一些实现方 式中,该内容可以是置于页码200上的广告。这里,例如,群组202C包含与TV节目、影片、 音乐和“特色”项有关的元素。上面的示例中描述的内容以外的其它类型的内容也可包括在上下文群组中。作为 另一示例,在一些实现方式中,上下文群组可以以不同方式被指示出或者可以不在页码上 明确示出。即,取代上面示例中的虚线矩形,可以使用另外的指示符或不使用可视指示符。图4是一般计算机系统400的示意图。根据一种实现方式,系统400可用于与先
9前描述的任意计算机实现的方法相关联地描述的操作。系统400包括处理器410、存储器 420、存储设备430以及输入/输出设备440。组件410、420、430和440中的每个利用系统 总线450被相互连接。处理器410能够处理在系统400内执行的指令。在一种实现方式中, 处理器410是单线程处理器。在另一实现方式中,处理器410是多线程处理器。处理器410 能够处理存储在存储器420中或存储设备430上的指令,以将用于用户界面的图形信息显 示在输入/输出设备440上。存储器420存储系统400内的信息。在一种实现方式中,存储器420是计算机可 读介质。在一种实现方式中,存储器420是易失性存储器单元。在另一实现方式中,存储器 420是非易失性存储器单元。存储设备430能够为系统400提供海量存储。在一种实现方式中,存储设备430 是计算机可读介质。在各种不同实现方式中,存储设备430可以是软盘设备、硬盘设备、光 盘设备或磁带设备。输入/输出设备440为系统400提供输入/输出操作。在一种实现方式中,输入/ 输出设备440包括键盘和/或点选设备。在另一实现方式中,输入/输出设备440包括用 于显示图形用户界面的显示单元。可以利用数字电子电路或者利用计算机软件、固件或硬件(包括本说明书中公开 的结构及其结构上的等同物)或者利用它们中的一个或多个的组合来实现本说明书中描 述的功能操作以及所公开实施例和其它实施例。所公开的以及其它实施例可被实现为一个 或多个计算机程序产品,即,被编码在计算机可读介质上供数据处理装置执行或者控制数 据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可 读存储设备、机器可读存储基底、存储器设备、实现机器可读传播信号的合成物质,或者它 们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机 器,作为示例,包括可编程处理器、计算机,或者多个处理器或计算机。装置除了包括硬件以 外,还可包括为所关注的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、 数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。传播信号是人为生成 的信号(例如,机器生成的电信号、光信号或电磁信号),其被生成来对信息编码以用于传 输给合适的接收器装置。可以以任何形式的编程语言,包括编译语言或解释语言来编写计算机程序(也称 为程序、软件、软件应用、脚本或代码),并且其可以以任何形式被部署,包括被部署为独立 的程序或者模块、组件、子例程、或者适合用于计算环境中的其它单元。计算机程序不必对 应于文件系统中的文件。可将程序存储在保存其它程序或数据(例如,存储在标记语言文 档中的一个或多个脚本)的文件的一部分中,专用于所关注程序的单个文件中,或者多个 协同文件(例如,存储一个或多个模块、子程序或者代码的多个部分的文件)中。本说明书中描述的处理和逻辑流程可以由一个或多个可编程处理器执行,这些处 理器执行一个或多个计算机程序以通过操作输入数据并生成输出来执行功能。处理和逻辑 流程还可以由诸如FPGA(现场可编程门阵列)或ASIC(专用集成电路)之类的专用逻辑电 路来执行,并且装置还可被实现为诸如FPGA (现场可编程门阵列)或ASIC (专用集成电路) 之类的专用逻辑电路。适合于执行计算机程序的处理器例如包括通用和专用微处理器两者,以及任何种类的数字计算机中的任何一个或多个处理器。一般地,处理器将从只读存储器或随机存取 存储器或它们两者接收指令和数据。计算机的重要元件是用于执行指令的处理器和用于存 储指令和数据的一个或多个存储器设备。一般地,计算机还包括用于存储数据的一个或多 个海量存储设备,例如,磁盘、磁光盘或光盘,或者被可操作地耦合来从这些设备接收数据 或向这些设备传送数据,或者两者。然而,计算机不必具有这样的设备。适合于存储计算机 程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备, 例如包括半导体存储器设备,如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘或可移除盘; 磁光盘;以及CD-ROM和DVD-ROM盘。可以利用专用逻辑电路来扩充处理器和存储器或者处 理器和存储器可被包括在专用逻辑电路中。为了提供与用户的交互,所公开的实施例可以在计算机上实现,该计算机具有用 于向用户显示信息的显示设备,如CRT (阴极射线管)、LCD (液晶显示器)监视器、触敏设备 或显示器,以及用于使得用户可以向计算机提供输入的键盘以及点选设备,如鼠标或轨迹 球。其它种类的设备也可用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式 的可感知反馈,如视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入可以以任何形式 接收,包括声响、话语或触觉输入。尽管本说明书包含了许多细节,然而这些细节不应被解释为是对要求保护的或可 能要求保护的内容的范围的限制,而应当被解释为是对依特定实施例而定的特征的描述。 在本说明书中在分离的实施例的上下文中描述的某些特征也可以组合形式在单个实施例 中实现。反之,在单个实施例的上下文中描述的各个特征也可在多个分离的实施例中或者 以任何适当的子组合的形式来实现。此外,尽管特征在上面被描述为以某些组合的形式来 操作并且甚至最初这样来被保护,然而在一些情况中,来自要求保护的组合的一个或多个 特征可从该组合被剥离,并且要求保护的组合可针对子组合或者子组合的变体。类似地,尽管在附图中以特定顺序描述了操作,然而这不应当被理解为要求这些 操作以所示的特定顺序或者以连续的顺序被执行或者所有的图示出的操作都被执行,以获 得希望的结果。在某些状况中,多任务和并行处理可能是有利的。此外,上述实施例中对各 个系统组件的分离不应当被理解为在所有实施例中都要求这样的分离,并且应当理解,所 描述的程序组件和系统一般地可以一起被集成在单个软件产品中或者被封装成多个软件产品。这里描述的系统和技术可以在这样的计算系统中实现,该计算系统包括后端组件 (例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或者包括前端组件(例 如,具有使得用户可以与这里描述的系统和技术的实现方式交互的图形用户界面或Web浏 览器的客户端计算机),或者这样的后端、中间件或前端组件的任何组合。系统的组件可以 通过任何数字数据通信形式或介质(例如通信网络)而被相互连接。通信网络的示例包括 局域网(“LAN”)、广域网(“WAN”)和因特网。计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通 过通信网络进行交互。客户端和服务器的关系借助于运行在各个计算机上的并且彼此具有 客户端-服务器关系的计算机程序来产生。尽管上面已详细描述了一些实现方式,然而还可以有其它修改。例如,附图中所示 的流程图不需要所示出的特定顺序或者连续的顺序来获得希望的结果。另外,还可提供其它步骤,或者可从所描述的流程图中去除步骤,并且可向所描述系统添加或者从其移除其 它组件。因此,可对所公开的实现方式作出各种修改并且依然落在所附权利要求的范围内。
权利要求
1.一种方法,包括基于包括多个元素的页面的对象模型,来为所述页面生成所述多个元素中的至少一个 元素的上下文分组。
2.如权利要求1所述的方法,还包括将所生成的上下文分组记录为使得其与所述页 面相关联。
3.如权利要求2所述的方法,还包括利用所记录的上下文分组来提供对所述页面的 导览,以辅助视障用户。
4.如权利要求1所述的方法,其中,所述对象模型是文档对象模型。
5.如权利要求1所述的方法,其中,生成上下文分组包括基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组;以及在第二遍中处理所确定的多个群组,以判断是否将所确定群组中的任何群组组合成所 述上下文分组。
6.如权利要求5所述的方法,其中,在第一遍中处理所述页面包括当每个元素被处理 时创建运行方向感,所述方向感表示先前被处理元素相对于当前被处理对象的水平和垂直 位置上的差异。
7.如权利要求5所述的方法,其中,所述第一遍中的处理是至少利用第一规则执行的, 并且所述第二遍中的处理是至少利用第二规则执行的。
8.如权利要求7所述的方法,其中,所述第一规则利用正被处理的元素中所包括的串 的长度。
9.如权利要求7所述的方法,其中,所述第一规则利用正被处理的元素的宽度或高度。
10.如权利要求7所述的方法,其中,所述第一规则利用正被处理的元素是否是所述对 象模型中的链接或首部对象。
11.如权利要求7所述的方法,其中,所述第一规则利用正被处理的元素是否与所述多 个元素中的另一元素在视觉上相接触。
12.如权利要求7所述的方法,其中,所述第一规则利用所述多个元素中多少个元素在 所述多个群组中的已被确定的一个群组中。
13.如权利要求7所述的方法,其中,所述第一规则利用正被处理的元素相对于所述多 个元素中的另一元素的方向感。
14.如权利要求7所述的方法,其中,所述第二规则利用在水平和垂直方向的至少一个 方向上从正被处理的元素到所述多个元素中的另一元素的距离。
15.如权利要求7所述的方法,其中,所述第二规则利用来自所述第一遍的所述多个群 组中的至少一个群组的大小。
16.如权利要求7所述的方法,其中,所述第二规则利用所述多个群组中的当前所处理 的一个群组与所述多个群组中的另一群组之间的交叠部分。
17.一种方法,包括基于页面生成用于视障用户的用户界面,所述用户界面包括基于所述页面的对象模型 生成的至少一个上下文分组。
18.如权利要求17所述的方法,其中,生成用户界面使得所述视障用户能够跳过所述页面中的至少一个整区域而不用访问该区域中的每个元素。
19.一种方法,包括标识要分析的页面,所述页面基于文档对象模型(DOM)并且具有多个元素,当所述页 面被生成用于显示时所述多个元素被配置为在视觉上被排列;基于所述DOM处理所标识页 面,以将所述多个元素中的每个元素包括在与所述页面相关联的至少一个上下文群组中; 以及利用所述至少一个上下文群组来辅助视障用户导览所述页面。
20.如权利要求19所述的方法,其中,将所述多个元素中的每个元素包括在至少一个 上下文群组中包括基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组, 所述第一遍中的处理是至少利用第一规则来执行的;以及在第二遍中处理所确定的多个群组,以判断是否将所确定群组中的任何群组组合成所 述上下文分组,所述第二遍中的处理是至少利用第二规则执行的。
全文摘要
一种方法包括基于包括多个元素的页面的对象模型,来为该页面生成多个元素中的至少一个元素的上下文分组。一种方法包括基于页面生成用于视障用户的用户界面,该用户界面包括基于该页面的对象模型生成的至少一个上下文分组。一种方法包括标识要分析的页面,该页面基于文档对象模型(DOM)并且具有多个元素,当该页面被生成用于显示时多个元素被配置为在视觉上被排列。该方法包括基于该DOM处理所标识页面,以将多个元素中的每个元素包括在与该页面相关联的至少一个上下文群组中。该方法包括利用该至少一个上下文群组来辅助视障用户导览该页面。
文档编号G06F17/30GK102112985SQ200980130586
公开日2011年6月29日 申请日期2009年5月14日 优先权日2008年6月6日
发明者克里斯多佛·费雷泽施, 埃里克·泰勒·西摩 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1