表单设计总结

19 评论 36177 浏览 405 收藏 11 分钟

表单是我们比较常见的一个信息录入工具。糟糕的表单设计会带来令用户抓狂的交互体验,极大的影响用户信息录入的效率。这篇文章我就来大家梳理一下关于表单设计的一些知识点。

表单的构成

常见表单是由多个列表项构成的。而每一个列表项都有最基本的标签(标题)和输入框。顾名思义,标签是用来告诉用户这个列表项是什么;输入框是供用户输入用的。

标签根据所处的位置可以分为左标签,顶部标签和行内标签。

左标签

左标签目前来说是最常见的一种标签样式,但是这并不意味着我们可以无所顾虑的去使用。以手机端为例,手机端屏幕尺寸有限,左标签会占据屏幕较大的空间,那么右边的输入框就可能无法展示完整的信息。

例如,如果你的邮箱地址过长就会造成信息的不完全展示,这对用户体验来说是致命的。因为用户一旦输入的信息很长,他们在确认提交之前肯定会对所输入的内容进行审核确认,如果连完整的内容都无法获知,用户根本不会进行下一步操作,这就造成来操作流程的中断。所以我们在使用左标签的时候一定要考虑输入内容的长短。

顶部标签

顶部标签就是指标签位于输入框上方,这样输入框就可以独占整个页面,信息可以得到更完全的展示。与左标签相比,顶部标签可以给输入框腾出足够的空间。

但是这种的布局方式也有自身的缺点,那就是之前一屏就可以展示的内容,用户现在需要滚屏才可以看完。

行内标签

行内标签的样式看起来很适合手机端的表单设计,因为它可以极大的节省页面空间。但是一旦用户点击切换到输入状态以后,用户就会看不到这些标签了。如果同一页面中表单项目很多(超过5个),用户填写过程中可能会忘记之前的填写的项目是什么。此外列表项过多,用户在填写的时候中很容易出现串行,把家庭住址填到毕业院校也是可能出现的情况。更严重的是,用户因为无法看到标签,这类的错误是无法检查出来的。

为了解决这个问题,我们可以在行内标签前加一个图标来标识这个列表项,图标所占据的空间不会太大,而且会增加页面的美观性。

当表单项目过多时我们要进行整合分组来提升内容的可读性。下图中右表格将15个字段分成3组。同样数量的内容,但用户的印象却大不相同。

提升用户信息录入效率

好的用户体验应该尽可能的简化操作步骤,传统的手动输入模式费时费力,对用户来说不是一种友好的体验。我们应该思考如何给用户减负。

控件的应用可以很好的帮助用户进行信息的快速录入。一般来说,表单中的控件一般有下拉列表,switch开关,单选按钮,多选按钮,滑块等。

滑块

这里我们主要来说经常被忽视的滑块,滑块适用于精确度不是很高的数据录入,例如你要去预定一个房间,其中需要你输入你所期望的最低价格和最高价格。这个时候我们可以使用滑块来代替传统的手动打字输入,我们都知道滑块无法做到对信息的精确录入,所以在这里滑块默认最小单位是50,你如果要求最低180,最高720这里是无法实现的。

控件的使用的确可以极大提升了用户的录入效率,但是用户毕竟还是需要自己去“输入”。其实我们也可以给用户提供一些默认值,和自动完成让用户连输入这一步都免了。

默认值

如果你确定对用户足够的了解,在用户进行信息录入的时候我们可以提供合理的默认值。因为对于用户来说,填写信息永远都不是一件有趣的事情,合理的默认值可以节省用户的操作时间。

接下来说一个反面案例。

这是我们公司的报销表单,其中有一项是项目号,这里系统没有给提供默认值。其实系统可以根据你所在的项目组回显出项目编号,但是这里并没有。这在我看来是非常反人类的,因为项目号是一串汉字和数字组合,一般我们很少会记。我们遇到这种情况一般是返回上一步,查看项目编号,拿手机拍下项目编号再回来填写,费时费力。

