`

[转]《Web界面设计》原理一:直接了当

    博客分类:
  • Web
阅读更多

1 .1、行内编辑和覆盖层编辑的最佳实践

  • 通过使用业内编辑,用户在修改页面显示的内容时可以观察到上下文的变化。以下是一些相关的最佳实践:
  • 对单个字段使用行内编辑。
  • 当编辑多个项中的一个时使用行内编辑。这样可以保持视图中的上下文。
  • 尽可能保证显示和编辑模式的大小相同。这样可以避免页面抖动,同时减少两个模式间切换对用户造成的干扰。
  • 尽可能让显示与编辑模式之间的变换平滑而连续。
  • 在主要考虑易读性时,通过鼠标悬停邀请用户编辑。
  • 不要让用户通过双击切换至编辑模式。
  • 如果用户频繁编辑某个项的可能性较大(即可编辑性与易读性同等重要),或者须要编辑的项比较少,可以再被编辑项旁边放一个加方括号的“[edit]”链接。这样既可以从视觉上区分链接与显示的文本,又不至于分散用户注意力。
  • 在编辑系列中的某一项时,应该在原地显示编辑链接(以便保持上下文)。
  • 如果须要用户更多地关注被编辑的项,可以使用覆盖层。这样可以消除意外修改关键值的可能性。
  • 不要针对多个字段创建多个覆盖层。如果想通过复杂的表单编辑一系列元素,应该使用一个覆盖层。
  • 在使用覆盖层时,尽量使用最轻量级的样式,以减少显示与编辑状态切换造成的干扰。
  • 如果隐式地提交编辑结果不明显,可以使用按钮。
  • 在空间允许的情况下,要让用户通过按钮来保存和取消编辑。
  • 只要可能就要允许用户拖动覆盖层,以便看到被遮住的内容。

 

1.2、表格编辑的最佳实践

  • 要格外关注表格数据显示的可读性。
  • 不要通过鼠标悬停启动单元格编辑。否则,不仅会让用户有进入“地雷阵”之感,更会干扰到正常的界面交互。
  • 要通过鼠标单击启动编辑功能。尽管使用鼠标双击也并非完全不能接受(因为这会让人感觉像在使用Excel),但单击更方便一些。
  • 注意要为编辑操作提供稍大一些的空间,例如使用下列编辑框或增大编辑单元格。
  • 尽可能模仿用户已经熟悉的常规性单元格切换操作(例如使用Excel的惯例)。

1.3、群组编辑与模块配置的最佳实践

  • 如果有一定数量的项须要编辑,应该使用可切换的编辑模式;否则,直接显示编辑元素会造成视觉干扰。
  • 启用和禁用功能要尽可能相似(对称性交互)。进入和退出编辑模式的操作应该更像是切换。
  • 在将配置作为重要功能的情况下,应该让模块支持行内编辑式的配置。
  • 如果模块配置没有显示内容重要,则应该以全局方式开启/关闭模块配置。

选择编辑模式的原则:

  • 如果页面中有一个字段须要编辑,应该优先使用单字段行内编辑。
  • 对于多个字段或更复杂的编辑,可以使用多字段行内编辑。
  • 如果编辑时的上下文无关紧要,或者用户在编辑时应该全神贯注,则使用覆盖层编辑。
  • 对于网格编辑,应该遵循表格编辑模式。
  • 在处理页面中的多个项时,群组编辑是平衡视觉干扰与易发现性的有效方案。
  • 如果想让用户直接配置模式,则应该使用模块配置模式。


1.4、选择编辑模式的原则
  • 如果页面中有一个字段须要编辑,应该优先使用单字段行内编辑
  • 对于多个字段或更复杂的编辑,可以使用多字段行内编辑
  • 如果编辑时的上下文无关紧要,或者用户在编辑时全神贯注,则使用覆盖层编辑
  • 对网格编辑,应该遵循表格编辑模式
  • 在处理页面中的多个项时,群组编辑是平衡视觉干扰与易发现性的有效方案
  • 如果想让用户直接配置模式,则应该使用模块配置模式

2.1拖放模块的最佳实践

  • 如果在拖动期间清晰地展示预览效果很重要,应该使用占位符目标。
  • 如果想避免页面抖动(保持布局稳定),应该使用插入条目标。
  • 要使用被拖动对象的中心点来确定放置位置。
  • 要使用稍微透明的被拖动对象(幻影),不要使用不透明的版本。
  • 如果让用户拖动表示模块的缩略图,应该使用插入条目标。

2.2拖放列表的最佳实践

  • 只要可能,就应该实时拖动列表项并使用占位符。
  • 要使用鼠标位置来确定拖动目标的位置。
  • 如果目标是保证拖动速度,或者被拖动的项很大,应该考虑使用插入目标。因为呈现插入条与动态重排列表相比,更容易实现。
  • 由于列表中的拖放功能不容易被发现,应该考虑提供重排列表的替代方式。
  • 当用户使用替代方式重排列表时,再借机通过一次性提示,告知下次可以使用拖放。

2.3拖放对象的最佳实践

  • 如果对象间的视觉关系很复杂,要使用插入目标来表示放置位置(以便降低拖动对页面布局的干扰)。
  • 对于父/子关系,突出显示父对象也可以表明放置位置。
  • 只要有可能,就要在鼠标悬停时显示拖动提示,以表明可以拖动。
  • 在对象被拖动3像素或鼠标按下超过0.5秒时启动拖动。
  • 与光标同步直接定位被拖动的对象。偏移拖动对象会让人感觉它与拖动操作不相关。
  • 鼠标悬停在可以拖动的对象上时,要通过改变光标表明可以拖动。

2.4拖放操作的最佳实践

  • 在WEB界面中使用拖放操作必须有所节制,因为该项功能不容易发现,有时甚至达不到期望的效果。
  • 为完成相同的操作提供一种可替代方案。将拖放操作作为一种快捷机制。
  • 不要使用拖放来设置简单的属性。应该使用更直接的方式设置对象属性。
  • 不要仅仅为了实现拖放而创建人造视觉元素。拖放应该符合对象在界面中的自然表现。
  • 在鼠标悬停时提供明确的邀请,以说明可以执行的操作。

2.5拖放集合的最佳实践

  • 要提供归集项目的可替代方式(例如,提供向购物车中添加商品的不同方式)。
  • 在拖动开始时,突出显示有效地放置区域以提示用户可以把项目放在哪里。
  • 要提供备用提示,以告诉用户也可以使用拖放归集项目。

关于拖放的最佳实践

  • 在拖动对象时尽量保持页面抖动最小化。
  • 在用户按下鼠标并拖动了3像素或按住鼠标超过0.5秒时启动拖动。
  • 通过拖放执行直接操作应该作为界面中更直截了当方式的替代方法。
  • 应该关注拖放过程中的所有趣味瞬间。记住,必须让用户在整个过程中随时能够得到必要的信息。
  • 使用邀请来提示用户可以使用拖放。

3.1切换选择的最佳实践

  • 在选择位于行中的元素时,使用切换选择。
  • 为便于选择非连续的元素,要使用切换选择。
  • 在列表中,除了复选框之外再突出显示行能够明确选择状态。
  • 在分页显示内容时,应该只把操作应用于当前页中的选中项。
  • 如果提供“选择全部”选项,则还应考虑跨越多个分页选择全部元素的方式。
  • 对选中了多少个元素给出清晰地反馈。
  • 只要可能,就在没有选中项的情况下禁用无法使用的操作。如果不禁用相关操作,必须添加其他界面元素说明为什么不能执行该操作。

3.2集合选择的最佳实践

  1. 如果允许用户在多页中选择项,应该把(从每一页)选择的项归集到一个独立的区域。这样,即使用户在不同页面间切换,也会保持明确的选择状态。
  2. 在同个界面中,可以通过集合选择来混合切换选择和对象选择。
  3. 要注意通过集合选择归集的项目与在当前页面中选择的项或对象可能带来的二义性。

3.3对象选择的最佳实践

  • 在可选元素能够被拖动时使用对象选择。
  • 在模仿桌面式交互的Web应用程序中使用对象选择。
  • 支持标准的修改键扩展(Shift扩展选项;Ctrl用于非连续选项)。
  • 在浏览器能力有限的情况下,应考虑将对象选择降级为切换选择。

混合选择的最佳实践

  • 使用复选框选择对象可以不必打开对象。
  • 使用对象选择来选择并打开对象。

 

分享到:
评论

相关推荐

    Java编程思想(完整版)

    既然Java不过另一种类型的程序设计语言,大家可能会奇怪它为什么值得如此重视,为什么还有这么多的人认为它是计算机程序设计的一个里程碑呢?如果您来自一个传统的程序设计背景,那么答案在刚开始的时候并不是很明显...

    C语言讲解 主讲:邓君峰

    最好直接了当: 最好直接了当: 基本输入输出函数 scanf( ) 格式化输入函数 scanf("%d %d", &m, &n ); scanf(格式控制 输入参数 ... , 输入参数 格式控制, 输入参数n); 格式控制 输入参数1, –格式控制说明 %… –...

    VB.Net 公农历转换工具

    目的:让用户直接了当的从日历(公历)中看到日期的农历年份及月份日期; 二、闹铃。大家是不是总是因为上网而忘了其他还有很得要的事情要做呢?不要紧,用这个小小闹铃功能就能搞定这一切。实现了循环播放功能效果...

    李开复写给中国学生的第一封信

    李开复写给中国学生的第一封信 坚持诚信。正直的原则 生活在群体之中 做一个主动的人 挑战自我,开发自身潜力 客观直接了当的沟通 珍惜校园生活 你想戴一定什么样的博士帽

    angular中实现li或者某个元素点击变色的两种方法

    先说一种最直接了当的不需要js控制。 方法一:直接在用ng-class就可以控制: <p ng-click=state ng-class={active:state>浮伤年华 <p ng-click=state ng-class={active:state>忧伤说笑 在style里面设置如下: &...

    you only look once 原论文

    同时,与置信度分为前景置信度和条该概率的每一个类的置信度,类似于faster rcnn两阶段任务中的rpn阶段判断positive or negative,然后交给roi head判断具体的类别。,更详细的介绍参考博客:...

    百锐人事管理系统 v2.0 官方免费版.zip

    如今对于企业来说,人员的安排,人力资源的管理是相当重要的,那如何直接了当的了解每个部门的人事情况呢,如果您也在苦恼这个问题,不妨来看看这款软件————百锐人事管理系统 软件测试: 1.首先我们看一下界面...

    【Flask学习笔记:四】Flask 应用和请求上下文

    目录:   【Flask学习笔记:一】开发环境部署 ...  要想让视图函数能够访问请求对象,一种直接了当的方式是将其作为参数传入视图函数,不过这会导致应用中的每个视图函数都多出一个参数。除了访问请求对

    面试资料 求职技巧 职场语录

    这个问题会使你向他们提供证据以证实你可以帮助他们改进工作效率,降低成本、增加销售、解决问题(如准时上班,改进对顾客的服务、组织一个或多个管理工作等)。  回答样板:“我是个经验丰富的经理,在员工队伍...

    asp.net 锁定gridview首行、前几列

    附详细使用说明,非常简单,解决问题直接了当。

    JCS简介

    它被设计用来加速应用程序,通过提供一个手段来管理多种变化种类的缓存数据。像其它缓存系统一样,JCS对高读(high read)、低放(low put)的应用程序非常有用。 JCS超越了简单地在内存中缓存对象的功能。它提供了...

    JCS 实践

    它被设计用来加速应用程序,通过提供一个手段来管理多种变化种类的缓存数据。像其它缓存系统一样,JCS对高读(high read)、低放(low put)的应用程序非常有用。 JCS超越了简单地在内存中缓存对象的功能。它提供了...

    DirectX中文帮助文档

    现在电脑软件方面的什么Direct,什么X,简直太多了,搞得我每次去书店买书,在一大堆充斥着Director、ActiveX的书籍面前,总是看花了眼。再一次向读者重申,本站只致力于介绍微软的游戏开发引擎——DirectX的开发与...

    C语言编程规范详细解析

    1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库函数和公共函数。 1.4 不要随意定义全局变量,尽量使用局部变量。 1.5 使用括号以避免二义性。 ...... 3. 结构化要求 3.1 ...

    c#编码规范规则文档

    2)打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 3)尽量使用.NET库函数和公共函数(无特殊情况不要使用外部方法调用windows的核心动态链接库)。 4)不要随意定义全局变量,尽量使用局部变量。 2.可读性要求...

    程序代码写作规范 周立功

    (2) 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 (3) 尽量使用公共函数,c51的标准库函数谨慎使用。 (4) 不要随意定义全局变量,尽量使用局部变量。 (5) 使用括号以避免二义性。 (6) 非万不得已不要...

    Android studio的C盘中文路径问题解决

    宅在电脑前查了一下午我得到的答案是: 方案1、修改用户名解决问题链接 直接了当,万事大吉 但是电脑上很多其他编程环境的电脑呢?会不会出现其他问题?然后我就查到了这个人的经历: Win10修改用户名及user文件名称...

    数字图像处理笔记(二)

    1、说到直方图,第一步当然就是画直方图: matlab核心直方图工具函数:imhist() (Histogram of image data) 本人使用的是Matlab2018b 使用(具体可查看matlab参考文档): 将图像中的直方图扒拉出来之后进行...

    免费分享Unity插件-UnityStorm天气插件

    闲言少叙,直接了当,有需要领取!!!

Global site tag (gtag.js) - Google Analytics