WEB开发网
开发学院软件开发Java 使用 Dojo 开发支持 Accessibility 的 Web 应用 阅读

使用 Dojo 开发支持 Accessibility 的 Web 应用

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 而这样的需求,很显然,使用 Dojo 开发支持 Accessibility 的 Web 应用(4),只是简简单单的使用 HTML 语言规范中的 TabIndex 属性是做不到这一点的,我们必须拦截用户的键盘事件,但是不管怎么样,他们提供了除鼠标操作之外的另外一个方便快捷的途径,来判断用户按的键值

而这样的需求,很显然,只是简简单单的使用 HTML 语言规范中的 TabIndex 属性是做不到这一点的。我们必须拦截用户的键盘事件,来判断用户按的键值,并且根据不同的键值做出不一样的响应。

不幸的是,不同的浏览器对于用户按键的捕捉,键值的属性等等都各有差异,很难做到支持各种主流的浏览器,不过 Dojo 针对键盘事件的处理,尤其是在各种键值在浏览器中的属性的不一样,事件机制也有差异的情况下,进行了规范化,屏蔽了浏览器之间的差异性,用户可以在同一个 API 下面进行编程,大大提高了方便程度。

下面是一个简单的利用 Dojo 捕捉键盘事件,处理 Tab 导航的例子:

function onkey(evt){ 
    var key = evt.keyCode; 
    if(key == dojo.keys.SHIFT_TAB) 
    { 
        dojo.stopEvent(); 
        // 阻止事件的往上发布 
        // 定位到上一个需要定位的元素 prev 
        prev.focus(); 
 
    } 
    else if(key == dojo.keys. TAB) 
    { 
        dojo.stopEvent(); 
        // 阻止事件的往上发布 
        // 定位到下一个需要定位的元素 next 
        next.focus(); 
    } 
} 
//利用dojo的事件挂接方法来处理键盘事件,用户按下任意键值,都将出发onKeyPress方法 
dojo.connect(document, "onkeydown", "onkey"); 

使用其他键值进行辅助、快捷的操作

如果您使用过 Google Reader,一个在线的 RSS 内容阅读 Web 应用程序,您可能知道使用 "j" 键来打开下一条 RSS 的 Feed 内容,或者使用 "k" 键来打开上一条内容等等。这些键值不同于 Tab 键,Enter 回车键等 HTML 网页中具有某些默认行为的键值,他们是自定义的,换言之,不同的 Web 站点可能有不同的操作规范,但是不管怎么样,他们提供了除鼠标操作之外的另外一个方便快捷的途径,大大提高了 Web 应用程序的易用性。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:使用 Dojo 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接