Chart accessibility guide
How to make charts accessible
A practical guide to accessible charts covering color contrast, color vision, labels, typography, alt text, data tables, mobile exports, and editorial testing.
In brief
What you’ll learn
- Do not use color as the only way to identify a series, status, or important value.
- Check text and essential graphical contrast against the colors immediately beside them.
- Provide a concise text alternative and access to exact data where practical.
- Test the final export at its real newsletter, social, slide, or report size.
01
Accessible charts communicate the same evidence in more than one way
An accessible chart does not depend on perfect vision, color perception, a large desktop screen, or a mouse. The reader should be able to identify the subject, understand the primary comparison, distinguish important series, and reach the underlying values through more than one channel.
This does not mean every chart must become visually plain or contain every possible accommodation inside the image. It means the visual design, surrounding text, semantic structure, and data alternative work together. A reader who cannot distinguish red from green may use labels and markers. A screen-reader user may use alt text and a table. A mobile reader may rely on larger type and a focused takeaway.
Accessibility is easiest when it begins with chart selection and data structure. Adding alt text after an overloaded, poorly labeled visual will not repair the analytical problem. Choose a clear format, reduce unnecessary series, establish a reading order, and preserve the data before styling.
Editorial tip: Treat accessibility as part of the editorial definition of “finished,” alongside sourcing, fact-checking, and mobile review—not as a final compliance attachment.
02
Use contrast deliberately for text and graphical objects
Normal-size chart text should generally reach a contrast ratio of at least 4.5:1 against its background. Large text can qualify at 3:1 under WCAG’s size and weight definitions, but chart labels are often small after export, so 4.5:1 is the safer working target. Check titles, axes, tick labels, annotations, legends, and source lines—not only the headline.
Essential graphical objects and states generally need 3:1 contrast against adjacent colors. For a line on a white plot area, compare the line with white. For a bar separated by a dark border, the boundary may provide the needed distinction. Decorative grid lines do not need to dominate, but the marks required to understand the data must remain perceivable.
Contrast is contextual. A color that passes on white may fail on a cream, gray, or dark theme. Semi-transparent marks can also produce a different final color after blending. Test the actual foreground and background used in the exported chart rather than checking palette hex values in isolation.
| Element | Working target | What to test against |
|---|---|---|
| Normal text and labels | 4.5:1 | The immediate background behind the text |
| Large or bold text | 3:1 when it meets WCAG size rules | The immediate background behind the text |
| Essential lines, bars, points, and controls | 3:1 | Adjacent colors needed to perceive the object or state |
| Decorative grid and texture | No fixed target when nonessential | Ensure it does not obscure data or text |
Watch out: A passing palette does not make a chart accessible by itself. Contrast testing cannot evaluate whether the chart type is understandable, the labels are accurate, or the text alternative communicates the finding.
03
Never make color the only signal
Two series can have adequate contrast against the background and still be difficult to tell apart. Red and green lines may each be dark enough on white while appearing similar to a reader with a color-vision deficiency. A grayscale printout, dim projector, or compressed screenshot can create the same problem for any reader.
Reinforce color with direct labels, point shapes, dash patterns, line weight, borders, or position. A highlighted series can be solid and labeled while context series are thin and muted. Positive and negative bars can sit on opposite sides of a zero baseline rather than relying only on green and red. Survey categories can use a consistent ordered position and labels.
Direct labeling is usually stronger than a distant legend because it reduces eye travel and works even when the palette is hard to distinguish. If a legend is necessary, use the exact series names and keep its order consistent with the visual. Avoid instructions such as “see the blue line” when the label itself can name the measure.
- Place series names beside their final values when space allows.
- Use markers or line styles for overlapping time series.
- Add borders or spacing between adjacent stacked segments.
- Use icons only with text labels, not as another unexplained code.
- Preview the chart in grayscale and with color-vision simulations.
04
Make typography and layout survive the final size
A chart can look readable at 1,400 pixels wide in an editor and become inaccessible when an email client scales it to a narrow column. Review the final exported asset at the size and resolution readers will encounter. Source lines, axes, and annotations deserve the same attention as the headline.
Use a clear typeface, adequate line height, and sentence case for longer labels. Avoid rotated category text when horizontal bars or direct labels would fit better. Remove low-value decimals, minor ticks, and redundant legends before shrinking the entire composition. A simpler chart with larger type is usually more useful than a complete chart nobody can read.
Responsive web charts need a logical reflow strategy. Labels may move, annotations may shorten, and a multi-series view may become small multiples or a focused subset. Do not preserve a desktop composition by making every element proportionally tiny.
| Publishing surface | Accessibility priority | Practical test |
|---|---|---|
| Newsletter | Mobile type and self-contained context | View inside a narrow email column without zooming |
| Social graphic | Large labels, visible source, no reliance on post copy | Inspect the downloaded image at feed size |
| Presentation | Distance readability and projection contrast | Stand back or preview on a typical conference display |
| Report or PDF | Print contrast, figure notes, logical reading order | Print in grayscale and test document zoom |
| Interactive web chart | Keyboard, screen-reader output, focus, and data access | Navigate without a mouse and inspect the text alternative |
05
Write chart alt text around the purpose, not every pixel
Useful chart alt text identifies the chart type and subject, then communicates the most important pattern, comparison, or outlier. The surrounding headline and article may already state some context, so avoid repeating the same sentence several times. The text alternative should let a reader understand why the chart is present.
For a simple chart, one or two sentences may be enough: “Line chart showing U.S. mortgage rates from 2020 to 2026. Rates rose sharply after 2021, peaked near 8% in 2023, and remained above their pre-2022 level.” This gives the structure, scope, and takeaway without transcribing every monthly observation.
Complex charts may need a short alt attribute that points to a longer description or adjacent table. Mention uncertainty, missing values, or estimates when they materially affect the conclusion. Do not hide the data source only inside alt text; provenance should remain available to all readers.
Formula
[Chart type] showing [subject and scope]. [Main pattern]. [Important comparison, outlier, or caveat].
Use this as a drafting framework, then remove information already provided by the nearby caption or article text.
- Name the chart type when it helps the reader understand the structure.
- State the measures, population or geography, and time period.
- Lead with the finding that explains why the chart is included.
- Point to a longer description or table for exact values and complexity.
- Avoid visual-only language such as “as shown above” without stating the evidence.
06
Provide exact values through a table or data download
Alt text is a summary, not a substitute for the complete dataset. When exact values matter, provide an accessible table, CSV download, or both. This supports screen-reader users, readers with low vision, people checking a quotation, and anyone who wants to reuse or verify the data.
A table should have a descriptive caption, clear column headers, logical row order, and units in headers or cells. Avoid merged cells and visual formatting that changes the meaning without a text equivalent. For large datasets, a downloadable CSV can complement a focused HTML table containing the values most relevant to the published chart.
Keep the table and visual generated from the same verified data. When the chart updates automatically, the alternative must update too. A stale table can be more misleading than no table because it appears authoritative while disagreeing with the image.
07
Test interactive charts beyond the image
Interactive charts add requirements that a static contrast checker cannot evaluate. Every control should be reachable and operable by keyboard, focus should be visible, and tooltips should not require a precise mouse hover. Screen-reader users need a meaningful name, description, and way to reach the data or an equivalent exploration path.
Do not trap essential values inside hover states. A selected filter, time range, or highlighted series should be announced programmatically and remain visible. Animation should respect reduced-motion preferences, avoid flashing, and never be the only way a change is communicated.
Automated tools catch only part of the problem. Combine them with keyboard testing, browser zoom, high-contrast or forced-color modes where relevant, screen-reader review, grayscale printing, and feedback from disabled users when the chart has high public or operational impact.
- 1
Use only the keyboard
Reach every control, change values, dismiss overlays, and identify the visible focus indicator.
- 2
Zoom and resize
Test browser zoom and a narrow viewport without losing labels, controls, or the primary comparison.
- 3
Review the text path
Read the title, description, source, table, and download without relying on the visual.
- 4
Test contrast and color vision
Check final colors against their actual backgrounds and preview non-color differentiation.
- 5
Use assistive technology
For important interactive work, verify screen-reader names, reading order, updates, and data access.
08
Use an editorial accessibility checklist before publishing
A short, repeatable preflight catches more issues than relying on individual memory. Assign responsibility for the check and review the final export, not only the editable source. Record any intentional exception and the alternative provided to readers.
- The chart type and visual encoding match the data and intended comparison.
- Text reaches a readable contrast and remains legible at final size.
- Essential graphical objects remain perceivable against adjacent colors.
- Color is reinforced with labels, markers, patterns, line styles, borders, or position.
- The title, units, time period, labels, annotations, and source are clear.
- Alt text or a longer description communicates the subject and primary finding.
- A table or data download provides exact values where practical.
- Interactive controls work by keyboard and do not hide essential values in hover-only states.
- The final asset has been reviewed on its real publishing surface.
Frequently asked questions
Quick answers for the deadline.
What makes a chart accessible?
An accessible chart uses understandable visual encoding, readable contrast and type, redundant cues beyond color, a useful text alternative, and access to exact values where practical. Interactive charts also need keyboard and screen-reader support.
What contrast ratio should chart text have?
Normal-size text should generally reach at least 4.5:1 against its background. Large text may use 3:1 when it meets WCAG size and weight definitions.
Do chart colors need 3:1 contrast with one another?
Essential graphical objects need sufficient contrast against adjacent colors required to perceive them. This often means testing a line or bar against the plot background. Use labels and non-color cues because a numeric contrast check cannot guarantee series distinguishability.
How do I write alt text for a chart?
Identify the chart type and subject, then summarize the main pattern, comparison, or outlier. Include a material caveat and point to a longer description or table when the chart is complex.
Should I include every data point in alt text?
Usually not. Alt text should communicate the purpose and important evidence. Provide exact values through a properly structured table or downloadable data file.
Are red and green always inaccessible?
Not automatically, but relying on red and green alone is risky. Reinforce them with labels, position, icons with text, patterns, or other non-color signals and test the final contrast.
Can an automated checker certify a chart as accessible?
No. Automated checks are useful for contrast and missing attributes, but they cannot fully judge comprehension, semantics, reading order, keyboard interaction, screen-reader output, or the quality of the text alternative.
Further reading and primary references
From method to published chart
Apply the guide while the decision is fresh.
Use the free tool, then carry the result into Charted for titles, annotations, source notes, and publication-ready exports.
Check chart accessibility →Keep building the workflow
Related data visualization guides
Chart selection guide
How to choose the right chart type
Choose the right chart for any data story with a practical framework for trends, comparisons, rankings, proportions, relationships, and editorial publishing.
Indexing and rebasing guide
How to index data to 100 for a fair comparison
Learn how to rebase or normalize time-series data to 100, compare series with different units or starting values, and explain the result correctly.
Chart sourcing and editorial standards
How to cite data sources in a chart
Learn what belongs in a chart source line, how to cite transformed or combined data, and how to keep newsletter, report, slide, and social graphics traceable.