Flash与Web可用性之一——问题
关心Web可用性的朋友可能听说过Jakob Nielsen大师写过的一篇著名的文章“Flash 99% bad”。这篇文章是Nielsen在2000年写的,指出了滥用Flash对于Web可用性造成的恶果。Ajax技术出现之后,还有人东施效颦地写了一篇 “Ajax 99% bad”。
Nielsen指出在大量使用Flash的Web设计中普遍存在三个方面的问题:
Encourages Design Abuse 鼓励了设计的滥用
1. 设计师喜欢使用一些很酷很眩的动画,对于可用性没有任何改善,大部分时候是降低了可用性。
2. 一些非互动的展示性质的Flash视频降低了用户可控制的粒度。
3. Flash还引入了很多非标准的GUI控件,这些控件的使用需要花费时间去掌握,而它们的使用效率并没有得到严格的测试。
Breaks Web Fundamentals 打破了Web可用性的基本原则
1. 无法使用浏览器的Back/Forward按钮。
2. 无法看到链接的信息。
3. 无法方便地改变Flash中字体的大小。
4. 降低了残疾人的可访问性。
5. 无法使用浏览器的页面搜索功能。
6. 国际化和本地化很复杂。
Distracts from a Site's Core Values 分散了站点的核心价值
1. Flash的内容通常不更新。
2. Flash往往仅提供了肤浅的提示信息。
3. Flash通常由不理解业务的设计师制作,无法更好地识别用户的真正需求,从而以最有效的方式协助用户完成他们的工作。
除了Nielsen所指出的这些可用性问题以外,Flash还有另外一个明显的可用性问题。
Fielding在其2000年关于REST的博士论文的最后一章中,花了一些篇幅来分析JavaScript战胜Java Applet最终统治Web前端开发的原因。原因很简单,那就是JavaScript支持增量的呈现, 而Java Applet不支持。也就是说,JavaScript不必等到页面内容全部接收完才能对内容进行处理。支持增量的呈现会极大改善用户可觉察的性能,从而改 善Web可用性。那么Flash呢,其实与Java Applet相同,一样不支持增量的呈现,所以我们常常要很不耐烦地等待Flash内容完全下载完。
Nielsen 和Fielding两位大师所指出的问题都是深层次的问题,很多是Flash天生所固有的,至今Flash也没有能够很好地解决。Flash现在已经不再 仅仅是一种展示媒体,而发展成为一种应用开发平台(Flex、Laszlo、AIR)。知耻而后勇,今天的Flash虽然没有完全解决Nielsen和 Fielding两位大师所指出的问题,但是在Web可用性方面已经取得了很大的进步。下次我来介绍一下Flash在Web可用性方面取得了哪些改善。对 这个话题感兴趣的朋友可以先去这里看看:Adobe的Accessibility Resource Center。