用户体验 保守的使用下拉菜单
来源:yesky 发布时间:2008-01-15 20:00:00
摘要:下拉菜单经常带来更多的可用性问题,并且常常容易被混淆。这是因为网页设计师们往往会在不同的几种情况下使用它。同时,滚动的菜单降低了网页的可用性,因为用户无法在单一的一个扫视上看到他们想看到的所有选项。
很明显,下拉菜单在好的网页设计中有其自己的位置。但是,有限的交互式部件导致了网页设计师们滥用下拉菜单,这带来了可用性问题并且容易让人误解。设计师们会在各种不同的情况下使用下拉菜单,包括:
命令菜单:根据用户所选的选项,进行不同的操作。
导航菜单:把用户带到网站上新的位置。
表单填写:在填写表单时,让用户通过下拉菜单来选择某一选项。
挑选值:从一系列可用的值中,选择一个。
只有最后一种情况和传统的图形用户界面设计相一致。特别是,当使用下拉菜单来作为命令菜单时,看起来非常困难。命令菜单仅出现在标准的菜单工具栏上。尽管Mac和Pc使用两种不同的执行菜单,但两者都表明命令菜单不同于挑选值菜单。事实上,在“Macintosh Human Interface Guidelines”的87页,明确的说:“不要使用下拉菜单作为命令菜单。”
变革前景展望
网站的确需要一套更丰富的标准交互式部件-至少得像80年代由Mac公司提出的设计调色板一样丰富。给出更加具体的部件,设计者们可以为每种目的选择正确的表达方式,从而增加用户掌握环境的判断力。目前而言,相当多的设计师们混淆了这些动作的使用方法,因此很少有用户会在在给定的时间内明白它们可以做什么。
不幸地,短时间内还不会出现更好的浏览器。如果打算使用增强的设计部件标准,我推荐在两年或更长时间后使用,因为浏览器功能的突破,会非常缓慢。
因此,可以预见,我们还得使用这一易使人混淆的、单一的图形用户界面部件——下拉菜单。
避免使用的设计
下拉菜单是有它们的好处的。首先,它们节省了用户的屏幕空间。当它们仅显示一个正确的选择时,可以防止用户选择不正确的步骤。最终,由于它们是一个标准的部件(甚至是令人讨厌的部件),用户知道当他们碰到它时应该怎么办。
尽管它有以上的优点,但是如果设计师们尽量少用下拉菜单,那么网页的可用性会得到提高。下面举了几个在设计中应该避免使用的例子:
交互式菜单:当用户在一个下拉菜单中选择了相应的选项后,同一页面中的另一个下拉菜单自动改变。这会使用户感到非常迷惑。
很长的菜单:这意味着用户不能扫视所有的项,而必须拉动滚动条。通常,在这种情况下,使用正规的HTML的超链接列表会更有效。
州、城市缩写菜单:例如U.S. 寄信地址。用户直接键入"NY"会比在一个需要滚动的下拉菜单中进行选择,方便快捷得多。虽然让用户自己输入数据时,为了保证数据的正确性,必须增加数据校验脚本,但从可用性角度来说,这通常是一种最好的方法。
用户非常熟悉的数据菜单:例如,他们的出生年月。用户常常会键入这样的信息,让用户从下拉菜单中选择年份、月份,破坏了规则,你完全可以为用户创建更多的东西。正如下面的例子,所展示的:
在最近的在钮约召开的网络世界会议上,我和Kara Pernice Coyne介绍了一些网站可用性方法。在介绍中,我们为观众展示了一个小小的用户测试。在用户注册面面上,用户必须在一个表单的文本框中输入她的街道地址,在一个下拉菜单中选择所属的州。猜猜看,发生了什么?一开始用户在文本框中键入了完整的地址,因为以前她一直是这么做的。当看到下拉菜单时,她显然有点儿惊奇,然后她不得不重新回到输入地址的文本框,删除刚才她已经输入的州部分信息。
在这个小测试中我们得出,有时候对单一的用户进行测试,能够清楚反映一些问题。一旦你看到操作中的误解,你就会意识到,使用一个“有用的”下拉菜单以节省用户输入的时间所带来的害处远远大于它所带来的好处。
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 1、介绍在爬虫中经常会遇到验证码识别的问题,现在的验证码大多分计算验证码、滑块验证码、识图验证码、语音验证码等四种。本文就是识图验证码,识别
- 起因事情是这样的,项目最近有个需求。服务器有个图片空间,说白了就是个文件夹。文件夹的结构大家都知道,一层一层的。然后需要在前端以树形展示。具
- Python文件操作和异常处理Python作为一门高级编程语言,为我们提供了丰富的文件操作和异常处理机制。在本文中,我们将从以下几个方面讨论
- 前言:随着移动端的普及出现了很多的移动 APP,应用软件也随之流行起来。最近又捡起来了英雄联盟手游,感觉还行,PC 端英雄联盟可谓是爆火的游
- 一、uni-app介绍??uni-app??? 是一个使用 ? ?Vue.js?? 开发所有前端应用的框架,开发者编写一套代码,可
- 很久笔者没有来这里写东西了,因为真的很忙。最近笔者一直在使用Win2008系统,不过发现一个很奇怪的问题,那就是在该系统上安装了SQL200
- 例如:将日期格式为2009-6-8的转换为2009-06-08,给小于10的数字补上一个0方法一:year(now)
- 因为神奇的中文有时也是会遇到国外同学都不知道原因导致一些神奇滴问题,所以要用更神奇的英文来解决问题。Mac OS的一些:华文细黑:STHei
- Python作为一门脚本语言,经常作为脚本接受命令行传入参数,Python接受命令行参数大概有三种方式。因为在日常工作场景会经常使用到,这里
- 本文实例讲述了Python django框架应用中实现获取访问者ip地址。分享给大家供大家参考,具体如下:在django官方文档中有一段对r
- python的format函数通过{}来格式化字符串>>> a='{0}'.format(123)>
- 本文实例讲述了Python iter()函数用法。分享给大家供大家参考,具体如下:python中的迭代器用起来非常灵巧,不仅可以迭代序列,也
- 经典字典使用函数dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典。当然dict成为函数不是十分确切,它本质是一种类型
- 本文实例讲述了Python常见数据类型转换操作。分享给大家供大家参考,具体如下:类型转换主要针对几种存储工具:list、tuple、dict
- RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。我的
- Go的error比较灵活.但是自身对error处理的机制有不太好用,我们可以自定义错误输出:只要所有实现了Error()方法的对象都可以,
- 场景当我提交了本次修改到本地和远程分支后,发现我本次提交还少了一些修改内容,或者说本次修改是完全错误的,然而也push到远程仓库去了。如何回
- 前段时间自学了一段时间的Python,想着浓一点项目来练练手。看着大佬们一说就是爬了100W+的数据就非常的羡慕,不过对于我这种初学者来说,
- 一丶为什么数据库需要锁数据库锁设计的初衷是处理并发问题。作为多用户共享 的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而
- 具体代码如下:from django.template import loaderfrom emai