Skip to main content
WCAGrules
Quick navigation

Services · Content & media

A Dashboard Review Checks the Numbers Without the Picture

For the product team whose value lives in the numbers, and who wants a blind analyst to reach the same conclusion a sighted one does.

What We Keep Finding

Ask your dashboard a question with your eyes closed. Which region missed target last quarter? If the answer lives in a color-coded chart drawn on a canvas element, a blind analyst gets nothing. Not a wrong answer. Nothing. A canvas exposes no content to assistive technology at all. So the failure is not a contrast problem or a labelling problem, it is an absence, and it gets fixed at a different rule from the one people reach for.

Data tables have a quieter version of the same failure. A screen reader lands on a cell and reads "43", and without real header markup the user cannot tell whether that is revenue, headcount, or a date. The relationships between the numbers are the whole product, and they are exactly what visual design shows and markup forgets. Most table advice overcorrects here, so it is worth saying that a caption is not required, and neither is a scope attribute on every header. Headers that span groups of columns or rows want a scope value that says so. The heavyweight approach of wiring each cell to its headers by id is reserved for two narrow cases. One of them is a cross-tab with three or more headers per cell, which on a dashboard is the one place you may genuinely need it.

The good news about charts is how much cheaper conforming is than the rebuild everyone braces for. A chart carrying visible labels and values, or sitting above a data table with the same numbers in it, satisfies the graphical-contrast requirement outright rather than by scraping past it. There is one catch worth planning for, which is that adding those labels turns them into text, and text has to clear a higher contrast bar than a graphic does. And a heat map's gradient is excepted anyway, since the gradient is the measurement.

Two more that save you arguments. Color is one thing that cannot carry meaning alone, and position is a separate one. So a legend distinguished only by the order of its entries fails a different rule from a chart distinguished only by hue. A live KPI tile that updates on its own has to announce, and the usual implementation announces "43" instead of "revenue, 43". A live region reads only what changed unless somebody tells it to read the whole thing. And a greyed-out filter is excepted from the contrast rules, so we will not raise it and you should not let anyone else.

What We Check

  • Test every data table for real headers tied to the cells they head
  • Check charts carry a text alternative that states the finding rather than the word chart
  • Check whether visible labels or a data table already satisfy the chart requirement
  • Verify color is never the only thing separating series, and position is never the only thing either
  • Work filters, sorts, and date pickers by keyboard and screen reader
  • Confirm live-updating numbers announce their label as well as their value

What You Get

Every service on this site runs the same three-pass engine: an automated scan, an expert review of all 55 WCAG 2.2 A and AA rules, and a hands-on session with a professional blind screen-reader user. You get one report with every finding screenshotted, ranked by user impact, and linked to its fix. Your team fixes, we verify: the re-audit is half price within 3 months.

The format is not a mystery either. Read the sample report before you spend anything.

The Honest Limit

One honest limit, and we would rather say it than sell around it. There is no single right way to make a complex chart accessible, and the standard's own authors say as much about the harder end of this territory. So the report shows which visualizations fail, what a working alternative looks like for each one, and where an honest data table simply beats a clever graphic. That last recommendation costs us nothing to make and saves teams the most money.

What It Costs

Rapid Audit: $499, up to 10 pages you pick, report in 5 business days. Standard Audit: $1,499, up to 25 pages in 10 business days. Flat rates, no discovery calls, and a real blind screen-reader user on every engagement. Pick your pages. We bring the humans.

Worth Reading Next

Related on this site

Guides, checklists, tools, and terms that go with this service.

More in Content & media

Go somewhere useful

Find tools, resources and your workspace.

29 destinations