我需要制作一个 Java 组件,当一个进程通过时将背景颜色变成特定的颜色,而当进程失败时将背景颜色变成另一种颜色。
我的第一个想法是:绿色代表成功,红色代表失败。
但是我读到有10%的男性无法区分这两种颜色。有什么更好的颜色组合?
对于挑剔的人:是的,我知道仅仅颜色是不够的,文本、形状和噪声也可以使用。尽管如此,我还是在询问颜色的适当使用方式。
我需要制作一个 Java 组件,当一个进程通过时将背景颜色变成特定的颜色,而当进程失败时将背景颜色变成另一种颜色。
我的第一个想法是:绿色代表成功,红色代表失败。
但是我读到有10%的男性无法区分这两种颜色。有什么更好的颜色组合?
对于挑剔的人:是的,我知道仅仅颜色是不够的,文本、形状和噪声也可以使用。尽管如此,我还是在询问颜色的适当使用方式。
我认为你自己已经回答了这个问题。除了文本之外,使用绿色/红色。大多数人都会理解绿色/红色。如果你把它改成蓝色/黄色,那么看到绿色/红色的90%的人会感到困惑。坚持惯例,添加文本以帮助看不到绿色/红色的10%的人。
请记住,这些“明显”的颜色联系(例如,绿=好,红=坏)是有文化差异的。因此,不仅仅依赖于颜色是一个非常好的主意。
使用颜色和符号。绿色使用“+”号,红色使用“-”号,这样不能分辨颜色的人也能明白。
如果需要网格线的背景颜色,解决问题的方法是添加一个名为“状态”的列,并使用加号+或减号-的图标。
在我看来,最好的做法是使用颜色和图标/文本的混合。
例如,当我在表格上有错误时,我会采取以下措施:
在表格的顶部提供一个文本标题,例如:“糟糕,您的提交出了一些问题:姓氏没有填写等等…”。
在每个错误字段上,我将框的背景颜色高亮显示成粉色并修改边框。这不仅改变了颜色,还让错误字段具有了微妙但明显的焦点。
最后,根据网站和我拥有的空间量,我在该字段后添加一个小的“警告”图标和一条小信息。
将这三个组合起来,错误表单易于阅读,所有人都不会错过正在发生的事情。
作为一个红绿色盲的人,我可以轻易地分辨出两种颜色的“纯”形式。问题在于红色往往看起来“洗淡”一些——更像棕色,而绿色/黄色则混合在一起。在8%的男性中,我相信很少有人完全无法区分纯红和纯绿。问题在于我的毛衣或秋叶的确切颜色可能会很困难和令人困惑。此外,我确实在任何LED中以及特别是交通信号灯方面遇到了困难。它们可能会令人困惑,主要是因为我更加关注相对亮度而不是颜色,而某些信号的亮度差别很大。
也许可以用一个交通信号灯的可视化来表示?在中立状态下,三盏灯都是灰色的,尽管颜色仍然可辨认。在“绿灯”状态下,绿色灯亮度更高,背景和灯的对比度增加。红灯状态也是如此。
我不得不承认
只是一个想法…
我们通常这样实施:
We have written 2 common functions in which we format the string with {0} for error fmsg and green for success.
因此,您可以使用一个单一的标签,并在服务器端代码本身上控制成功和错误消息的类型,而不是使用错误(红色)和成功(绿色)消息的2个不同标签。
但是,对于色盲的人们,使用图像X表示错误,以相同的方式进行实现,甚至使用橙色表示错误,蓝色表示成功也是一个不错的选择。
不要使用纯红和绿色。在交通信号灯等安全装置上,红色实际上是红橙混合物。如果我记得正确,绿色也掺杂了一点黄色。
除了颜色之外,使用其他方式来指示成功/失败仍然是一个好主意。这可以是文本、符号,或者引起注意的东西,例如将红色失败背景设置为闪烁的交替颜色,而不是静态的。例如将红色与黄色交替。
说实话,形状/位置几乎总是比颜色更重要的解决方案。颜色有一些方面,比如人眼对蓝色的不敏感,这意味着颜色有助于清晰度,但你不能指望它总是恰当的。