atmos icon indicating copy to clipboard operation
atmos copied to clipboard

Atmos error output is unreadable on terminal with white background

Open Nuru opened this issue 9 months ago • 0 comments

Describe the Bug

Atmos outputs colored text by default. However, it currently assumes the terminal has a dark background, and outputs white error text. This is illegible on a standard "light mode" terminal with a white background. Atmos should default to showing output in colors that contrast with the background, and not use colored output (just use default terminal foreground and background colors) if it cannot determine the background color.

Colored text is nice, but legibility is more important. Users should not have to take any action for the output of Atmos to be legible.

Expected Behavior

Any output text, colored or not, should, by default, meet the WCAG minimum contrast criterion, unless users specifically configure Atmos otherwise.

This includes supporting users who use light mode some of the time (e.g. daytime) and dark mode at other times (e.g. nighttime).

Steps to Reproduce

  1. Use a terminal that supports color. I use TERM=xterm-256color but you can probably use other color modes, including full color.
  2. Set the terminal to dark text on a white background.
  3. Run atmos error
  4. Try to read the error message

Screenshots

Image

The last line of text, "the flag '--component' is passed, but the component is not defin..." is only legible at all because the background is tinted. If it were white, it would be completely illegible.

Environment

Atmos 1.169.0

Additional Context

Web Content Accessibility Guidelines (WCAG) 2.2

Nuru avatar Apr 04 '25 00:04 Nuru