表单设计中的网页视觉体验

作者:ximicc 来源:西米CC 时间:2008-06-26 13:35:00 

输入框Input 应当符合逻辑地划分为小组,这样大脑就可以很好的处理大堆区域间的关系。

——《HTML权威指南》

Web 应用程序总是利用表单来处理数据录入和配置,但并不是所有的表单都保持一致。输入区域的对齐方式,各自的标签(label),操作方式以及周围的视觉元素都会或多或少影响用户的行为。

表单布局应注重体验和效率

考虑到用户完成表单填写的时间应当尽可能的短,并且收集的数据都是用户所熟悉的(比如姓名、地址、付费信息等),垂直对齐的标签和输入框可以说是最佳的。每对标签和输入框垂直对齐给人一种两者接近的感觉,并且一致的左对齐减少了眼睛移动和处理时间,用户只需要往一个方向移动一下:

在这种表单布局中,推荐使用加粗的标签说明文字,这可以增加它们视觉比重,提高其显著性。如果不加粗的话,从用户的角度讲,标签和输入框的文字几乎就一样了。这种类型的表单布局网络上比较常见,而在它的一些细节上也体现出这种布局方式的优劣:

如果一个表单上的数据并不为人熟悉或者在逻辑上分组有困难(比如一个地址的多个组成部分),左对齐的标签可以很容易的通览表单的信息。用户只需要上下看看左侧一栏标签就可以了,而不会被输入框打断思路:

但这样一来,标签与其对应的输入框之间的距离通常会被更长的标签拉长,可能会影响填写表单的时间。用户必须左右来回的跳转目光,来找到与当前标签相对应的那个输入框:

于是产生了一种替代的方案,标签右对齐布局,使得标签和输入框之间的联系更紧密:

然而结果是左边参差不齐的空白和标签让用户很难快速检索表单要填写的内容。在西方国家,人们习惯于从左至右的书写,所以这种右对齐的布局就给用户造成了阅读障碍:

借助可视化元素完善表单体验

由于标签左对齐布局具有方便检索并且减少垂直高度的优点,尝试纠正它的主要缺点(标签和输入框的分离)就很诱惑人。一个方案就是增加背景色和分割线,不同的背景色产生了一列垂直的标签和一列垂直的输入框,每一组标签和输入框利用清晰的水平线分开。

虽然这听起来不错,但是还是会存在问题。对比之前的形态,这种方案会增加了很多额外的视觉元素,如带背景色的单元格、垂直分隔线、水平分隔线。这些元素会转移用户的视线,让用户难以聚焦到一些重要的元素上:

任何对布局无用的视觉元素都会不断地扰乱布局。当你试着浏览左侧的标签就可以发现,你的视线总是被打断,停下来想那些水平线、单元格和背景颜色。

当然这并不意味着放弃背景色和线条,它们对于划分相关区域信息还是很有效的。比如一条细水平线或者一个浅浅的背景色,都可以从视觉上组合相关数据,背景色和线条对于区分表单的主要操作按钮尤其有效:

明确的主次操作暗示

一个表单的主要操作,通常是“提交”或“保存”,需要一个比较强的视觉比重,这相当于给用户一个提示:您已经/即将完成表单的填写;当一个表单有多个操作,比如“继续”和“返回”,那有必要减轻次要操作的视觉重量,这可以最小化用户潜在的操作错误的风险:

 

标签:表单,设计,用户体验,按钮
0
投稿

猜你喜欢

  • 使用numpy对数组求平均时如何忽略nan值

    2023-09-19 20:37:24
  • python爬取微信公众号文章的方法

    2022-01-25 15:29:25
  • Tensorflow之MNIST CNN实现并保存、加载模型

    2023-10-16 06:21:33
  • 通过优化CSS代码 减小对系统资源的占用

    2010-08-03 12:33:00
  • PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法

    2024-01-15 00:47:43
  • python通过ffmgep从视频中抽帧的方法

    2023-10-02 12:35:39
  • CSS Hack 汇总快查

    2007-11-06 11:48:00
  • 分享Python 加速运行技巧

    2022-07-07 12:48:04
  • ASP使用wsImage组件给图片加水印

    2008-12-29 19:14:00
  • 史上最全Python文件类型读写库大盘点

    2021-01-28 22:08:26
  • access MDB 转换为 Execl(ASP类)

    2008-07-19 12:10:00
  • Python图像处理之图片文字识别功能(OCR)

    2023-10-29 17:38:00
  • 浅析JSON序列化与反序列化

    2024-03-22 12:50:05
  • python 3.6.5 安装配置方法图文教程

    2021-05-17 01:00:19
  • Python进阶之协程详解

    2023-08-23 04:52:52
  • 基于js里调用函数时,函数名带括号和不带括号的区别

    2023-08-24 05:05:41
  • 浅谈flask源码之请求过程

    2023-12-17 10:36:48
  • python tkinter模块的简单使用

    2021-11-20 16:52:33
  • MySQL:使用源码分发版还是二进制分发版

    2009-09-01 10:35:00
  • python用socket实现协议TCP长连接框架

    2022-05-08 00:22:47
  • asp之家 网络编程 m.aspxhome.com