无论是网页设计,还是移动app设计,都经常用到单选按钮和复选框这两个组件。这两个组件看似意义明确,很好区分,但在实际设计中却很容易用错,带来不好的用户体验。

本文中我通过列举几个典型的错误用法,帮助设计师在进行UI/UX设计时,更加规范地使用单选按钮和复选框这两个组件。

使用原型工具:Mockplus

单选按钮和复选框的区别

 

什么时候使用单选按钮?

有两个或两个以上的互斥选项,用户必须且只能从中选择一个。换句话说,如果你选择了其中一个没有被选中的选项,那么原本被选中的选项就自动被取消。

什么时候使用复选框?

有一系列选项,用户可以从中选择选择一个或多个,甚至不选也可以。换句话说,每一个选项是互不影响的。

看了定义,你是否觉得这两个组件使用起来很容易呢?但在设计实例中,以下几个错误用法是频频出现的:

错误一:用错对象

 

一个提供午餐外卖服务的app, 在让用户选择送餐时间时,使用了复选框组件。这既违背了设计初衷(希望用户从中选择一个时间段),又给用户带来了困扰,是不是我同时勾选前两个时间段,就代表在这整个大的区间内送餐都是可以的呢?

错误二:选项文本中使用否定词

 

以上的几个例子是比较夸张的,但的确反映了一些UI/UX设计中存在的问题。如果我们在复选框选项中使用否定句式,用户必须浏览完所有的选项,才能确保自己不喜欢的事情不会发生。

有一个例外的情况,当浏览器中弹出“不要再提示该信息”时,类似的选项中可以使用否定词。

错误三:选项的排列不遵循逻辑顺序

 

图中的选项没有遵循一定的逻辑顺序。按照订阅时间长短,应该是:月订阅>季订阅>年订阅

以上三个是单选按钮和复选框在UI/UX设计中常见的错误,除了避免这些错误之外,设计师在使用这两个组件时,最好能遵循以下四点建议:

1. 能使用单选按钮时,尽量不使用下拉菜单。在所有选项都被清晰地列举出时,用户更容易进行比较,做出正确的选择。

2. 使用单选按钮时,一定要提供一个已经选中的默认选项。

3. 单选按钮和复选框都不用于触发任何动作。

4. 选项句式不宜过长,最好能让用户迅速抓住关键信息。

以上三点错误和四条建议,是用好单选按钮和复选框这两个组件的关键。如需了解更多相关的设计规范以及组件的使用方法,请查看Mockplus官网的教程。

UI设计规范:单选按钮 vs 复选框,没那么简单的更多相关文章

  1. js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中

    <!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...

  2. 【特效】单选按钮和复选框的美化(只用css)

    表单的默认样式都是比较朴素的,实际页面中往往需要美化他们.这里先说说单选按钮和复选框,有了css3,这个问题就变的好解决了.利用input与label相关联,对label进行美化并使其覆盖掉原本的in ...

  3. mui开发中获取单选按钮、复选框的值

    js获取单选按钮的值 function getVals(){ var res = getRadioRes('rds'); if(res == null){mui.toast('请选择'); retur ...

  4. [ PyQt入门教程 ] PyQt5基本控件使用:单选按钮、复选框、下拉框

    本文主要介绍PyQt5界面最基本使用的单选按钮.复选框.下拉框三种控件的使用方法进行介绍. 1.RadioButton单选按钮/CheckBox复选框.需要知道如何判断单选按钮是否被选中. 2.Com ...

  5. 20151215单选按钮列表,复选框列表:CheckBoxList

    单选框:RadioButton GroupName:组名,如果要实现单选效果每个单选按钮的组名必须一样 是否被选中 RadioButton.checked 单选按钮列表:RadioButtonList ...

  6. DOM(十)使用DOM设置单选按钮、复选框、下拉菜单

    1.设置单选按钮 单选按钮在表单中即<input type="radio" />它是一组供用户选择的对象,但每次只能选一个.每一个都有checked属性,当一项选择为t ...

  7. 安卓开发:UI组件-RadioButton和复选框CheckBox

    2.5RadioButton 为用户提供由两个及以上互斥的选项组成的选项集. 2.5.1精简代码 在按钮变多之后,多次重复书写点击事件有些繁琐,我们在这里创建一个事件OnClick,每次点击时调用该事 ...

  8. JQ 操作样式,单选按钮跟复选框

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 单选按钮(RadioButton)与复选框(CheckBox)的功能与用法

    单选按钮(RadioButton)和复选框(CheckBox).状态开关按钮(ToggleButton)与开关(Switch)是用户界面中最普通的UI组件,他们都继承了Button类,因此都可直接使用 ...

随机推荐

  1. [Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas sword: NO) (SQL: select * from information_schema.tables where table_schema = la

    [Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost ...

  2. 关于pthreads的使用

    产品想实现PHP端的多线程下载 百度了下找到了一个方法,通常需要开启PHP线程安全策略,就是 编译安装的时候  --enable-maintainer-zts 然后安装pthreads扩展, 但是pt ...

  3. Java的Synchronized

    原理,注意看输入输出,不了解原理是想不到会这样输出的. http://www.cnblogs.com/paddix/p/5367116.html 还有一个要注意的是一个对象一个monitor类

  4. MYSQL三大范式

    第一范式:确保每列的原子性. 第一范式是最基本的范式. 数据库表中的字段都是单一属性的,不可再分. 只要是关系数据库都满足第一范式 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子 ...

  5. MySQLNonTransientConnectionException: No operations allowed after connection closed

    原因分析 查看了Mysql的文档,以及Connector/J的文档以及在线说明发现,出现这种异常的原因是: Mysql服务器默认的"wait_timeout"是8小时,也就是说一个 ...

  6. jquery formValidator 表单验证插件, ajax无法传值到后台问题的解决

    今天使用jquery   formValidator-4.0.1 这个插件做表单验证,  前台验证已写好, 准备写ajax验证, 结果无法把值传到后台 .ajaxValidator({ url : & ...

  7. java并发--流量控制demo

    实现一个流控程序.控制客户端每秒调用某个远程服务不超过N次,客户端是会多线程并发调用,需要一个轻量简洁的实现,大家看看下面的一个实现,然后可以自己写一个实现. import java.util.Dat ...

  8. unity WWW加载进度条

    using UnityEngine; using System.Collections; public class testProgress : MonoBehaviour { void Start ...

  9. 安装oracle后java -version命令显示 jdk version "1.3.1"的原因

    因为先装的JDK,后装了oracle,oracle的JDK配置把原来的jdk路径替换掉了. 我的电脑->属性->高级->环境变量->系统变量->PATH ,把JDK的路径 ...

  10. python判断unicode是否是汉字,数字,英文,或者其他字符

    下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号. unicode字符串归一化等工作. 还有一个能处理多音字的汉字转拼音的程序,还在整理中. #!/u ...