我需要制作一个 Java 组件,在进程通过时将背景变为某种颜色,在进程失败时将背景变为另一种颜色。
我的第一个想法是:绿色代表成功,红色代表失败。
但后来我读到 10% 的男性无法区分这两种颜色。什么是更好的颜色组合?
(对于吹毛求疵的人:是的,我知道仅靠颜色是不够的,还可以使用文本、形状和噪音。不过我问的是颜色的适当使用。)
我需要制作一个 Java 组件,在进程通过时将背景变为某种颜色,在进程失败时将背景变为另一种颜色。
我的第一个想法是:绿色代表成功,红色代表失败。
但后来我读到 10% 的男性无法区分这两种颜色。什么是更好的颜色组合?
(对于吹毛求疵的人:是的,我知道仅靠颜色是不够的,还可以使用文本、形状和噪音。不过我问的是颜色的适当使用。)
我想你自己已经回答了这个问题。除文本外,还使用绿色/红色。大多数人会理解绿色/红色。如果你把它改成蓝色/黄色,那 90% 看到绿色/红色的人会感到困惑。遵守惯例并添加文字以帮助 10% 看不到绿色/红色的人。
请记住,这些“明显”的颜色关联(绿色=好,红色=坏)在文化上是不同的。因此,不仅仅依赖于颜色是一个非常好的主意。
使用颜色和符号。绿色带“+”,红色带“-”,这样看不到颜色的人会明白。
如果是网格线的背景色,为了解决问题,添加一个名为“状态”的列并使用图标 + 或 -。
在我看来,最好的方法是混合使用颜色和图标/文本。
例如,当我的表单出现错误时,我会执行以下操作:
在表单顶部提供一个文本标题,说明以下内容:“糟糕,您的提交存在一些问题:未填写姓氏,等等。”
在每个错误字段上,我突出显示粉色框的背景并修改边框。它不仅改变了颜色,而且还对错误字段进行了微妙但明显的关注。
最后,根据我拥有的站点和空间量,我在该字段后附加了一个带有小消息的小“警告”图标。
将所有这 3 个结合在一起,错误表格很容易阅读,并且很难错过所有人的情况。
作为一个有红/绿色盲的人,我可以很容易地分辨出两种颜色的“纯”形式的区别。问题是红色往往看起来“褪色”——更多的是棕色和绿色/黄色融合在一起。在 8% 的色盲男性中,我相信很少有人完全无法区分纯红色和纯绿色。问题是我穿的毛衣或秋叶的确切颜色可能很难而且令人困惑。此外,我确实很难使用任何 LED,尤其是交通信号灯。它们可能会让人感到困惑,主要是因为我对相对亮度的依赖比对色调的影响更大,而且一些信号的亮度变化很大。
也许是交通信号灯的视觉表示?在中性状态下,所有三个灯都是灰色的,尽管仍然可以通过颜色辨别。在“绿色”状态下,绿光更亮,背景与光线的对比度增加。红灯状态也一样。
我不得不承认
只是一个想法...
我们一般是这样实现的:
我们编写了 2 个常用函数,其中我们使用 {0} 格式化字符串以表示错误 fmsg 和绿色表示成功。
因此,您可以使用一个标签并在服务器端代码本身上控制消息及其类型(成功和错误),而不是为错误(红色)和成功(绿色)消息使用 2 个不同的标签。
但是因为,ppl 用于色盲:使用图像 X 表示错误,使用与上述相同的方式来实现,甚至橙色表示错误,蓝色表示成功也是一个不错的选择。
不要使用纯红色和绿色。在交通信号灯等安全装置上,红色实际上是红色和橙色的混合物。如果我没记错的话,绿色还夹杂着一点黄色。
除了颜色之外,使用辅助方法来指示成功/失败仍然是一个好主意。这可以是文本、符号或引起注意的东西,例如红色故障背景是闪烁而不是静态的交替颜色。例如交替使用红色和黄色。
老实说,形状/位置几乎总是比颜色更重要的解决方案。颜色有一些方面,例如人眼对蓝色不敏感,这意味着颜色有助于提高清晰度,您不一定要依赖它来获得合适的颜色。