eLearning Color Contrast – Getting It Right for Every Learner

Light gray text looks elegant in a design comp, and so does white text over a bright photo or a cheerful orange button. Then the course goes live, and people squint, lean in or give up, whether because of low vision, color blindness or simply a phone screen in direct sunlight. Poor color contrast in eLearning is one of the most common accessibility failures, and also one of the easiest to correct. How much contrast does your course need, and how do you check it quickly?
Under the Web Content Accessibility Guidelines (WCAG) at Level AA, normal text needs a contrast ratio of at least 4.5:1 against its background, large text needs at least 3:1, and buttons, icons and other interface parts need at least 3:1 against what's around them. Large text means roughly 18 point regular or 14 point bold. You also can't rely on color alone to convey meaning, such as marking correct answers only in green. Checking is straightforward: enter your text and background colors into a contrast checker and adjust them until they pass. Correct your template and palette once, and every course built from them starts out accessible.
What Does a Contrast Ratio Actually Measure?
A contrast ratio compares the relative brightness of two colors, on a scale from 1:1 (no difference, like white on white) to 21:1 (black on white). WCAG uses a formula based on how bright each color appears to the human eye, so two colors that look different in hue can still have poor contrast if their brightness is similar.
That's why red on green or blue on purple can be difficult to read even though the colors seem very different. Brightness is what makes text readable, particularly for people with low vision or color vision deficiency.
The exact formula and thresholds are defined in the WCAG 2.1 Recommendation from the World Wide Web Consortium (W3C), under the success criteria for contrast and non-text contrast.
Who Struggles With Low Contrast?
More people are affected than most design teams expect. Learners with low vision need strong contrast to read at all, and people with color vision deficiency, which is common and especially so among men, may not perceive the difference between two hues that look obvious to you. Contrast sensitivity also tends to decline with age, so an experienced workforce notices weak contrast more than a young design team testing on bright, new monitors.
Then there's the environment. A technician reading a phone outdoors, a nurse on a dimmed tablet during a night shift and a trainee watching an old projector in a bright room all lose contrast to their surroundings. A course that barely passes in the office may fail on the job, so building a small margin above the minimum ratio is a sensible habit.
Which Contrast Ratios Does WCAG Require?
| Element | Level AA | Level AAA |
|---|---|---|
| Normal text | 4.5:1 | 7:1 |
| Large text (about 18pt, or 14pt bold) | 3:1 | 4.5:1 |
| Buttons, form borders, icons and focus indicators | 3:1 | Not separately defined |
| Logos and purely decorative text | No requirement | No requirement |
Most organizations aim for AA. Disabled controls are also exempt, but be careful with that exception: if a button merely looks disabled because of a pale color but still functions, it isn't exempt, and learners may not realize they can select it.
How Close Are Common Colors to Passing?
Some colors fail by a tiny margin, and the difference is invisible to most designers. The chart below shows the calculated contrast ratios of common color pairs using the WCAG formula. Notice that mid-gray #767676 on white just passes 4.5:1, while #777777, one step lighter, just fails.
Text color on background, compared with the 4.5:1 AA threshold for normal text
Calculated with the WCAG 2 relative luminance and contrast ratio formula published by the W3C; values rounded to two decimals.
View the data
| Contrast ratio | |
|---|---|
| Black on white | 21.00:1 |
| Dark gray #333333 on white | 12.63:1 |
| Gray #595959 on white | 7.00:1 |
| White on blue #0066CC | 5.57:1 |
| White on green #008000 | 5.14:1 |
| Gray #767676 on white | 4.54:1 |
| Gray #777777 on white | 4.48:1 |
| White on red #FF0000 | 4.00:1 |
| Gray #999999 on white | 2.85:1 |
| White on orange #FFA500 | 1.97:1 |
White on pure red and white on orange deserve particular attention. Both are popular for warning buttons and calls to action, and both fail for normal-size text, although darker shades of the same hues usually pass and still read as red and orange.
Where Do eLearning Courses Usually Fail Contrast?
The same problems appear in course after course:
- Text over photos. A caption that's readable on the dark part of an image becomes unreadable over the bright part.
- Light gray body text. It looks modern and fails often.
- Brand colors on buttons. Bright brand oranges, yellows and light blues rarely pass with white text.
- Placeholder and helper text. Pale hints in form fields often fall below 4.5:1.
- Quiz feedback in color only. "Correct" in green and "Incorrect" in red, with no icon or label, fails the use of color requirement.
- Focus indicators. A thin, light outline on a light background can be nearly invisible.
- Charts and diagrams. Lines and segments that are too similar in brightness are hard to tell apart.
How Do You Check Color Contrast in eLearning?
Use the checker below. Enter your text color and background color as hex codes, and it displays the ratio and whether it passes AA and AAA for normal and large text.
For a second opinion, or to check colors pulled from a screenshot, WebAIM's contrast checker is a free, widely used option.
A simple checking routine looks like this:
- List every text and background color pair in your template, including buttons, links, captions and feedback.
- Check each pair and record the ratio.
- For text over images, check the lightest part of the image behind the text.
- Check icons, input borders and focus outlines against their backgrounds at 3:1.
- Grayscale test: view a screen in grayscale. If meaning disappears, you're relying on color alone.
How Do You Fix Contrast Without Ruining the Design?
You rarely need to abandon your brand, because small adjustments make a significant difference.

- Darken or lighten your brand color by a few steps for text and buttons, and keep the brighter shade for large decorative areas.
- Place text on a solid or semi-opaque panel over photos instead of directly on the image.
- Use bold or larger text where you need a lighter color, since large text needs only 3:1.
- Pair color with icons, patterns or words so meaning never depends on color alone.
- Build an approved palette with tested pairs and share it with everyone who builds courses.
Contrast matters even more for learners on phones and tablets, where glare and small screens make weak contrast worse. If your audience is mobile, this guide to designing mobile learning for the phone first covers the other layout choices that help.
Color Contrast in eLearning Comes Down to a Few Numbers
The rules fit on a sticky note: 4.5:1 for normal text, 3:1 for large text and interface parts, and never color alone. Most failures come from light grays, bright brand colors and text over photos, and most corrections take only minutes.
Check your current template today. Run every color pair through the checker, adjust the combinations that fail and save the passing palette for your team, because that single afternoon will make every future course easier to read for every learner.