Ajax-可用性问题
导航: 上一页 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
前面谈到的都是用户的期望,除此以外,可用性也不能不提。Ajax方法相当新,还没有多少成熟的最佳实践。不过,标准Web设计原则还是适用的。随着时间推移,当越来越多的人开始尝试这种方法时,就会发现可能存在哪些限制,并建立适当的指导原则。也就是说,你应该让用户来指导你。根据在应用中使用Ajax的方式,你可能会动态地改变页面中的某些部分,习惯于整个浏览器刷新的用户可能不会注意到与以前相比有什么变化。这个问题引出了一些新的特性,如37signals所普及的黄褪技术(Yellow Fade Technique,YFT),这个特性已经用在Ajax的招牌应用Basecamp中了。
基本说来,YFT是指“取页面中有变化的部分,并置为黄色”。假设你的应用原本没有大量使用黄色,用户就很可能会注意到这种改变。过一段时间后,再让黄色逐渐褪色,直到恢复为原来的背景色。当然,你也可以选用你喜欢的其他颜色,只要能把用户的注意力吸引到有变化的部分。
可能YTF并不适用于你的应用,你也可以选择用一种不那么张扬但仍很有用的方式来提醒用户。Gmail在右上角显示了一个闪动的红色“Loading”加载记号,提醒用户正在获取数据
究竟要使用YFT还是其他类似的技术,实际上取决于你的用户。最简单的方法是让一组用户代表来进行测试。可以通过文字问卷,也可以使用基于Web的原型应用,这要看你处在设计过程的哪个阶段。但是不论如何测试,在真正采用Ajax完成复杂设计之前都应该取得一些用户反馈。
而且要从小处做起。在刚开始使用Ajax时,不应该马上就创建一个可调整列的动态门户网站,而是应该先试着处理客户端验证,逐步转向服务器端。待有所了解后,可以再尝试更动态的使用,如填写一个下拉列表,或者设置某些默认文本。
不管你要如何应用Ajax,记住别做稀奇古怪的事情。我们知道,这不算是一个学术性的建议。不过,目前这方面还没有严格的规则。先听听用户怎么说,部署之前一定要先做测试,而且要记住,如果太过古怪,用户很快就会点击“跳过本页”链接跳过你精心设计的这些部分。
要知道使用Ajax 时有几个常犯的错误。我们已经讨论过,有变化时如何向用户提供可视化的提示,不仅如此,Ajax还会以其他方式改变标准的Web方法。首先,不同于IFRAME和隐藏框架,通过XHR做出请求不会修改浏览器的历史栈。在许多情况下这没有什么问题(你可能会点击后退箭头,只是要看看是不是什么都没有改变,但这么做能有几次呢?),不过,如果你的用户确实想用后退按钮,就有问题了。
其次,与其他基于浏览器的方法不同,Ajax不会修改地址栏中显示的链接,这表明你不能轻松地为一个页面建立书签,或者向朋友发送一个链接。对于许多应用来说,可能没有这个要求,但是如果你的网站专门为人提供行车路线之类的东西,就要针对这个问题提供一个解决方案。
有一点很重要,使用Ajax不要过度。记住,JavaScript会在客户端的浏览器上运行,如果有数千行JavaScript代码,可能会让用户感觉速度太慢。如果脚本编写不当,就会很快失去控制,特别是当通信量增加时。
Ajax允许你异步地完成操作,这个最大的优点同时也是它最突出的缺点。我们以前总是告诉用户,Web应用是以一种请求/响应模式完成操作的,用户也已经接受了这种思想。但是用了Ajax,就不再有这个限制。我们可以只修改页面的一部分,如果用户没想到这一点,他们很可能会被搞糊涂。所以,你要注意一定要让用户明白这一点,不要想当然地以为他们知道。记住,只要有疑问,就要请用户代表进行测试!