用于万维网应用程序的无鼠标导航的系统和方法

文档序号:6478420阅读:248来源:国知局
专利名称:用于万维网应用程序的无鼠标导航的系统和方法
技术领域
本发明一般涉及计算机系统领域,尤其涉及用于万维网应用程序的无鼠标导航的系统和方法。
背景技术
基于万维网的应用程序通常驻留在可由多个计算机访问的服务器上。基于万维网的应用程序通常面向临时用户,或偶尔或在较短时间内调用应用程序的用户的使用。每个用户通常使用鼠标来导航基于万维网的应用程序的界面。相反,基于客户机的应用程序通常驻留在单个计算机上。基于客户机的应用程序往往面向内行(power)用户,或经常或长时间调用应用程序的用户的使用。传统基于万维网的应用程序存在的问题是内行用户通常不想让他们的手从键盘移开去使用鼠标来导航应用程序界面。这可能阻碍内行用户使用基于万维网的应用程序。

发明内容
本发明提供了用于万维网应用程序的无鼠标导航的系统和方法。具体地说,用户可以使用键盘上的键来导航万维网应用程序的界面。用户无需(但如果需要也可以)使用鼠标来导航应用程序界面。
在一个实施例中,该方法包括生成与基于万维网的应用程序界面相联系的显示。该显示包括数个特征。该方法还包括将数个特征的每一个与至少一个第一键选择相联系。用户可以利用与特征相联系的至少一个第一键选择导航到特征之一。该方法进一步包括建立至少一个第二键选择。用户可以利用至少一个第二键选择在特征之一内导航。另外,该方法还包括传送显示,以呈现给用户。
在另一个实施例中,该方法包括接收与基于万维网的应用程序界面相联系的显示。该显示包括数个特征。数个特征的每一个与至少一个第一键选择相联系。用户可以利用与特征相联系的至少一个第一键选择导航到特征之一。特征的至少一个还与至少一个第二键选择相联系。用户可以利用至少一个第二键选择在至少一个特征内导航。该方法还包括将显示呈现给用户。用户可以只利用键盘来导航显示。


