avoid using pure black #000000 or pure white #FFFFFF for the background or text
That’s propaganda from the war on contrast!
tl:dr; Design for full contrast and give users a knob to turn it down if they prefer. Also, your monitor’s backlight is probably too bright for ambient conditions.
Many graphic designers avoid high contrast for aesthetics, but reducing contrast almost always reduces readability and increases eye strain. Guidelines for accessibility promote minimum contrast levels for text, but I’ve not seen any that suggest there should be an upper bound. (The guidelines were determined based on old standards for out-of-date display technologies and studies exploring the the thresholds of perceptible differences rather than ones focused on reading ease, speed, comfort, etc.)
The most expensive books use the blackest ink on the whitest paper.
The most popular e-ink readers are the ones that have brighter backgrounds to provide higher contrast with the black text. The most desired television displays have blacker blacks.
There is a condition that makes high contrast text nearly impossible to read, but it is extremely rare. To make text legible for people with that condition, you’d have to reduce the contrast so much that the text would be nearly impossible for anyone without the condition to read it.
Text is extremely hard to render well on any sort of video display because the shapes are nuanced and the scale of details are about the size of a single pixel. Typefaces used to be “hinted” so that letterforms would be subtly adjusted to render well on the pixel grid. But typographers didn’t like the compromise and UI designers wanted consistent zoom levels, so hinting was all-but-abandoned on the web and in modern interfaces, leaving us reliant on higher pixel density, antialiasing, and subpixel rendering to make text legible.
Sacrificing contrast reduces the working range for antialiasing and subpixel rendering, making them slightly less effective. Even if your colors meet whatever contrast threshold you’re shooting for, antialiasing will obliterate the contrast of thin-stroked fonts
Dark modes are popular, in part, because our monitors are usually too bright for the ambient lighting conditions. We’re literally staring directly at lightbulbs, so anything that causes glare–like a smudge on your lenses or a hint of cataracts–can obscure letters and words and other fine details. (Paper, on the other had, automatically adjusts to the ambient lighting conditions.)
Dark modes are also good at hiding floaters.
And they look cool.
My plea:
- Use full contrast, and give the user a knob to turn it down if they desire.
- Default to slightly larger text than you’re inclined to use so the subpixel rendering isn’t as crucial to correctly rendering the letterforms.
- Avoid very thin-stroked fonts.
- Don’t make lines too wide. Something in the ballpark of 70 characters wide is a reasonable guideline.