前端开发最常提到的个词大概是:
可用性、可访问性、可维护性。
- Web可用性也称为网站的易用性,是用来衡量用户使用网站时所获得的体验质量的指标;
- 可访问性是指网站对任何人、在任何环境下都是可持续访问的(特别是针对一些特殊人群、特殊的阅读设备);
- 可维护性就好说了,结构合理,易拓展,以维护,Flexible~
这里我先主要说说Web的可用性。
Web可用性的基本出发点是让用户更方便、快速的找到自己需要的信息(或服务),并用最简单的操作方法来完成所有操作。Important!
1、关于Web使用的事实
普通用户在浏览网页的时候有以下几个特点:
a.不是阅读,而是扫描
人们在浏览网页的时候一般是带有目的性的(使用某种服务或者寻找某些资讯),他们不希望在无关的网页停留太久;
他们不必阅读完网页上的所有内容(所以文字多了他们会烦);
他们喜欢扫描,在最短时间内获得尽可能多的信息(就像面试官看简历一样);
b.不做最佳选择,而是满意即可
在网页中对选择进行权衡是没有意义的,不如直接点击下去,因为猜错并不会有什么严重后果(用户的点击是凭直觉的),如,在北京大学的网站上找到“院系设置”:
我对身边的一些朋友进行了测试,大多数人的第一反应就是去点一下“北大概况”的链接(我问他们为啥想也不想就点,回答是点一下又不会死~囧~),但实际上真正的链接是在右下角。用户看到和他目的相似的链接就会“义无反顾”的点下去,不会多考虑什么(有点像无头苍蝇)。

