CN102112985B - 对页面的处理 - Google Patents
对页面的处理 Download PDFInfo
- Publication number
- CN102112985B CN102112985B CN200980130586.0A CN200980130586A CN102112985B CN 102112985 B CN102112985 B CN 102112985B CN 200980130586 A CN200980130586 A CN 200980130586A CN 102112985 B CN102112985 B CN 102112985B
- Authority
- CN
- China
- Prior art keywords
- page
- context
- group
- grouping
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B21/00—Teaching, or communicating with, the blind, deaf or mute
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B21/00—Teaching, or communicating with, the blind, deaf or mute
- G09B21/001—Teaching or communicating with blind persons
- G09B21/006—Teaching or communicating with blind persons using audible presentation of the information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种方法包括:基于包括多个元素的页面的对象模型,来为该页面生成多个元素中的至少一个元素的上下文分组。一种方法包括:基于页面生成用于视障用户的用户界面,该用户界面包括基于该页面的对象模型生成的至少一个上下文分组。一种方法包括:标识要分析的页面,该页面基于文档对象模型(DOM)并且具有多个元素,当该页面被生成用于显示时多个元素被配置为在视觉上被排列。该方法包括基于该DOM处理所标识页面,以将多个元素中的每个元素包括在与该页面相关联的至少一个上下文群组中。该方法包括利用该至少一个上下文群组来辅助视障用户导览该页面。
Description
背景技术
大多数计算机***和其它设备具有某种形式的用户界面。在个人计算机中,例如,画面经常被呈现在相连接的显示设备上。仅作为一些示例,该画面可以包括从应用程序和/或操作***提供来的信息和/或其它内容。存在不同类型的显示设备。
看到所显示页面的内容的用户可能能够较快地识别出并关注相关部分。这是因为用户可以利用他的或她的眼睛来以视觉方式浏览该画面并且调整到感兴趣的内容上。然而,视障(non-sighted)读者,如具有有限视力的人,可能不能够以相同方式或者高效地来以视觉方式浏览页面。
发明内容
本发明涉及对诸如页面之类的内容的处理。
在第一方面中,一种方法包括基于包括多个元素的页面的对象模型,来为该页面生成多个元素中的至少一个元素的上下文分组。
实现方式可以包括以下特征中的任何特征或所有特征,或者不包括以下特征。该方法还可以包括将所生成的上下文分组记录为使得其与所述页面相关联。该方法还可以包括利用所记录的上下文分组来提供对所述页面的导览,以辅助视障用户。所述对象模型可以是文档对象模型。生成上下文分组可以包括:基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组;以及在第二遍中处理所确定的多个群组,以判断是否将所确定群组中的任何群组组合成所述上下文分组。在第一遍中处理所述页面可以包括当每个元素被处理时创建运行方向感,所述方向感表示先前被处理元素相对于当前被处理对象的水平和垂直位置上的差异。所述第一遍中的处理可以至少利用第一规则来执行,并且所述第二遍中的处理可以至少利用第二规则来执行。所述第一规则可以利用正被处理的元素中所包括的串的长度。所述第一规则可以利用正被处理的元素的宽度或高度。所述第一规则可以利用正被处理的元素是否是所述对象模型中的链接或首部对象。所述第一规则可以利用正被处理的元素是否与所述多个元素中的另一元素在视觉上相接触。所述第一规则可以利用所述多个元素中多少个元素在所述多个群组中的已被确定的一个群组中。所述第一规则可以利用正被处理的元素相对于所述多个元素中的另一元素的方向感。所述第二规则可以利用在水平和垂直方向的至少一个方向上从正被处理的元素到所述多个元素中的另一元素的距离。所述第二规则可以利用来自所述第一遍的所述多个群组中的至少一个群组的大小。所述第二规则可以利用所述多个群组中的当前所处理的一个群组与所述多个群组中的另一群组之间的交叠部分。
在第二方面,一种方法包括:基于页面生成用于视障用户的用户界面,所述用户界面包括基于所述页面的对象模型生成的至少一个上下文分组。
实现方式可以包括以下特征中的任何特征或所有特征,或者不包括以下特征。生成用户界面可以使得所述视障用户能够跳过所述页面中的至少一个整区域而不用访问该区域中的每个元素。
在第三方面,一种方法包括:标识要分析的页面,所述页面基于文档对象模型(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)。例如,文本-语音转换器可以从所选元素获取文本作为输入,处理该输入以将文本转换为话语数据,并且然后利用语音合成器将该话语数据调制成可通过扬声器听见的话语。
然而,视障用户可能难以有效地找到页面中的感兴趣部分。例如,如果该视障用户之前从未与特定页面交互过,则该用户可能不知道与该页面包含的内容有关的任何事情。如果该页面未包含用户可立即找到的概要(例如,在该页面的开始处),则用户得知该页面是关于什么内容的唯一的援助可能是在顺序地“逐步”通过该页面上的许多或所有元素的同时收听画面阅读器。因此,当页面和/或其内容复杂或者冗长(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之类的对象模型相关联,该对象模型可以是DOM。
步骤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对象的一部分
2)在每个DOM对象被迭代时创建运行“方向感”。例如,该方向感可以通过前一对象的上一x和y位置与DOM对象的当前x和y位置(原点)相比较时的差异来确定。即,在此示例中,方向感涉及一维斜坡计算。
3)创建运行框架,其包含当前群组的大小和原点。在一些实现方式中,该运行框架可以描述正被确定的上下文群组的框架(例如大小和原点)。当在这样的实现方式中迭代每个元素时,必须作出如下的三个判决之一:
i)该元素构成新的群组?
ii)该元素被忽略?如果是,则移动到列表中的下一元素。
iii)识别当前元素是当前上下文群组的一部分。当前群组可以具有这样的框架(运行框架),该框架是上下文群组中的各个元素的所有框架的联合。
4)基于以下准则创建新的群组:
如果以下项中任何一个为真,则不创建新的群组:
·前一对象和当前对象在x方向上接触(例如,它们位于同一水平面上并且它们在视觉上彼此“接触”)
·群组的当前框架包含新的对象。即,正被创建的上下文群组的当前框架可能包括列表中正被处理的元素的整体框架。例如,运行框架可能具有x=0,y=0,宽度=100,高度=100的值,其在视觉上表现为100×100的方形。列表中的下一元素可以具有x=90,y=90,宽度=5,高度=5的框架。该方形框将完全位于正被确定的上下文群组的较大框架的内部。
·群组中有少于2个对象。
如果上面的不创建准则不为真并且如果以下项中任一个为真,则创建新的群组:
·X方向上的前一方向感(例如,从再前元素到前一元素的方向感)具有与当前方向感相同的方向且Y方向不相同并且(AND)Y平面中无交叠(例如,Y的范围彼此不交叠)
·Y方向上的前一方向感(例如,从再前元素到前一元素的方向感)具有与当前方向感相同的方向且X方向不相同并且(AND)X平面中无交叠(例如,X的范围彼此不交叠)
·两个方向感不同且在X或Y平面中无交叠
·从群组的当前框架到当前DOM对象在Y距离上有极大差异(例如大于15个像素)(通常指示出群组之间存在有意义的间隙)
·在Y方向感上存在极大差异(例如,大于500个像素),指示出对象之间存在大的间隙
·一行中的两个DOM对象顺序颠倒,意味着它们具有正的y方向感和负的x方向感
因此,在一些实现方式中,根据上面的处理,第一遍可以导致基于对象模型由元素形成一个或多个群组。在其它实现方式中,可以使用比上面例举的规则更多或更少的规则。作为另一示例,规则可以使用与上面不同的值,例如不同的像素或距离或方向感参数。
在第一遍中形成的群组随后可在第二遍中使用,如现在将描述的。
步骤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上生成用于视障用户的用户界面来提供导览。这样的用户界面可以包括基于页面的对象模型生成的至少一个上下文分组。在一些实现方式中,该用户界面可以提供:视障用户可以跳过页面中的至少一个整体区域而不用访问该区域中的每个元素。
图3示出了页面上的上下文分组的示例。这里,例如已根据上述第一遍和第二遍对页面200进行了处理。结果,已标识出了页面200的上下文分组。此外,例如当页面被呈现在设备100上时,可以在页面200上高亮上下文分组以用于图示说明。
这里,例如,已利用虚线矩形描画出上下文群组202的轮廓。具体地,第一上下文群组202A涉及特定艺术家对可从苹果公司获得的音乐创作和谱乐产品GarageBand的应用。因此,该分组的上下文可被认为涉及该艺术家和/或该产品。
可以看出上下文群组202A简化了页面上的导览,因为其包括彼此相关的若干个对象或元素。即,此示例中的该群组包含图像204A、标题204B、日期204C、文本块204D、参考204E和链接204F。即,用户现在可以导览经过群组202A,而不是逐步通过各个元素中的每个元素。
其它分组可以提供类似的益处。例如,这里的第二上下文群组202B包括用于导览一系列页面的用户可选页码。因此,用户可以避免顺序地逐步通过每个页码的不便。类似地,第三上下文群组202C包括被置于所呈现页面的页边空白处的辅助内容。在一些实现方式中,该内容可以是置于页码200上的广告。这里,例如,群组202C包含与TV节目、影片、音乐和“特色”项有关的元素。
上面的示例中描述的内容以外的其它类型的内容也可包括在上下文群组中。作为另一示例,在一些实现方式中,上下文群组可以以不同方式被指示出或者可以不在页码上明确示出。即,取代上面示例中的虚线矩形,可以使用另外的指示符或不使用可视指示符。
图4是一般计算机***400的示意图。根据一种实现方式,***400可用于与先前描述的任意计算机实现的方法相关联地描述的操作。***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”)和因特网。
计算***可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于运行在各个计算机上的并且彼此具有客户端-服务器关系的计算机程序来产生。
尽管上面已详细描述了一些实现方式,然而还可以有其它修改。例如,附图中所示的流程图不需要所示出的特定顺序或者连续的顺序来获得希望的结果。另外,还可提供其它步骤,或者可从所描述的流程图中去除步骤,并且可向所描述***添加或者从其移除其它组件。因此,可对所公开的实现方式作出各种修改并且依然落在所附权利要求的范围内。
Claims (22)
1.一种用于处理页面的方法,包括:
接收包括多个元素的页面,所述多个元素对应于按照所述页面的对象模型排列的多个对象;
基于所述多个对象在所述页面的所述对象模型中的位置来为所述页面生成一个或多个上下文分组,每一个所述上下文分组包括所述多个元素中的至少一个元素;以及
使用所述一个或多个上下文分组来提供对所述页面的分组到分组的用户导览,其中每一个所述上下文分组包括与一共同的上下文相关的多个元素,
其中,生成所述上下文分组包括:
基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组;以及
在第二遍中处理所确定的多个群组,根据所述多个群组中的一个或多个群组是否与一共同的上下文有关,而将所述一个或多个群组组合成所述上下文分组。
2.如权利要求1所述的方法,还包括:将所生成的上下文分组记录为使得其与所述页面相关联。
3.如权利要求2所述的方法,还包括:利用所记录的上下文分组来提供对所述页面的导览,以辅助视障用户。
4.如权利要求1所述的方法,其中,所述对象模型是文档对象模型。
5.如权利要求1所述的方法,其中,在第一遍中处理所述页面包括当每个元素被处理时创建运行方向感,所述方向感表示先前被处理元素相对于当前被处理对象的水平和垂直位置上的差异。
6.如权利要求1所述的方法,其中,所述第一遍中的处理是至少利用第一规则执行的,并且所述第二遍中的处理是至少利用第二规则执行的。
7.如权利要求6所述的方法,其中,所述第一规则利用正被处理的元素中所包括的串的长度。
8.如权利要求6所述的方法,其中,所述第一规则利用正被处理的元素的宽度或高度。
9.如权利要求6所述的方法,其中,所述第一规则利用正被处理的元素是否是所述对象模型中的链接或首部对象的一部分。
10.如权利要求6所述的方法,其中,所述第一规则利用正被处理的元素是否与所述多个元素中的另一元素在视觉上相接触。
11.如权利要求6所述的方法,其中,所述第一规则利用所述多个元素中多少个元素在所述多个群组中的已被确定的一个群组中。
12.如权利要求6所述的方法,其中,所述第一规则利用正被处理的元素相对于所述多个元素中的另一元素的方向感。
13.如权利要求6所述的方法,其中,所述第二规则利用在水平和垂直方向的至少一个方向上从正被处理的元素到所述多个元素中的另一元素的距离。
14.如权利要求6所述的方法,其中,所述第二规则利用来自所述第一遍的所述多个群组中的至少一个群组的大小。
15.如权利要求6所述的方法,其中,所述第二规则利用所述多个群组中的当前所处理的一个群组与所述多个群组中的另一群组之间的交叠部分。
16.一种用于处理页面的方法,包括:
标识要分析的页面,所述页面包括多个元素并且基于文档对象模型(DOM),所述文档对象模型包括与所述多个元素相对应的多个对象,其中,当所述页面被生成用于显示时所述多个元素被配置为按照所述文档对象模型在视觉上被排列;
基于所述文档对象模型中所包括的所述多个对象的位置处理所标识页面,以将所述多个元素中的每个元素包括在与所述页面相关联的多个上下文分组中的一个上下文分组中;以及
利用所述上下文分组来辅助视障用户对所述页面进行分组到分组的用户导览,其中每一个所述上下文分组包括与一共同的上下文相关的多个元素,
其中,将所述多个元素中的每个元素包括在上下文分组中包括:
基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组,所述第一遍中的处理是至少利用第一规则来执行的;以及
在第二遍中处理所确定的多个群组,根据所述多个群组中的一个或多个群组是否与一共同的上下文有关,而将所述一个或多个群组组合成所述上下文分组,所述第二遍中的处理是至少利用第二规则执行的。
17.如权利要求16所述的方法,其中,在已经提供分组到分组的用户导览之后所述页面的视觉外观与在提供分组到分组的用户导览之前所述页面的视觉外观没有不同。
18.一种数据处理***,包括:
用于接收包括多个元素的页面的装置,所述多个元素对应于按照所述页面的对象模型排列的多个对象;
用于基于所述多个对象在所述页面的所述对象模型中的位置来为所述页面生成一个或多个上下文分组的装置,每一个所述上下文分组包括所述多个元素中的至少一个元素;以及
用于使用所述一个或多个上下文分组来提供对所述页面的分组到分组的用户导览的装置,其中每一个所述上下文分组包括与一共同的上下文相关的多个元素,
其中,用于生成所述上下文分组的装置包括:
用于基于所述对象模型在第一遍中处理所述页面,以确定包括所述多个元素的多个群组的装置;以及
用于在第二遍中处理所确定的多个群组,根据所述多个群组中的一个或多个群组是否与一共同的上下文有关,而将所述一个或多个群组组合成所述上下文分组的装置。
19.如权利要求18所述的***,其中,在第一遍中处理所述页面包括当每个元素被处理时创建运行方向感,所述方向感表示先前被处理元素相对于当前被处理对象的水平和垂直位置上的差异。
20.如权利要求18所述的***,其中,所述第一遍中的处理是至少利用第一规则执行的,并且所述第二遍中的处理是至少利用第二规则执行的。
21.如权利要求20所述的***,其中,所述第一规则利用正被处理的元素中所包括的串的长度。
22.如权利要求20所述的***,其中,所述第一规则利用正被处理的元素的宽度或高度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/135,003 | 2008-06-06 | ||
US12/135,003 US9405847B2 (en) | 2008-06-06 | 2008-06-06 | Contextual grouping of a page |
PCT/US2009/044011 WO2009148790A1 (en) | 2008-06-06 | 2009-05-14 | Processing a page |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102112985A CN102112985A (zh) | 2011-06-29 |
CN102112985B true CN102112985B (zh) | 2015-10-21 |
Family
ID=40897277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980130586.0A Active CN102112985B (zh) | 2008-06-06 | 2009-05-14 | 对页面的处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9405847B2 (zh) |
EP (1) | EP2307985A1 (zh) |
CN (1) | CN102112985B (zh) |
WO (1) | WO2009148790A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8369944B2 (en) | 2007-06-06 | 2013-02-05 | Zoll Medical Corporation | Wearable defibrillator with audio input/output |
US8271082B2 (en) | 2007-06-07 | 2012-09-18 | Zoll Medical Corporation | Medical device configured to test for user responsiveness |
US9442621B2 (en) * | 2009-05-05 | 2016-09-13 | Suboti, Llc | System, method and computer readable medium for determining user attention area from user interface events |
US8386965B2 (en) * | 2010-01-15 | 2013-02-26 | Apple Inc. | Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries |
US9937355B2 (en) | 2010-11-08 | 2018-04-10 | Zoll Medical Corporation | Remote medical device alarm |
CN102486799B (zh) | 2010-12-03 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 一种环球信息网www页面处理方法和装置 |
US8897860B2 (en) | 2011-03-25 | 2014-11-25 | Zoll Medical Corporation | Selection of optimal channel for rate determination |
WO2012135028A1 (en) | 2011-03-25 | 2012-10-04 | Zoll Medical Corporation | Method of detecting signal clipping in a wearable ambulatory medical device |
WO2013130957A2 (en) | 2012-03-02 | 2013-09-06 | Zoll Medical Corporation | Systems and methods for configuring a wearable medical monitoring and/or treatment device |
US9814894B2 (en) | 2012-05-31 | 2017-11-14 | Zoll Medical Corporation | Systems and methods for detecting health disorders |
US9579516B2 (en) | 2013-06-28 | 2017-02-28 | Zoll Medical Corporation | Systems and methods of delivering therapy using an ambulatory medical device |
CN104571804B (zh) * | 2013-10-29 | 2018-04-17 | 国际商业机器公司 | 一种对跨应用程序的文档界面进行关联的方法和*** |
WO2016100906A1 (en) | 2014-12-18 | 2016-06-23 | Zoll Medical Corporation | Pacing device with acoustic sensor |
WO2016149583A1 (en) | 2015-03-18 | 2016-09-22 | Zoll Medical Corporation | Medical device with acoustic sensor |
US10252070B2 (en) | 2015-09-08 | 2019-04-09 | Zoll Medical Corporation | Secure limited components for use with medical devices |
US11617538B2 (en) | 2016-03-14 | 2023-04-04 | Zoll Medical Corporation | Proximity based processing systems and methods |
US11568984B2 (en) | 2018-09-28 | 2023-01-31 | Zoll Medical Corporation | Systems and methods for device inventory management and tracking |
US10928982B2 (en) * | 2018-10-31 | 2021-02-23 | Salesforce.Com, Inc. | Automatic grouping of user interface elements into components |
CN112486451B (zh) * | 2020-11-27 | 2022-03-11 | 掌阅科技股份有限公司 | 语音播报方法、计算设备及计算机存储介质 |
CN114816618A (zh) * | 2021-04-14 | 2022-07-29 | 浙江口碑网络技术有限公司 | 一种页面元素展示方法、装置、电子设备及存储介质 |
CN112989243A (zh) * | 2021-05-07 | 2021-06-18 | 浙江口碑网络技术有限公司 | 信息播放方法、待播放信息获得方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001079986A2 (en) * | 2000-04-19 | 2001-10-25 | Roundpoint Inc. | Electronic browser |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5381524B2 (en) * | 1991-11-12 | 1997-07-08 | Chronology Corp | Automated development of timing diagrams for electrical circuits |
US5390295A (en) * | 1991-12-20 | 1995-02-14 | International Business Machines Corporation | Method and apparatus for proportionally displaying windows on a computer display screen |
US5623681A (en) * | 1993-11-19 | 1997-04-22 | Waverley Holdings, Inc. | Method and apparatus for synchronizing, displaying and manipulating text and image documents |
US5513342A (en) * | 1993-12-28 | 1996-04-30 | International Business Machines Corporation | Display window layout system that automatically accommodates changes in display resolution, font size and national language |
US5721848A (en) * | 1994-02-04 | 1998-02-24 | Oracle Corporation | Method and apparatus for building efficient and flexible geometry management widget classes |
US5664076A (en) * | 1994-12-27 | 1997-09-02 | Karen A. Pluta | Apparatus and method for making a scannable form on a blank sheet |
US5671378A (en) * | 1995-03-31 | 1997-09-23 | International Business Machines Corporation | Method and system for sizing of graphical user interface objects for localization |
US5953733A (en) * | 1995-06-22 | 1999-09-14 | Cybergraphic Systems Ltd. | Electronic publishing system |
US6101513A (en) | 1996-05-31 | 2000-08-08 | Microsoft Corporation | Method and apparatus for displaying database information according to a specified print layout and page format |
US5895476A (en) * | 1996-09-09 | 1999-04-20 | Design Intelligence, Inc. | Design engine for automatic reformatting for design and media |
US6101213A (en) * | 1997-03-21 | 2000-08-08 | Glynn Scientific, Inc. | Method system and computer program product for spread spectrum communication using circular waveform shift-keying |
US5886694A (en) * | 1997-07-14 | 1999-03-23 | Microsoft Corporation | Method for automatically laying out controls in a dialog window |
US6785866B1 (en) | 1998-05-01 | 2004-08-31 | Adobe Systems Incorporated | Dialogs for multiple operating systems and multiple languages |
US6335743B1 (en) * | 1998-08-11 | 2002-01-01 | International Business Machines Corporation | Method and system for providing a resize layout allowing flexible placement and sizing of controls |
JP4142175B2 (ja) | 1998-10-20 | 2008-08-27 | 松下電器産業株式会社 | グラフィカルユーザインタフェース装置 |
US6603493B1 (en) * | 1999-04-13 | 2003-08-05 | International Business Machines Corporation | Method for arranging display elements |
JP2001184344A (ja) * | 1999-12-21 | 2001-07-06 | Internatl Business Mach Corp <Ibm> | 情報処理システム、プロキシサーバ、ウェブページ表示制御方法、記憶媒体、及びプログラム伝送装置 |
US6868525B1 (en) * | 2000-02-01 | 2005-03-15 | Alberti Anemometer Llc | Computer graphic display visualization system and method |
US6697781B1 (en) * | 2000-04-17 | 2004-02-24 | Adobe Systems Incorporated | Method and apparatus for generating speech from an electronic form |
AU2001270084A1 (en) | 2000-06-23 | 2002-01-08 | Epicentric, Inc. | Portal server that provides a customizable user interface for access to computernetworks |
US7673241B2 (en) * | 2002-06-26 | 2010-03-02 | Siebel Systems, Inc. | User interface for multi-media communication for the visually disabled |
DE10107890A1 (de) * | 2001-02-16 | 2002-09-05 | Hilti Ag | Setzgerät |
US7496831B2 (en) * | 2001-02-22 | 2009-02-24 | International Business Machines Corporation | Method to reformat regions with cluttered hyperlinks |
US7228495B2 (en) * | 2001-02-27 | 2007-06-05 | International Business Machines Corporation | Method and system for providing an index to linked sites on a web page for individuals with visual disabilities |
CA2344074A1 (en) * | 2001-04-17 | 2002-10-17 | George Wesley Bradley | Method and system for cross-platform form creation and deployment |
GB0110326D0 (en) * | 2001-04-27 | 2001-06-20 | Ibm | Method and apparatus for interoperation between legacy software and screen reader programs |
US6802058B2 (en) * | 2001-05-10 | 2004-10-05 | International Business Machines Corporation | Method and apparatus for synchronized previewing user-interface appearance on multiple platforms |
US20030222922A1 (en) * | 2002-06-04 | 2003-12-04 | Bernard Rummel | Automatic layout generation |
US7065707B2 (en) * | 2002-06-24 | 2006-06-20 | Microsoft Corporation | Segmenting and indexing web pages using function-based object models |
US7721192B2 (en) * | 2002-11-27 | 2010-05-18 | Microsoft Corporation | User interface for a resource search tool |
US20050028084A1 (en) * | 2003-07-28 | 2005-02-03 | Alan Dziejma | System and method for a form validation engine |
US20050233287A1 (en) * | 2004-04-14 | 2005-10-20 | Vladimir Bulatov | Accessible computer system |
US8744852B1 (en) * | 2004-10-01 | 2014-06-03 | Apple Inc. | Spoken interfaces |
US20060253831A1 (en) * | 2005-05-03 | 2006-11-09 | Microsoft Corporation | Validation architecture |
US8370757B2 (en) * | 2005-07-30 | 2013-02-05 | Sap Ag | Interface and method for extensible grouping of screen elements in real time |
US7870503B1 (en) * | 2005-08-30 | 2011-01-11 | Adobe Systems Incorporated | Technique for analyzing and graphically displaying document order |
US8812969B2 (en) * | 2007-03-21 | 2014-08-19 | Ricoh Co., Ltd. | Methods for authoring and interacting with multimedia representations of documents |
-
2008
- 2008-06-06 US US12/135,003 patent/US9405847B2/en active Active
-
2009
- 2009-05-14 WO PCT/US2009/044011 patent/WO2009148790A1/en active Application Filing
- 2009-05-14 CN CN200980130586.0A patent/CN102112985B/zh active Active
- 2009-05-14 EP EP09758951A patent/EP2307985A1/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001079986A2 (en) * | 2000-04-19 | 2001-10-25 | Roundpoint Inc. | Electronic browser |
Also Published As
Publication number | Publication date |
---|---|
US20090307266A1 (en) | 2009-12-10 |
EP2307985A1 (en) | 2011-04-13 |
WO2009148790A1 (en) | 2009-12-10 |
CN102112985A (zh) | 2011-06-29 |
US9405847B2 (en) | 2016-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102112985B (zh) | 对页面的处理 | |
Akpınar et al. | Vision based page segmentation algorithm: Extended and perceived success | |
US7246041B2 (en) | Computer evaluation of contents of interest | |
US10185782B2 (en) | Mode identification for selective document content presentation | |
US20190243848A1 (en) | Generating a structured document guiding view | |
CN100568226C (zh) | 用于重新格式化具有混乱超链接的区域的方法 | |
JP5911594B2 (ja) | アプリケーションのローカリゼイションにおける翻訳支援の提供 | |
US20150205773A1 (en) | Emphasizing a portion of the visible content elements of a markup language document | |
CN115048088A (zh) | 自动确定布局约束的***和方法 | |
CN104516727B (zh) | 更改资源文件中的资源的方法和*** | |
CN102411614A (zh) | 图像搜索结果的显示 | |
CN104375875B (zh) | 用于应用程序的编译优化的方法以及编译器 | |
US20180121414A1 (en) | Emotional and personality analysis of characters and their interrelationships | |
CN112770187A (zh) | 店铺数据处理方法及装置 | |
US11119735B1 (en) | Universal hybrid programming environment | |
CN104572577A (zh) | 数学公式处理方法及装置 | |
CN103019710A (zh) | 用于浏览器的声音控制方法及装置 | |
US10331800B2 (en) | Search results modulator | |
CN104346174B (zh) | 一种在线矢量图建模过程的描述与重现方法 | |
US7743079B1 (en) | Managing data across a semantic data view and a presentation data view | |
US20080270887A1 (en) | Document Processing Device And Document Processing Method | |
US20100138735A1 (en) | Document processing device | |
CN115248881A (zh) | 网页输入信息的渲染方法、装置、电子设备及存储介质 | |
CN114357147A (zh) | 信息查询方法、装置、设备及介质 | |
CN109558580A (zh) | 一种文本分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |