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.

12 min readUpdated July 20, 2026Publishers, researchers, analysts, designers, and communications teams

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.

Useful contrast targets for chart preflight
ElementWorking targetWhat to test against
Normal text and labels4.5:1The immediate background behind the text
Large or bold text3:1 when it meets WCAG size rulesThe immediate background behind the text
Essential lines, bars, points, and controls3:1Adjacent colors needed to perceive the object or state
Decorative grid and textureNo fixed target when nonessentialEnsure 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 surfaceAccessibility priorityPractical test
NewsletterMobile type and self-contained contextView inside a narrow email column without zooming
Social graphicLarge labels, visible source, no reliance on post copyInspect the downloaded image at feed size
PresentationDistance readability and projection contrastStand back or preview on a typical conference display
Report or PDFPrint contrast, figure notes, logical reading orderPrint in grayscale and test document zoom
Interactive web chartKeyboard, screen-reader output, focus, and data accessNavigate 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. 1

    Use only the keyboard

    Reach every control, change values, dismiss overlays, and identify the visible focus indicator.

  2. 2

    Zoom and resize

    Test browser zoom and a narrow viewport without losing labels, controls, or the primary comparison.

  3. 3

    Review the text path

    Read the title, description, source, table, and download without relying on the visual.

  4. 4

    Test contrast and color vision

    Check final colors against their actual backgrounds and preview non-color differentiation.

  5. 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