JacksonPollack.org一个Drawing API 精彩的应用。随机生成笔触和颜色,点击生成新的随机颜色。
JavaScript可以增强可用性但是不要依赖JavaScript
Usability:容易使用。
Accessibility:任何人都可以访问站点。
使用JavaScript增强大多数用户的可用性,不要因此而给少数用户的可访问性带来负面影响。你可以退一步使用一个纯HTML页面或服务器端的方案来替代JavaScript带来的好处。
提供一个无JavaScript替代
这并不意味着使用通常的noscript标记,多数情况下你可以脱离noscript标记。
避免貌似聪明的技巧
不要使用滚动的或者经常动态变化的文本,这会使屏幕阅读器失去作用,这样视力障碍的人就无法访问了。
避免使用闪烁的或持续移动的图片,这样会使用户无法集中注意力。更糟的是大块的闪烁区域会使用户产生反感情绪。
不要对用户浏览器卡油
永远不要使用用户没有同意的弹出窗口。
不要调整窗口尺寸或移动窗口。
如果要弹出窗口,事先告知用户。
不要关闭弹出窗口的缩放和滚动条功能。
考虑不同残障人士的需求。
怎样提高你的Ajax应用程序的Accessibility(之二)
–Ajax应用程序的Accessibility 原文
什么是Ajax?
Ajax是一份集合多种WEB技术的“瑞典式自助餐”,可以进行不刷新页面的客户-服务器动态交互。Ajax基于异步Javascript对XML调用。Ajax不是一种技术,而是多种技术的组合应用模式。Ajax使用下列技术:
(X)html和CSS建立用户界面,并且XHTML和CSS元素可以被通过DOM对象动态地改变,以显示新地信息和样式。
Javascript用来操纵页面元素,并通过XMLHttpRequest同WEB服务器进行通信,这样可以实现客户端和服务器间地数据传输,而不用刷新重载页面。
使用Ajax可以进行高级的交互和数据处理,不需要通常的客户服务器交互步骤:
显示一个网页。
收集用户信息(通过表单、链接等)。
用户提交信息(通过表单、链接等)。
服务器处理信息。
返回一个新页面给用户浏览器。
有了Ajax,上面的步骤可以通过一个界面完成。这里有一些典型的Ajax应用:地图应用,实时搜索,聊天,实时表单验证处理,购物车程序, 邮件程序,应用列表还在增长中。Ajax类的应用使WEB进入了2.0时代,WEB2.0可以说是WEB应用方式的一种革命。随着Ajax的破土而出和广泛应用,给开发人员带来了相关的可访问性问题。
为什么要Ajax?
像上面提到的,Ajax允许丰富的、动态的页面应用程序,而不使用以往的“提交数据-获得页面”的方法。使用XMLHttpRequest,数据在后台传输,Javascript用来操作用户界面,显示动态数据。这样可以减少客户端和服务器间的数据传输,因为页面不需要重新生成并传输给客户端,所有的改变都在一个页面实现。JavaScript也可以实现更高级的交互操作,例如快捷键、托拽。
为什么不要Ajax?
Ajax不是所有的浏览器都支持,正像它的名字,Ajax需要Javascript,不支持Javascript的浏览器无法支持Ajax应用。Web Content Accessibility Guidelines也要求WEB应用在Javascript不被支持的时候能够完成必要的功能。浏览器还要支持XMLHttpRequest,否则无法获得XML数据。
现在的解决方案是同时提供不支持Ajax的替换版本,保证不支持Javascript或XMLHttpRequest的浏览器能正确显示信息。这种要求通常无法实现。开发人员可能会要求用户使用支持AJAX的浏览器,但是这可能也是不容易的,尤其是使用移动设备和旧版本浏览器的用户。
Ajax往往是动态操纵和更新页面元素。Ajax可以在用户没有操作或没有注意的情况下提交信息。例如,用户一项认为只有在自己点击蹄提交按钮后,表单才会被提交、校验,但是有了AJAX,可能在任何时候都可能有数据提交,例如在文本框失去焦点后的5秒钟。并且这种操作对用户来说不是显而易见的,尤其是在操作很快的情况下用户更加迷惑。多数用户认为在提交数据后到得到反馈会有一些延时,并且等待整个页面的刷新,有了AJAX就不会有这些情况。
另一种情况是AJAX的引用程序界面如何更新。当界面被更新的时候可能不是很明显可以看出来,这种情况在使用屏幕阅读软件的用户中更为严重,因为屏幕阅读采用线性的方式阅读页面,当页面内容发生改变的时候,新内容可能不会被读到。
简单地说,保证应用程序及时通知用户数据的改变,并保证程序的顺利进行。就现在的发展趋势AJAX还是很有前景的。相信从浏览器厂商到阅读器等应用厂商都会努力支持这种技术。