为了更全面地了解本发明,现在结合附图对本发明作如下描述,在附图中图1是例示根据本发明一个实施例、用于万维网应用程序的无鼠标导航的典型系统的示范性方块图;图2A到2E是例示根据本发明一个实施例导航的典型网页的示范性方块图;图3是例示根据本发明一个实施例、用于万维网应用程序的无鼠标导航的典型方法的示范性流程图;图4是例示根据本发明一个实施例、建立选择万维网应用程序的一个特征的机制的典型方法的示范性流程图;图5A和5B是例示根据本发明一个实施例、识别用于选择万维网应用程序的一个特征的控制字符的典型方法的示范性流程图;图6是例示根据本发明一个实施例、建立在万维网应用程序的一个特征内导航的机制的典型方法的示范性流程图;和图7是例示根据本发明一个实施例、允许用户利用键盘导航万维网应用程序的典型方法的示范性流程。
优选实施例描述图1是例示根据本发明一个实施例、用于万维网应用程序的无鼠标导航的典型系统100的示范性方块图。在所例示的实施例中,系统100包括万维网服务器102、数据库104、网络106、和主计算机108。在不偏离本发明的范围的情况下可以使用系统100的其它实施例。
在操作的一个方面中,主机108可以访问和调用服务器102中基于万维网的应用程序110的执行。应用程序110的函数可以由主机108通过用户界面112调用。在一个实施例中,可以利用主机108上的键盘114导航应用程序110的界面112。用户无需(但如果需要也可以并且支持)使用鼠标116导航应用程序110的界面112。通过允许利用键盘114来导航应用程序100,更多的用户可能愿意使用基于万维网的应用程序110。这也有助于降低或消除在系统100中支持基于客户机的应用程序的需要。
在所例示的实施例中,服务器102与数据库104和网络106耦合。在本说明书中,术语“耦合”指的是两个或多个部件之间的任何直接或间接通信,无论那些部件在物理上是否相互接触。此外,术语“通信”指的是物理上分离的部件之间或单个物理单元内的部件之间的通信。服务器102执行一种或多种功能以将服务提供给主机108。例如,服务器102可以为了一个或多个主机108执行一个或多个基于万维网的应用程序110。服务器102可以包括可操作用于将服务提供给主机108的任何硬件、软件、固件、或它们的组合。在所例示的实施例中,服务器102包括至少一个处理器118和存储器120,但也可以使用服务器102的其它实施例。
应用程序110可以代表任何适用的应用程序,譬如,适合用诸如C、C++、Java、或任何其它适当语言的合适的计算机语言实现的一组指令、过程、函数、对象、类、实例、和相关数据。界面112代表任何可操作用来由主机108的用户导航的适合的用户界面。例如,界面112可以代表用户导航经过一个或多个网页以调用应用程序110的函数的万维网界面。
数据库104与服务器102耦合。数据库104存储服务器102使用的信息并使服务器102使用的信息的检索变得容易。例如,数据库104可以存储代表将由应用程序110处理的、从主机108接收的信息的应用程序信息122。数据库104可以包括可操作用来存储信息和使信息的检索变得容易的任何硬件、软件、固件、或它们的组合。数据库104还可以将各种各样的数据结构、排列、和编译的任何一种用于存储信息和使信息的检索变得容易。
网络106与服务器102和主机108耦合。网络106使系统100的部件之间的通信变得容易。例如,网络106可以在网络地址之间传送因特网协议(IP)信息包、帧中继帧、异步传输模式(ATM)信元、或其它适用信息。网络106可以包括一个或多个局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如因特网之类的整个全球网或其一部分、或在一个或多个地方的一个或数个任何其它通信系统。
主机108与网络106耦合。主机108可以完成系统100中各种各样功能的任何一种。例如,主机108可以让用户提交调用服务器102上的应用程序110的执行的请求。主机108还可以让用户发送将由服务器102处理的信息122,和接收要向用户显示的信息。主机108可以包括可操作用来与服务器102通信的任何硬件、软件、固件、或它们的组合。
在所例示的实施例中,主机108包括键盘114、鼠标116、输出设备124、随机存取存储器(RAM)126、只读存储器(ROM)128、CD、DVD、硬盘、或一个或数个其它存储和检索设备130、和一个或多个处理器132。主机108运行浏览器162,该浏览器162可以是任何适用浏览器,譬如,Microsoft InternetExplorer 5.0或更高版本;Netscape 6.2或更高版本;或Mozilla 1.0或更高版本。输出设备124可以包括,例如,视频显示器、打印机、硬盘驱动器、绘图仪、扬声器、或其它适用的输出设备。
在操作的一个方面中,应用程序110的界面112可以代表服务器102可以传送给主机108的一个或多个网页或其它显示。主机108可以,譬如,通过使用万维网浏览器162,向主机108的用户显示网页。网页可以被用户用来导航应用程序110。例如,由服务器102生成并由主机108显示的网页可以包括菜单、按钮、笔记本标签、窗体、列表、或其它或附加部件。用户可以利用网页,譬如通过下拉菜单,选择按钮、或将信息键入窗体中,做出任何适当的动作。可以使利用网页收集起来的任何信息适用于应用程序110。然后,应用程序110可以采取任何适当动作,譬如利用用户提供的信息调用请求的函数。
在一个实施例中,主机108的用户可以利用键盘114导航网页或其它显示。具体地说,用户可以利用键盘114导航菜单,选择按钮或笔记本标签,在窗体中的字段(field)之间跳转,或者导航应用程序110的界面112。在这个实施例中,用户无需要求使用鼠标116也能够导航应用程序110。如果利用鼠标导航应用程序的功能可用,用户也可以选择利用鼠标116来导航应用程序110,但在系统100中可以不要求使用鼠标116。
如下的描述描述了使用键盘114上的特定键来导航界面112。在不偏离本发明的范围的情况下,也可以使用利用其它键的其它实施例。例如,如下的描述描述了键盘114上Alt键134的使用。在Unix环境下,键盘114上的Meta键可以用来代替Alt键134。此外,如下的描述描述了用户导航一个或多个网页。在不偏离本发明的范围的情况下,服务器102可以生成并且主机108可以导航其它显示。
在特定实施例中,在主机108上可以显示形成界面112的至少一部分的网页。网页可以包括按钮和笔记本标签。这些特征可以由主机108上的用户利用键盘114的Alt键134选择。网页还可以包括菜单、可以供用户选择的项目列表、或用户可以写入的窗体。这些特征可以利用Alt键134选择和利用键盘114的Tab键154、箭头键136、Home键138、和End键140导航。网页可以进一步包括可以利用Tab键154或箭头键136选择和利用键盘114的Enter键142激活的超链接。另外,网页可以包括可以利用箭头键136、Home键138、和End键140导航和利用相同键加键盘114的Shift键144退出的多行文本框和选择列表。
下面参照图2A至2E更详细地例示和描述这些和其它导航机制。用于提供这种导航功能的硬件、软件、固件、或它们的组合可以驻留在主机108中的任何适当位置上。例如,逻辑模块可以驻留在在主机108上运行的浏览器162内,或在另一个或几个适当位置中。
在一个实施例中,使键盘114的这些键的至少一些的使用变得容易的逻辑模块可以在主机108用于向用户显示信息的浏览器的标准特征内实现。浏览器可以是任何适用浏览器,譬如,Internet Explorer 5.0和更高版本、Netscape6.2和更高版本、或Mozilla 1.0和更高版本。
在特定实施例中,譬如通过不要求在主机108上使用cookie或插入程序(plug-in),逻辑模块在主机108上可以不留下痕迹。例如,逻辑模块可以实现为由服务器102提供的、要在主机108上执行的JavaScript函数146-152。在这个实施例中,JavaScript函数146-150有助于支持使用Alt键134来导航界面112。作为特例,JavaScript函数146可以由服务器102用于生成网页,以便可以利用Alt-x键组合选择网页的各种各样的菜单、按钮、或其它特征。JavaScript函数148可以使应用程序110检测什么时候在键盘114上按下了各种各样的Alt-x键组合。JavaScript函数150可以将特定Alt-x键组合与要做出的特定动作(譬如跳转到网页的特定部分或调用应用程序110的函数)相联系。总而言之,这些Script函数146-150允许应用程序110建立具有可以利用Alt-x键组合激活的特征的网页、检测什么时候选择了特定Alt-x键组合、和激活特征或执行用户请求的其它动作。在本说明书中,短语“Alt-x键组合”指的是至少一个Alt键134和键盘上的另一个键的组合。此外,短语“键选择”可以指键盘上的单个键或两个或多个键的组合。
一个或多个JavaScript函数152也可用于使键盘114上的箭头键136、Home键138、和End键140变得容易使用。例如,JavaScript函数152可以代表onkeydown事件处理程序,onkeydown事件处理程序检测什么时候在键盘114上按压了特定键。网页可以于在主机108上最初加载网页期间安装onkeydown事件处理程序。当用户按下箭头键136、Home键138、或End键140时,有关那个键的onkeydown事件处理程序检测这个动作和确定要为用户做出什么动作。这使用户可以,例如,在窗体中的字段之间跳转或滚动浏览菜单中的功能。
JavaScript函数146-152的使用只用于例示。在不偏离本发明的范围的情况下,也可以使用实现如上所述的导航功能的其它类型的逻辑模块。例如,导航功能可以直接在主机108支持的浏览器中实现,而无需利用JavaScript函数来实现。作为一个特例,浏览器的插入程序可以提供所需的导航功能。
将Alt键134、箭头键136、Home键138、和End键140用于导航界面112可以使其它键在主机108上正常使用。例如,主机108可以执行使用Tab键154和Ctrl键156来完成特定功能的浏览器。通过使用键盘114上的其它键来导航界面112,可以将导航功能合并到浏览器中,而不会改变浏览器使用的标准方法。此外,传统浏览器使用户可以利用箭头键136上下滚动网页,并且Page Up键158和Page Down键160支持相同的功能。使用箭头键136提供如上所述的导航功能使用户仍然可以利用Page Up键158和Page Down键160上下滚动网页。
尽管图1例示了用于万维网应用程序的无鼠标导航的系统100的一个典型实施例,但可以对系统100作各种各样的改变。例如,虽然图1例示了与网络106和访问服务器102耦合的一个主机108,但在系统100中可以使用任意个数的主机108。此外,服务器102可以执行任何适当个数的应用程序110。并且,服务器102可以代表任何适用的计算设备。另外,键盘114的任何适用的键可以用于完成如上所述的功能。
图2A到2E是例示根据本发明一个实施例导航的典型网页的示范性方块图。如图2A到2E所例示的网页可以(例如)由服务器102生成和由图1的主机108导航。如图2A到2E所例示的网页只用于例示。可以根据特殊需要生成和导航其它网页。此外,虽然如图2A到2E所示的网页被描述成在图1的系统100中生成和使用,但也可以在其它系统中生成和使用该网页。
在图2A中,网页200代表允许用户登录到服务器102中诸如应用程序110那样的应用程序上的界面。在所例示的实施例中,网页200包括编辑窗体202和按钮204。编辑窗体202包括字段206。每个字段206包括标记208和文本框210,和文本框210可以含有相关选择列表212。每个按钮204包括标记214。
在所例示的实施例中,每个标记208,214包括加了下划线的字符。在一个实施例中,用户可以通过按下Alt-x跳转到特定文本框210,其中,x代表那个文本框210的标记208中加了下划线的字符。类似地,用户可以通过按下Alt-x选择特定按钮204,其中,x代表那个按钮204的标记214中加了下划线的字符。
用户还可以利用箭头键136在窗体202中的文本框210之间跳转。例如,用户可以利用向上向下箭头键136在窗体202中的文本框210之间垂直导航。用户还可以按下Shift-Home键组合跳转到编辑窗体202中的第一文本框210和按下Shift-End键组合跳转到编辑窗体202中的最后文本框210。
附加键可以用于导航到含有相关选择列表212的文本框210之外。选择列表212通常可以利用箭头键136、Home键138、和End键140来导航。为了区分选择列表212内的导航和文本框210之外的导航,使用Shift键144。具体地说,箭头键136、Home键138、和End键140可以用于在选择列表212内移动。Shift-Home、Shift-End、和/或Shift-箭头键组合可以用于导航到含有选择列表的文本框210之外,这使用户可以跳转到另一个文本框210。在本说明书中,短语“Shift-x键组合”指的是至少一个Shift键144和键盘上的另一个键的组合。
为了帮助用户识别编辑窗体202中哪个字段206具有焦点,可以改变具有焦点的文本框210的背景颜色216。在本说明书中,术语“焦点”指的是网页或其它显示中用户动作所指向的部分。例如,在一个实施例中,成为焦点的字段的背景颜色216被改变成淡黄色。可以使用其它适当颜色,所选颜色可以随通常用在文本框210中使用的背景颜色而改变。
在特定实施例中,主机108可以使用如图4-5所例示的方法,利用Alt键134支持网页200的导航。这些方法使主机108可以识别标记208,214中适当的字符来加下划线。这些方法还使主机108可以将Alt-x键组合与特定标记208,214相联系。这些方法进一步使主机108可以检测Alt-x键组合的按下和执行所请求的动作。
在特定实施例中,主机108还可以使用如图6所例示的方法,利用键盘114的箭头键136、Home键138、和End键140支持网页200的导航。这种方法使服务器102可以为窗体202中的每个文本框210创建标识符。这种方法还使服务器102可以检测什么时候在键盘114上按下了箭头键136、Home键138、和End键140。这种方法进一步使服务器102可以利用当前成为焦点的文本框210的标识符确定应该成为焦点的文本框210。
主机108可以设置网页,使它便于使用Tab键154和Shift-Tab键组合在网页上的窗体内从一个字段水平导航到另一个字段。例如,主机108可以将TABINDEX属性插入窗体上的每个字段和链接中,以明确地指定借助于Tab键154可以达到的字段。另外,主机108可以消除用户从页面上的最后一个字段开始按下Tab或从第一个字段开始按下Shift-tab而完全从窗体退出的可能性。在特定实施例中,通过提供窗体的隐藏链接字段<A HREF=about:blank TABINDEX=x onFocus=″y()″></A>,主机108可以检测什么时候用户利用Tab键154从窗体上的最后一个字段移开了,其中,x是大于窗体上任何TABINDEX的数字的数字,和y()是将焦点设置到窗体的第一个字段的JavaScript函数。通过提供相似的隐藏链接字段,主机108可以检测用户什么时候利用Shift-Tab键组合从窗体的第一个字段移开了,其中,x是小于窗体上任何TABINDEX的数字的数字,和y()是将焦点设置到窗体的最后一个字段上的JavaScript函数。
在图2B中,网页220代表使用户可以编写和发送电子邮件消息的界面。在所例示的例子中,网页220包括笔记本标签222、按钮224、和编辑窗体226。笔记本标签222包括标记228,按钮224包括标记230。在所例示的实施例中,每个标记228,230包括加了下划线的字符。在这个实施例中,用户可以通过按下Alt-x来选择特定的笔记本标签222或按钮224,其中,x代表标记228,230中加了下划线的字符。
编辑窗体226包括标记232、单行文本框234a、和多行文本框234b。用户可以利用箭头键136、Home键138、End键140、Shift键144、和Tab键154在编辑窗体226中的文本框234之间导航。例如,用户可以利用向上向下箭头键136在文本框234之间垂直导航,并利用Tab键154和Shift-Tab键组合在文本框234之间水平导航。用户还可以按下Shift-Home键组合跳转到第一个文本框234,和按下Shift-End键组合跳转到最后一个文本框234。用户可以按下Tab键154从最后一个文本框234跳转到第一个文本框,或按下Shift-Tab键组合从第一个文本框234跳转到最后一个文本框。
附加键可以用于导航到多行文本框234b之外。这是因为用户通常利用箭头键136、Home键138、和End键140在多行文本框234b内导航。为了导航到多行文本框234b之外,用户在按下箭头键136、Home键138、或End键140的同时按下Shift键144。Shift-Home、Shift-End、和/或Shift-箭头键组合使用户可以从多行文本框234b转移到另一个文本框234。
在所例示的实施例中,窗体226中的一些标记232代表超链接。当超链接成为焦点时,通过按下Enter键142可以进行超链接。为了使超链接成为焦点,与超链接标记232相联系的文本框234成为焦点。然后,用户可以通过按下向上箭头键136从文本框234移动到超链接标记232。当超链接起文本框234的标记232作用时,进行超链接可以代表选择列表。如上面参照图2A所述的那样,用户可以利用箭头键136、Home键138、和End键140导航选择列表,和选择列表中的项目。然后,所选项目出现在文本框234中。
网页220中的超链接还可以含有相关上下文菜单236。在这个实施例中,当超链接成为焦点时,用户可以通过按下箭头键136来下拉或露出上下文菜单236。然后,可以利用箭头键136、Home键138、和End键140导航上下文菜单和利用左箭头键136关闭该上下文菜单236。
在图2C中,网页240代表使用户可以从列表242中选择电子邮件消息的可能接收者的界面。列表242包括多个项目,并且成为焦点的当前项目244被加上了阴影。主机108上的用户可以利用向上向下箭头键136导航列表242。用户还可以按下Home键138选择列表242中的第一个项目和按下End键140选择列表242中的最后一个项目。
在一个实施例中,在当前项目244是列表242的第一个项目时,用户可能按下左箭头键136。类似地,在当前项目244是列表242的第一个项目时,用户可能按下右箭头键136。在特定实施例中,当发生这些事件之一时,可以忽略用户的请求,并使焦点保持在列表242上。在另一个实施例中,用户的请求可以使焦点切换到网页240的另一个特征上。
在图2D中,网页260代表包括菜单条262的字处理应用程序110的界面。菜单条262包括多个菜单264。主机108上的用户可以通过按下Alt-x来下拉菜单264,其中,x代表菜单264中加了下划线的字符。一旦用户激活菜单264,服务器102就显示出功能列表266。用户可以通过在键盘114上按下一个功能的加了下划线的字母来激活该功能266。用户还可以利用箭头键136、Home键138、和End键140滚动浏览功能列表266,和通过按下Enter键142选择功能266之一。用户可以进一步利用左右箭头键136移动到相邻菜单264。
在一个实施例中,功能266可以含有相关隐藏菜单268。当那个项目266成为焦点时,可以通过按下Enter键142揭示隐藏菜单268。当那个项目266成为焦点时,也可以通过按下右箭头键136揭示隐藏菜单268。在特定实施例中,用户还可以利用Tab键154向下导航菜单264和利用Shift-Tab键组合向上导航菜单264。在这个实施例中,当利用Tab键154或Shift-Tab键组合导航菜单264时,可能不揭示隐藏菜单268。
在图2E中,网页280代表文件目录系统的界面。在这个实施例中,网页280包括多个页面分栏(frame)282,每个页面分栏含有标记284。每个页面分栏282可以含有任何适当内容,譬如,树结构286、文件夹系统288、或搜索系统290。主机108上的用户可以利用Alt-x组合在页面分栏282之间跳转,其中,x代表标记284中加了下划线的字符。一旦页面分栏282成为焦点,用户可以在页面分栏282内导航。例如,用户可以利用适当Alt-x键组合选择树结构286。在一个实施例中,在页面分栏282内每个Alt-x键组合是唯一的,但相同的Alt-x键组合可用于不同页面分栏282内的其它特征。在另一个实施例中,不考虑不同的页面分栏282,在网页280内每个Alt-x键组合是唯一的。
如上所述,用户偶尔使用Shift键144导航到网页中例如多行文本框或选择列表等某些特征之外。在一个实施例中,Shift键144还可以与上述的任何其它键组合一起使用,以从网页中的一个特征转移到另一个特征。在这个实施例中,如果不要求Shift键144区分一个特征内的导航与导航到另一个特征,实现导航功能的逻辑模块可以忽略Shift键144的使用。
尽管图2A到2E例示了系统100中用户导航的网页的典型实施例,但可以对图2A到2E作各种各样的改变。例如,如图2A到2E所示的网页只用于例示。可以使用含有其它内容和安排的其它网页或显示。此外,向用户显示的网页可以包括其它或附加特征,并且不局限于使用如图2A到2E所示的菜单、笔记本标签、按钮和其它特征。
图3是例示根据本发明一个实施例用于万维网应用程序的无鼠标导航的典型方法300的示范性流程图。虽然方法300可能参照图1的系统100来描述,但任何其它适当系统都可以使用方法300。
服务器102在步骤302中生成网页。这可以包括,例如,服务器102生成形成由服务器102执行的应用程序110的界面112的至少一部分的网页。服务器102在步骤304中将特征插入网页中。这可以包括,例如,服务器102将菜单、按钮、笔记本标签、编辑窗体、列表、或其它特征插入网页中。在步骤306中,由服务器102插入并由主机108上的浏览器162执行的JavaScript函数建立起用户可以用于导航到新特征的机制。这可以包括,例如,服务器102插入使主机108可以建立一个或多个Alt-x键组合的JavaScript函数,所述一个或多个Alt-x键组合可以用于使网页中的焦点位于新特征或新特征的一部分上。建立Alt-x键组合的方法显示在如下所述的图4中。
服务器102在步骤308中确定是否还有另外的特征需要加入网页中。如果是,服务器102返回到步骤304,将下一个特征加入网页中和指令主机108建立导航到下一个特征和在下一个特征内导航的方式。否则,服务器102在步骤310中建立在一个或多个特征内导航的机制。这可以包括,例如,服务器102插入使主机108可以建立onkeydown事件处理程序的一个或多个JavaScript函数,所述onkeydown事件处理程序检测主机108上的用户什么时候按下了箭头键136、Home键138、和End键140。建立在特征内导航的机制的方法显示在如下所述的图6中。在步骤312中,服务器102可以将网页传递给主机108。这可以包括,例如,服务器102经网络104将网页传送给主机108上的浏览器162。
尽管图3例示了用于万维网应用程序的无鼠标导航的典型方法300,但可以对方法300作各种各样的改变。例如,服务器102可以在建立导航到每个新特征的机制之前建立在特征内导航的机制。此外,服务器102可以生成其它类型的显示,并且不局限于生成网页。
图4是例示根据本发明一个实施例建立选择万维网应用程序的一个特征的机制的典型方法的示范性流程图。虽然方法400可以参照图1的系统100来描述,但任何其它适当系统都可以使用方法400。
主机108在步骤402中获得对键盘114的Alt键134的控制。这可以包括,例如,主机108执行浏览器162中的JavaScript函数148。在一个实施例中,对于键盘114上36个可能字母和数字的每一个,Java Script函数148可以写如下形式的超文本标记语言(HTML)<A ACCESSKEY=x HREF=″javascript:void(0)″ONFOCUS=″altKeyPressed(′x′)″></A>。这使Alt键134的任何默认使用都失效,并使主机108可以将新功能指定给Alt-x键组合。在特定实施例中,服务器102生成的网页可以含有多个页面分栏,并且对每个页面分栏,JavaScript函数148可以被执行36次。这有助于保证无论哪个页面分栏成为焦点,都可以使用相同的控制。
主机108在步骤404中识别插入网页中的新特征的标记中的控制字符。这可以包括,例如,主机108识别菜单、按钮、笔记本标签、编辑窗体、或列表的标记中可以加下划线的字符。选择控制字符的方法显示在如下所述的图5中。
主机108在步骤406中将新特征与Alt-x键组合(其中,x代表标记中的所选控制字符)相联系。这可以包括,例如,主机108执行JavaScript函数150将Alt-x键组合与新特征相联系。当主机108上的用户压下时,Alt-x键组合可以使焦点跳转到网页中的页面分栏、编辑窗体、或列表。Alt-x键组合还可以使网页中的按钮或笔记本标签被选中。
尽管图4例示了建立选择万维网应用程序的一个特征的机制的典型方法400,但可以对方法400作各种各样的改变。例如,主机108可以在获得对Alt键134的控制之前识别控制字符。此外,主机108被描述成通过多次执行JavaScript函数148获得对Alt键134的控制。主机108也可以每当需要新Alt-x键组合时执行一次JavaScript函数148或以任何其它适当方式执行。并且,如果JavaScript函数148用于使所有Alt-x键组合失效,主机108可执行步骤402一次,和主机108无需每当将新特征加入网页中时执行JavaScript函数148。
图5A和5B是例示根据本发明一个实施例识别用于选择万维网应用程序的一个特征的控制字符的典型方法的示范性流程图。具体地说,图5A例示了识别可能的控制字符的典型方法500,和图5B例示了确定是否应该使用可能的控制字符的典型方法550。虽然方法500,550可以参照图1的系统100来描述,但任何其它适当系统都可以使用方法500,550。
主机108在步骤502中识别与新特征相联系的标记。这可以包括,例如,主机108识别与菜单、按钮、笔记本标签、编辑窗体、或列表相联系的标记。主机108在步骤504中确定新特征是否含有用户指定控制字符。这可以包括,例如,主机108确定应用程序110的界面112是否识别所需的控制字符。如果存在一个,主机108在步骤506中确定用户指定的控制字符是否可以用作新特征的控制字符。这被例示在如下所述的图5B中。如果可以使用用户指定的控制字符,主机108在步骤520中将字符记录成新Alt-x键组合。然后,主机108可以利用用户指定的控制字符做出诸如如图4所示建立Alt-x键组合之类的任何适当动作。
主机108在步骤508中选择标记中的大写字母。这可以包括,例如,主机108检验在步骤502中识别的标记和确定在标记中是否存在大写字母。主机108在步骤510中确定所选大写字母是否可以用作新特征的控制字符。如果所选的大写字母还没有得到使用,并且用户没有将它包括在不予考虑的字母表中,则可以使用该所选大写字母。如果可以使用所述字母,主机108在步骤520中将所选大写字母记录成新Alt-x键组合。否则,不能使用所选大写字母,并且主机108在步骤512中确定在标记中是否还存在另外的大写字母。如果存在另一个大写字母,主机108返回到步骤508,选择下一个大写字母和确定是否可以使用它。
如果不再存在大写字母,主机108在步骤514中识别标记中的非大写字母。这可以包括,例如,主机108识别标记中的任何非大写字母或数字。主机108在步骤516中确定所选非大写字母是否可以用作控制字符。如果所选的非大写字母还没有得到使用,并且用户没有将它包括在不予考虑的字母表中,则可以使用该所选的非大写字母。如果可以,主机108在步骤520中将非大写字符记录成新Alt-x键组合。否则,不能使用所选的非大写字母,和主机108在步骤518中确定在标记中是否还存在另外的非大写字母。如果存在另一个非大写字母,主机108返回到步骤514,选择下一个非大写字母和确定是否可以使用它。
如果不再存在非大写字母,主机不能为新标记识别控制字符。此刻,主机108可以做出任何适当动作。例如,可以用于新特征的控制字符可能已经专供网页中的现有特征之用。主机108可以将另一个控制字符指定给现有特征和将前一控制字符用于新特征。
图5B例示了主机108如何确定是否将所选字符用作控制字符。在图5B中,主机108在步骤552中将所选字符与用在其它Alt-x键组合中的字符相比较。其它Alt-x键组合可以代表用于以前加入网页中的特征的Alt-x键组合、供浏览器162使用的Alt-x键组合、或其它适当Alt-x键组合。主机108在步骤554中确定所选字符是否已用在Alt-x键组合中。如果没有,所选字符可以用作新特征的控制字符。然后,主机108可以利用识别的控制字符建立Alt-x键组合。主机108还可以对新特征的标记中的控制字符加下划线。否则,所选字符已经用在另一个Alt-x键组合中,主机108在步骤558中确定所选字符不能用作新特征的控制字符。
尽管图5A和5B例示了识别用于选择万维网应用程序的一个特征的控制字符的典型方法500,550,但可以对方法500,550作各种各样的改变。例如,方法500被例示成试图以用户指定字符、大写字母、和非大写字符的顺序来使用这些字符。在其它实施例中,可以对不同类型的字符赋予不同的偏好。作为特例,主机108无需尝试使用用户指定字符,和主机108无需喜爱大写字母超过喜爱非大写字符。
图6是例示根据本发明一个实施例建立在万维网应用程序的一个特征内导航的机制的典型方法600的示范性流程图。虽然方法600可以参照图1的系统100来描述,但任何其它适当系统都可以使用方法600。
主机108在步骤602中为键盘114的一个或多个键启动onkeydown事件处理程序。这可以包括,例如,主机108执行JavaScript函数152以检测键盘114上的箭头键136、Home键138、和End键140的使用。一旦浏览器162开始加载网页,就进行这种处理。
主机108在步骤604中确定加入网页中的特征是否是列表或窗体。如果是,主机108在步骤606中为列表中的项目或窗体中的文本框生成标识符。在一个实施例中,每个列表项目或文本框都含有相关的标识符。在特定实施例中,标识符具有形式XXrrXcc,其中,rr是列表项目或文本框的行号,和cc是列表项目或文本框的列号。当用户按下箭头键136、Home键138、或End键140时,主机108可以利用与列表项目或文本框相联系的标识符来确定在网页中的什么地方放置焦点。当用户按下这些键之一时,那个键的onkeydown事件处理程序获取当前列表项目或文本框的ID,和从中提取列表项目或文本框的行号和列号。然后,onkeydown事件处理程序计算应该成为焦点的列表项目或文本框的标识符。例如,成为焦点的当前字段可以具有XX02X01(第2行,第1列)的标识符。如果用户按下向上箭头键136,那个键的onkeydown事件处理程序确定所需列表项目或文本框的标识符是XX01X01(第1行,第1列)并且那个字段成为焦点。
主机108在步骤608中确定加入的特征是否包括一个或多个超链接标记。如果是,主机108在步骤610中为超链接标记生成标识符。在特定实施例中,超链接标记的标识符具有形式XXlnkrrXcc,其中,rr是与超链接标记相联系的文本框的行号,和cc是那个文本框的列号。当用户在焦点位于文本框上时,按下向上箭头键136时,那个键的onkeydown事件处理程序获取当前列表项目或文本框的ID,和从中提取那个文本框的行号和列号。然后,onkeydown事件处理程序可以确定任何超链接标记是否都含有包括那些行号和列号的标识符。如果是,onkeydown事件处理程序可以使焦点位于那个超链接标记上。作为特例,文本框可以具有XX02X02(第2行,第2列)的标识符。当按下向上箭头键136时,那个键的onkeydown事件处理程序检验这个标识符和确定超链接标记是否具有XXlnk02X02的标识符。如果是,onkeydown事件处理程序可以使焦点位于那个超链接标记上。
主机108在步骤612中确定菜单是否被激活。这可以包括,例如,主机108确定用户是否按下与菜单相联系的Alt-x键组合。当菜单被下拉时,主机108在步骤614中启动临时onkeydown事件处理程序。在一个实施例中,箭头键136、Home键138、和End键140可以用于执行网页中的特定功能。当菜单被下拉时,覆盖这些键的默认onkeydown事件处理程序,以便可以利用相同键来导航菜单。当用户按下箭头键136、Home键138、和End键140时,那个键的默认onkeydown事件处理程序在步骤616中将用户的击键转发给临时onkeydown事件处理程序。临时onkeydown事件处理程序利用击键来导航菜单。然后,在步骤618中,当菜单被关闭时,取消临时onkeydown事件处理程序。此刻,默认onkeydown事件处理程序重新开始控制,和用户可以用键来执行网页中的原始功能。
尽管图6例示了建立在万维网应用程序的一个特征内导航的机制的典型方法600,但可以对方法600作各种各样的改变。例如,主机108可以为列表项目、文本框和超链接标记生成任何适当的标识符和保持包含相关行号和列号的标识符的表格。此外,服务器102允许将其它技术用于下拉菜单内的导航。
图7是例示根据本发明一个实施例允许用户利用键盘导航万维网应用程序的典型方法的示范性流程。虽然方法700可以参照图1的系统100来描述,但任何其它适当系统都可以使用方法700。
主机108在步骤702中从服务器102接收网页。这可以包括,例如,主机108接收包含菜单、按钮、笔记本标签、编辑窗体、列表、页面分栏、或其它特征的网页。主机108在步骤704中向用户显示网页。这可以包括,例如,主机108上的浏览器显示网页。
主机108在步骤705中允许用户只利用键盘114导航网页。例如,主机108在步骤706中可以允许用户利用Alt-x键组合跳转到网页中的特定特征。作为特例,可以将一个或多个独特Alt-x键组合与网页中的每个菜单、按钮、笔记本标签、编辑窗体、列表、页面分栏、或其它特征相联系。主机108在步骤708中还允许用户利用键盘114在每个特征内导航。例如,用户可以利用箭头键136、Home键138、和End键140在编辑窗体内的文本框之间或列表中的项目之间跳转。
在这个实施例中,根据特殊需要,可以支持或不支持在主机116上使用鼠标116。例如,主机108可以允许用户利用键盘114和/或116导航应用程序110。这可以鼓励大量用户更广泛地使用应用程序110。具体地说,用户可以选择只利用键盘114、只利用鼠标116、还是利用键盘114和鼠标116的组合来导航应用程序110。
尽管图7例示了允许用户利用键盘导航万维网应用程序的典型方法700,但可以对方法700作各种各样改变。例如,服务器102可以生成并且主机108可以接收其它类型的显示,而不局限于生成和接收网页。
虽然针对某些实施例和一般相关方法对本发明作了描述,但这些实施例和方法的变更和置换对于本领域的普通技术人员来说是显而易见的。因此,上面对典型实施例的描述不限定或约束本发明。还可以作出其它改变、替换、和变更,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种包括如下步骤的方法生成与基于万维网应用程序界面相联系的显示,该显示包括数个特征;将数个特征的每一个与至少一个第一键选择相联系,其中,用户可以利用与特征相联系的至少一个第一键选择导航到特征之一;建立至少一个第二键选择,其中,用户可以利用至少一个第二键选择在特征之一内导航;和传送显示以呈现给用户。
2.根据权利要求1所述的方法,其中,与特征之一相联系的至少一个第一键选择包括至少一个Alt-x键组合。
3.根据权利要求1所述的方法,其中,至少一个第二键选择包括箭头键、Home键、End键、Shift-箭头键组合、Shift-Home键组合、和Shift-End键组合中的至少一个。
4.根据权利要求1所述的方法,其中,数个特征包括菜单、按钮、笔记本标签、页面分栏、窗体、或列表中的至少一个。
5.根据权利要求1所述的方法,其中特征之一包括窗体,该窗体包括每一个与标记相联系的数个文本框;与窗体相联系的至少一个第一键选择包括每一个与标记之一中的字符相联系的数个第一键选择;第一个第二键选择将显示中的焦点从文本框之一重新定位到另一个文本框;第二个第二键选择将显示中的焦点重新定位到第一个文本框;和第三个第二键选择将显示中的焦点重新定位到最后一个文本框。
6.根据权利要求5所述的方法,其中数个文本框之一包括多行文本框;和第四个第二键选择将显示中的焦点从多行文本框重新定位到另一个文本框。
7.根据权利要求1所述的方法,其中特征之一包括窗体,该窗体包括文本框和相关的超链接标记;和第二键选择将显示中的焦点从文本框重新定位到超链接标记。
8.根据权利要求1所述的方法,其中特征之一包括超链接标记;第一个第二键选择打开与超链接标记相联系的上下文菜单;第二个第二键选择在上下文菜单内重新定位焦点;和第三个第二键选择关闭上下文菜单和使焦点位于超链接标记上。
9.根据权利要求1所述的方法,进一步包括当显示中的焦点位于特征之一上时,将与该特征相联系的背景颜色从第一种颜色改变成第二种颜色。
10.根据权利要求1所述的方法,其中,将数个特征的每一个与至少一个第一键选择相联系包括使用户使用的主机上Alt键的使用失效;识别与特征之一相联系的标记中的控制字符;和将特征与Alt-控制字符键组合相联系。
11.根据权利要求10所述的方法,其中使Alt键的使用失效包括为键盘上的每个字母和数字执行第一Java Script函数;识别控制字符包括执行第二JavaScript函数;和将特征与Alt-控制字符键组合相联系包括执行第三JavaScript函数。
12.根据权利要求11所述的方法,其中,为键盘上的每个字母和数字执行第一JavaScript函数包括针对显示中的第一页面分栏,为键盘上的每个字母和数字执行第一JavaScript函数;和进一步包括针对显示中的第二页面分栏,为键盘上的每个字母和数字执行第一JavaScript函数。
13.根据权利要求1所述的方法,其中,建立至少一个第二键选择包括为用在至少一个第二键选择中的每个键建立onkeydown事件处理程序。
14.根据权利要求13所述的方法,其中至少一个特征包括菜单;与菜单相联系的至少一个第一键选择下拉该菜单;和进一步包括当菜单被拉下时,建立一个或多个临时onkeydown事件处理程序;允许用户利用临时onkeydown事件处理程序在菜单内导航;和当菜单被关闭时,取消临时onkeydown事件处理程序。
15.根据权利要求1所述的方法,其中,显示包括一个或多个网页。
16.一种包括如下部件的系统被编码在至少一个计算机可读媒体上的逻辑模块;和当被执行时,该逻辑模块用于生成与基于万维网应用程序界面相联系的显示,该显示包括数个特征;将数个特征的每一个与至少一个第一键选择相联系,其中,用户可以利用与特征相联系的至少一个第一键选择导航到特征之一;建立至少一个第二键选择,其中,用户可以利用至少一个第二键选择在特征之一内导航;和传送显示以呈现给用户。
17.根据权利要求16所述的系统,其中与特征之一相联系的至少一个第一键选择包括至少一个Alt-x键组合;和至少一个第二键选择包括箭头键、Home键、End键、Shift-箭头键组合、Shift-Home键组合、和Shift-End键组合的至少一个。
18.根据权利要求16所述的系统,其中,数个特征包括菜单、按钮、笔记本标签、页面分栏、窗体、或列表的至少一个。
19.根据权利要求16所述的系统,其中特征之一包括窗体,该窗体包括每一个与标记相联系的数个文本框;与窗体相联系的至少一个第一键选择包括每一个与标记之一中的字符相联系的数个第一键选择;第一个第二键选择将显示中的焦点从文本框之一重新定位到另一个文本框;第二个第二键选择将显示中的焦点重新定位到第一个文本框;和第三个第二键选择将显示中的焦点重新定位到最后一个文本框。
20.根据权利要求19所述的系统,其中数个文本框之一包括多行文本框;和第四个第二键选择将显示中的焦点从多行文本框重新定位到另一个文本框。
21.根据权利要求16所述的系统,其中特征之一包括窗体,该窗体包括文本框和相关超链接标记;和第二键选择将显示中的焦点从文本框重新定位到超链接标记。
22.根据权利要求16所述的系统,其中特征之一包括超链接标记;第一个第二键选择打开与超链接标记相联系的上下文菜单;第二个第二键选择在上下文菜单内重新定位焦点;和第三个第二键选择关闭上下文菜单和使焦点位于超链接标记上。
23.根据权利要求16所述的系统,进一步包括当显示中的焦点位于特征之一上时,将与该特征相联系的背景颜色从第一种颜色改变成第二种颜色。
24.根据权利要求16所述的系统,其中,将数个特征的每一个与至少一个第一键选择相联系包括通过在主机上为键盘上的每个字母和数字执行第一JavaScript函数,使主机上Alt键的使用失效;通过执行第二JavaScript函数,识别与特征之一相联系的标记中的控制字符;和通过执行第三JavaScript函数,将特征与Alt-控制字符键组合相联系。
25.根据权利要求16所述的系统,其中建立至少一个第二键选择包括为用在至少一个第二键选择中的每个键建立onkeydown事件处理程序;至少一个特征包括菜单;与菜单相联系的至少一个第一键选择下拉该菜单;和进一步包括当菜单被拉下时,建立一个或多个临时onkeydown事件处理程序;允许用户利用临时onkeydown事件处理程序在菜单内导航;和当菜单被关闭时,取消临时onkeydown事件处理程序。
26.一种包括如下部件的系统可操作用来存储与基于万维网的应用程序界面相联系的显示的存储器,该显示包括数个特征;和一个或多个处理器,可集体操作用来将数个特征的每一个与至少一个第一键选择相联系,其中,用户可以利用与特征相联系的至少一个第一键选择导航到特征之一;建立至少一个第二键选择,其中,用户可以利用至少一个第二键选择在特征之一内导航;和传送显示以呈现给用户。
27.根据权利要求26所述的系统,其中,与特征之一相联系的至少一个第一键选择包括至少一个Alt-x键组合;和至少一个第二键选择包括箭头键、Home键、End键、Shift-箭头键组合、Shift-Home键组合、和Shift-End键组合的至少一个。
28.根据权利要求26所述的系统,其中,数个特征包括菜单、按钮、笔记本标签、页面分栏、窗体、或列表的至少一个。
29.根据权利要求26所述的系统,其中特征之一包括窗体,该窗体包括每一个与标记相联系的数个文本框;与窗体相联系的至少一个第一键选择包括每一个与标记之一中的字符相联系的数个第一键选择;第一个第二键选择将显示中的焦点从文本框之一重新定位到另一个文本框;第二个第二键选择将显示中的焦点重新定位到第一个文本框;和第三个第二键选择将显示中的焦点重新定位到最后一个文本框。
30.根据权利要求29所述的系统,其中数个文本框之一包括多行文本框;和第四个第二键选择将显示中的焦点从多行文本框重新定位到另一个文本框。
31.根据权利要求26所述的系统,其中特征之一包括窗体,该窗体包括文本框和相关超链接标记;和第二键选择将显示中的焦点从文本框重新定位到超链接标记。
32.根据权利要求26所述的系统,其中特征之一包括超链接标记;第一个第二键选择打开与超链接标记相联系的上下文菜单;第二个第二键选择在上下文菜单内重新定位焦点;和第三个第二键选择关闭上下文菜单和使焦点位于超链接标记上。
33.根据权利要求26所述的系统,一个或多个处理器进一步可集体地操作用来当显示中的焦点位于特征之一上时,将与该特征相联系的背景颜色从第一种颜色改变成第二种颜色。
34.根据权利要求26所述的系统,其中,一个或多个处理器通过如下步骤集体地操作用来将数个特征的每一个与至少一个第一键选择相联系通过在主机上为键盘上的每个字母和数字执行第一JavaScript函数,使主机上Alt键的使用失效;通过执行第二JavaScript函数,识别与特征之一相联系的标记中的控制字符;和通过执行第三JavaScript函数,将特征与Alt-控制字符键组合相联系。
35.根据权利要求26所述的系统,其中一个或多个处理器可集体地操作用来通过为用在至少一个第二键选择中的每个键建立onkeydown事件处理程序,建立至少一个第二键选择;至少一个特征包括菜单;与菜单相联系的至少一个第一键选择下拉该菜单;和一个或多个处理器进一步可集体地操作用来当菜单被拉下时,建立一个或多个临时onkeydown事件处理程序;允许用户利用临时onkeydown事件处理程序在菜单内导航;和当菜单被关闭时,取消临时onkeydown事件处理程序。
36.一种包括如下步骤的方法接收与基于万维网的应用程序界面相联系的显示,该显示包括数个特征,数个特征的每一个与至少一个第一键选择相联系,其中,用户可以利用与特征相联系的至少一个第一键选择导航到特征之一,特征的至少一个还与至少一个第二键选择相联系,其中,用户可以利用至少一个第二键选择在至少一个特征内导航;和将显示呈现给用户,其中,用户可以只利用键盘来导航显示。
37.根据权利要求36所述的方法,其中与特征之一相联系的至少一个第一键选择包括至少一个Alt-x键组合;和至少一个第二键选择包括箭头键、Home键、End键、Shift-箭头键组合、Shift-Home键组合、和Shift-End键组合的至少一个。
38.根据权利要求36所述的方法,其中,数个特征包括菜单、按钮、笔记本标签、页面分栏、窗体、或列表的至少一个。
39.根据权利要求36所述的方法,其中特征之一包括窗体,该窗体包括每一个与标记相联系的数个文本框;与窗体相联系的至少一个第一键选择包括每一个与标记之一中的字符相联系的数个第一键选择;第一个第二键选择将显示中的焦点从文本框之一重新定位到另一个文本框;第二个第二键选择将显示中的焦点重新定位到第一个文本框;和第三个第二键选择将显示中的焦点重新定位到最后一个文本框。
40.根据权利要求39所述的方法,其中数个文本框之一包括多行文本框;和第四个第二键选择将显示中的焦点从多行文本框重新定位到另一个文本框。
41.根据权利要求36所述的方法,其中特征之一包括窗体,该窗体包括文本框和相关超链接标记;和第二键选择将显示中的焦点从文本框重新定位到超链接标记。
42.根据权利要求36所述的方法,其中特征之一包括超链接标记;第一个第二键选择打开与超链接标记相联系的上下文菜单;第二个第二键选择在上下文菜单内重新定位焦点;和第三个第二键选择关闭上下文菜单和使焦点位于超链接标记上。
43.根据权利要求36所述的方法,其中,当显示中的焦点位于特征之一上时,将与该特征相联系的背景颜色从第一种颜色改变成第二种颜色。
44.根据权利要求36所述的方法,其中,显示包括一个或多个网页。
全文摘要
该方法包括生成与基于万维网应用程序界面相联系的显示。该显示包括数个特征。该方法还包括将数个特征的每一个与至少一个第一键选择相联系。用户可以利用与特征相联系的至少一个第一键选择导航到特征之一。该方法进一步包括建立至少一个第二键选择。用户可以利用至少一个第二键选择在特征之一内导航。另外,该方法还包括传送显示以呈现给用户。
文档编号G06F3/023GK1757012SQ200480005951
公开日2006年4月5日 申请日期2004年1月16日 优先权日2003年1月16日
发明者戴维·托蒂尔 申请人:电脑联合想象公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1