自动完成

自动完成功能也可以来降低用户的操作负担。当用户在文本框里输入时,系统猜测可能的答案,显示可选列表。

用户也会犯错

理想状态下,用户填写完表单,然后点击提交按钮,系统显示提交成功。但是现实情况却是我们在填写过程中经常会发生错误,那么如何给用户报告错误是需要我们仔细研究的。

目前来说,我们经常看到的一个报错提示的样式是弹出框。在我看来,弹出框并不是一个好的选择。因为用户如果要进行修改,就必须关闭弹出框,那么错误信息用户就看不到了。如果用户错误的项目比较多,那么用户就需要花一定的时间去记住这些错误,然后再来改,这会增加用户的记忆负担。

所以在我看来,逐行报错比笼统的使用弹出框给用户报错要友好的多。而且错误提示就位于你填写错误项目的旁边,用户一眼就能明白哪里错误了,不用费力去找。 此外逐行报错会一直出现直到用户修改完成,用户可以进行有针对性的修改。

逐行报错缺点就是移动端受限于屏幕尺寸,错误原因不一定可以得到充分的展示。

以上说的是表单设计中如何给用户错误提示,当然与其亡羊补牢,我们不如尝试着来帮助用户来避免犯错。

表单录入用户经常发生错误的地方就是输入格式,以日期为例。不同的地区对于日期录入的格式也不一样,2017-08-15,08.15.2017,08-15-2017等等。目前来说一些表单实现了容错模式,允许用户输入不同格式或者不同类型的数字。这也降低了用户犯错的几率。

总结

表单是主要的信息录入工具之一,也是一款产品用户体验的重中之重。不存在完美且百搭的表单样式,不同的产品在进行表单设计时有不同的出发点和思路。以上就是我的一些总结,希望这篇文章可以给你带来帮助。

#专栏作家#

王M争,人人都是经理专栏作家,资深互联网人。

本文原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Pexels,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 举例输入日期不是很好,我觉得选择代替输入更好,不会有格式的错误了

    来自江苏 回复
  2. 讲的确实不错~~对于小白来说,学习了~

    来自上海 回复
  3. 收藏了

    回复
  4. 很详细 学习了~

    来自江苏 回复
  5. 很小,很精致。 :mrgreen:

    来自四川 回复
  6. 有图有真相 挺好的

    来自江西 回复
  7. 学习啦!感谢~

    回复
  8. 逐行报错在移动端中有没有好的解决方案呢?能举个例子说明一下吗? 😉

    来自辽宁 回复
    1. 逐行报错其实提示文字不一定要在文本框的侧边,也可以位于文本框的上下方位置,减小提示文字的大小,这样就比较明显了,也不占用空间,又可以全部显示;

      来自云南 回复
    2. 然后在修改完错误信息,焦点不在此文本框时,就可以对修改的内容做校验;

      来自云南 回复
    3. 在移动端的解决方案:一、在输入框下方出现提示文字。此时有两种可能:1、不同输入框的纵向间距够大,提示文字的出现不影响其他输入框的位置,2、不同输入框的纵向间距不够大,提示文字的出现导致其下方的输入框位置向下移动。个人觉着第一种更好。二、提示文字用toast提示,显示在界面最下方。另外一点是关于提示文字出现的时机,这也是非常重要的一点,一种是在当前输入框失去焦点后对内容做校验,另一种是所有输入框都输入内容并点击“确定”后对内容做校验。

      来自北京 回复
  9. 收藏了

    来自山东 回复
  10. 学习了。梳理得非常清晰。👍

    回复
  11. 感谢!

    回复
  12. 刚开始阐述的表单确实令人耳目一新

    来自浙江 回复
  13. 😮

    来自北京 回复
  14. 总结得好好,学习

    来自广东 回复
    1. 共同学习

      来自浙江 回复
    2. 吸取别人的优点

      回复