c.不追根究底,而是勉强应付
用户习惯一般都是先入为主的,他不会追究这样使用是否方便,后面的原理是什么,能够用就行了。如果单纯为了视觉上的体验,忽视用户习惯,可能会大大降低可用性。如果你提供了变化很大的新版本,纵使他更为好用,但最好保留原始版本的入口,给用户一个习惯改变的缓冲期。
2、可用性三大定律(个人理解版)
在Web可用性方面有一个非常出名的定律:
Krug可用性三大定律(原版)
a.别让我思考(Don't make me think,终极法则 );
b.要点击多少次都没关系,只要每次点击都是无须思考,明确无误的选择;
c.去掉每个页面上一半的文字,然后把剩下的文字再去掉一半。
这个定律是Krug在《Don’t make me think》这本书中提出的,虽然说这本书看起来挺废话,一看过去好像都是自己知道的,但是实践起来没谁能保证自己不犯错。 它描述的是Web设计的游戏规则,可能会玩游戏的有不少,但是真正清楚理解游戏规则的有几个?能把游戏规则说清楚的,更是寥寥无几。
我说说我对这三条定律的看法吧。
关于 a.别让我思考
我相信所有人都会举双手双脚表示赞同吧。
关于 b.要点击多少次都没关系
我觉得这句话有点问题,无需思考是必须的,但是点击的次数还是越少越好,要给用户提供便捷的途径到达他想去的地方。
我们比较一下下面下面两种信息寻找方式:

第一种方式,目录查找,不断进入细分类目,直到找到想要的东西,每次点击都不需要怎么思考,但要经过5次页面跳转(并且是假设目标明确,寻找链接不花时间,没有点错的情况下);
第二种方式,直接搜索,从搜索结果中寻找想要的东西,只需经过一次页面跳转。
我想多数人的第一选择都是直接搜索吧,所以在网站导航区提供一个搜索栏是非常必要的。
就算是要使用目录查找,也要通过更好的展示方式,减少用户的点击次数,例如:

通过浮动列表进行信息展示就是一种减少点击次数的好方法。
另外还有提供预览,自动加载啥的……
所以,我对第二条定律表示不感冒,个人觉得正解应该为:
点击次数尽可能的少,利用Javascript或者其他Web2.0技术将网站内涵尽早展现出来,同时,每个点击处的描述都做到准确,无须思考。
关于c.去掉每个页面上四分之三的文字
这个夸张了点,本意应该是尽量减少文字,以更加图形化、直观化的方式,让用户理解网站的使用。所谓的消灭指示性文字、消灭欢迎词,我觉得也是不正确的。
例如,下面的欢迎词、指示性文字等我觉得都是不可少的:

如果真想减少点文字,还不如用“隐藏”的办法(举WordPress的后台管理为例):

还有些什么Tab、幻灯片的方法,都可以用于减少界面上的文字。
因此,我对第三点的看法为:
利用Javascript或者其他Web2.0技术将多余的东西合理的隐藏起来,不影响用户视野,但在需要的时候也能够方便的找到。
综上所述,我对于Web可用性三定律的看法为:
Web可用性三大定律(个人理解版)
- a.别让我思考;
- b.将网站内涵尽早展现出来;
- c.将多余的东西合理的隐藏起来。
3、题外话
可用性和可访问性,有时(甚至大多数时候)却是互相矛盾的。
可用性的提高意味着对于多数群体在正常情况下,网站更容易使用,然而这很有可能是以可访问性作为牺牲的。对于一些特殊用户,他们的浏览器可能不支持js脚本,没有鼠标,或者是用屏幕阅读器(用于朗读页面内容),这时候我们的Web可用性层(JavaScript)可能不但没有提升易用性,反而会给他们带来很多阻碍与困惑,例如:
盲人站长深恶痛绝的onfocus=”this.blur()”。
另外,在一些表单验证、网站导航(鼠标下拉菜单)等地方常常很有可能都会发生一些可访问性的问题(例如手机用户访问)。
但是,我们不应该让可访问性限制了可用性,完美的可访问性不代表为所有用户在所有环境下提供完全一样的功能(这是几乎不可能的),只要保证JavaScript失效的情况下,网站依旧可以使用即可(不会因此缺失重要功能)。
分享到:
相关推荐
此外,书中还将涵盖Oracle WebServer的扩展性和高级特性,如SSL加密、负载均衡、集群配置等,这些都是构建高可用性和高可伸缩性Web应用不可或缺的技术。同时,针对现代Web开发的需求,书中可能还会介绍Oracle Web...
Web应用程序的可用性和易用性是Web应用程序开发的重要目标,涉及到Web应用程序的设计和开发的基本过程。 知识点12:Web技术中的对象的认识 Web技术中的对象的认识是非常重要的,涉及到Web技术中的对象的认识、控间...
NoSQL数据库通常具有高可用性、水平扩展性和灵活的数据模型,适应了互联网大数据时代的需求。 通过本课件的学习,你将掌握Web数据库的基础理论,学会如何设计和实现Web数据库应用,理解数据库安全策略,并对现代Web...
此外,通过实际操作和测试,可以确保这些服务能够在各种环境下稳定运行,从而达到最大的互操作性和可用性。这对于任何希望通过Web服务技术来提升其业务能力的企业或组织来说都是非常宝贵的。 通过本系列教程的学习...
而Web服务器,作为互联网信息传递的核心组件,其性能直接影响用户体验和网站的可用性。因此,对基于Linux的Web服务器进行性能测试,不仅是确保服务质量的关键,也是优化资源配置、提升系统效率的重要手段。 ### Web...
这些增强的功能对于满足用户需求和提升应用程序的可用性至关重要。 总之,视图和文件夹是查询和展示信息的有效工具,它们在Web环境中提供便捷的用户界面和强大的功能,让数据库的管理变得简单而高效。开发者在进行...
Web 2.0为用户提供了一个表达和分享观点的平台,而语义Web则致力于提升这些信息的质量和可用性。 #### 六、本体论的实现细节 在文章的后续章节中,作者将进一步深入探讨基于本体论的表示方法,这是语义Web技术的...
其三层防护机制主要涵盖预防、检测和响应三个阶段,确保Web应用的安全性和可用性。梭子鱼WAF方案的提出,有助于提升用户对Web应用安全的认识,指导用户如何选择合适的防火墙型号以及如何基于自身需求进行网络架构的...
**实际应用**:网页版的ping和tracert工具可以在多种场景下发挥作用,比如监控网站的可用性、分析网络延迟、排查跨地域访问问题等。然而,它们不能替代专业的网络诊断工具,因为浏览器的安全限制和性能因素,可能...
通过这个实验,学生可以深入理解多线程编程和操作系统层面的并发原理,同时提升对Web服务器架构和性能优化的认识。实际应用中,许多高性能的Web服务器,如Nginx和Apache,都采用了线程池技术来处理高并发请求。
通过对《Web缓存技术入门》文档的学习和总结,我们不仅了解到Web缓存技术的基础理论及其在实际场景中的应用价值,还对其未来发展有了更深入的认识。在未来的工作和学习过程中,希望各位能够灵活运用这些知识,不断...
* 人机交互的设计原则:可用性、可访问性、一致性、Feedback、灵活性等。 * 人机交互的设计过程:需求分析、概念设计、原型设计、测试和评估等。 Bikesharing.com 网站开发 * 网站需求分析:Bikesharing.com网站...
MongoDB是一个面向文档的数据库,它提供了高性能、高可用性和易扩展性。Docker是一个开源的应用容器引擎,它使得开发者和系统管理员可以轻松地创建、部署和运行应用程序。Beego是一个用Go语言编写的全栈Web框架,它...
Web API安全是现代网络信息安全领域中的一个重要组成部分,它主要...在快速发展的互联网环境下,对Web API的安全保护变得越来越重要,需要开发者和安全专家共同努力,提高Web API的安全性,抵御各种潜在的网络威胁。
此外,还可以研究如何将系统部署到云服务,实现高可用性和弹性伸缩。 总结,这个“基于WEB的网上购物系统”资源包为学习和开发此类系统提供了宝贵的材料,无论你是初学者还是有经验的开发者,都能从中获得启示,...
此外,可访问性(Accessibility)也是现代WebUI设计的重要考量,确保网页对所有用户,包括有特殊需求的用户,都是可访问和可用的。 接下来,我们要关注的是色彩和视觉设计。颜色可以影响用户的情绪,引导视线,并...
信息安全(Information Security)是保护信息免受非授权访问、使用、披露、破坏、修改或破坏的过程,目的是保护信息的机密性、完整性、可用性。信息安全的三大目标是确保: 1. 机密性:确保信息不被未授权的个人、...
9. **分布式设计**:为了应对大流量和高可用性,系统可能采用分布式设计,如负载均衡和集群,Java的RMI(Remote Method Invocation)或Spring Cloud等框架可以帮助实现这一目标。 综上所述,这个“web版的银行取号...