我在 iTerm 中调整了颜色(尽管我使用的特定终端应用程序并不相关)。我选择了深色背景颜色,并定义了红色、绿色、黄色等。一切都很顺利,直到我运行npm outdated
:
输出结果中似乎包含黑色文本,在深灰色背景上很难看清。我不确定是哪一层出了问题。
也许
npm outdated
是打印黑色文本的错?也许命令行实用程序应避免明确打印黑色或白色文本,而是依赖默认的终端设置?打印除黑色和白色以外的颜色似乎没问题,因为主题设计者将选择能够确保前景和背景之间充分区分的颜色值。也许我的设计主题不能显示黑色文本,这是我的错?如果是这样,我该怎么做?我应该选择除
#000000
ANSI 黑色以外的值吗?我不能使用#ffffff
,因为这会使显白的黑色文本在显白的白色背景上无法阅读。也许是某种灰色?也许我的终端应用程序存在错误,没有检测到前景色和背景色之间的相似性并采取一些合理的措施(例如反转前景色)。
我不太想解决这个特定的可读性问题,而是想了解各个参与者的角色。作为命令行实用程序的设计者,我想学习如何使用颜色而不会引入可读性问题。
答案1
我个人会用以下两种方式之一来实现:
- 我会将黑色文本改为浅灰色(类似
#CCCCCC
或#DDDDDD
- 我会把背景弄得稍微亮一点(同样,像
#CCCCCC
或 这样的#BBBBBB
效果也可以)
如果您是命令行实用程序的设计师,您也可以说“好吧,这是 UX 人员要解决的问题”。但事实是,必须有人来做这件事,如果您没有 UX 团队或您独自工作,那么就由您来做,即使这意味着修复终端本身存在的可访问性问题。
显然,你可以忽略这一点(可访问性经常被低估),但如果你能集中精力,那就值得称赞了。你问这个问题已经是一个好兆头了。