I tweaked my colours in iTerm (though the specific terminal application I use is not relevant). I chose a dark background colour, and defined red, green, yellow, etc. All was well until I ran npm outdated:

npm outdated

Apparently the output includes black text, which is very difficult to see on the dark grey background. I'm not sure which layer is at fault here.

  • Perhaps npm outdated is at fault for printing black text? Perhaps command-line utilities should avoid printing explicitly black or white text, and instead rely on the default terminal settings? Printing colours other than black and white seems fine, as the theme designer will have chosen colour values which ensure sufficient differentiation between foreground and background.

  • Perhaps I am at fault for designing a theme which cannot display black text? If so, what is my course of action? Should I choose a value other than #000000 for ANSI black? I couldn't use #ffffff, as this would make explicitly black text on an explicitly white background unreadable. Perhaps a grey of some sort?

  • Perhaps my terminal application is at fault for not detecting the similarity between foreground colour and background colour and taking some reasonable course of action (such as inverting the foreground colour).

I'm not so much interested in fixing this specific readability issue as I am in understanding the roles of the various players. As a designer of command-line utilities, I'd like to learn how to use colours without introducing readability issues.

  • You may want to move this to the User Experience site, as they have people who do this all day. I'm not sure if I can flag it, but I'll try. Apr 27, 2014 at 20:55

1 Answer 1


I personally would do it in one of two ways:

  1. I would make the black text a lighter grey (something like #CCCCCC or #DDDDDD
  2. I would make the background a little lighter (again, something like #CCCCCC or #BBBBBB could work here)

If you are a designer of command line utilities, you could also say "well, this is for the UX guys to solve". The fact is though, that somebody has to do it, and if you don't have a UX team or you are working alone, then it's up to you, even if this means fixing accessibility issues that the terminals themselves have.

Obviously, you can disregard this (accessibility is underestimated way too often), but if you can focus on it, kudos for that. The fact that you asked this question is already a good sign.

  • 1
    You're right that I'm at fault here. I should not have chosen #000000 for ANSI black. As you suggest, I should change either the background colour or the "black" colour. (I'll upvote as soon as I hit 15 reputation.) Apr 25, 2014 at 0:13
  • @davidchambers No worries :) Apr 25, 2014 at 6:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .