← All releases

wp-content/themes/fathom/

Fathom

A theme for data journalism where the charts have a table underneath them.

== Description ==

A chart that exists only as an image or a canvas is unreadable to a screen reader, unusable to anyone who wants the numbers, and gone the day the JavaScript breaks. Fathom’s figure block requires a data table and renders the chart from it — the table is the source, and it is always available.

Every figure has a source line, and the block will not validate without one. This is annoying exactly once, which is the point.

Figures can break out of the measure to full width at breakpoints you choose, and captions stay at reading width regardless, so a wide chart does not produce a 200-character caption line.

== Screenshots ==

Numbered the way they ship in /assets/. Click any one to see it full width.

== Installation ==

  • Install and activate the theme.
  • Insert a Figure block, paste your data as CSV, and choose a chart type.
  • Add the source line. The block will remind you.

Charts are rendered as inline SVG at request time. There is no charting library on the front end.

== Frequently asked questions ==

Which chart types?

Line, bar, stacked bar, scatter and area. Five that are honest, rather than twenty of which six are misleading by construction.

Can readers download the data?

The table is on the page, and each figure exposes a CSV link built from the same source.

Does it work without JavaScript?

Entirely. The SVG is server-rendered and the table is markup.

== Changelog ==

= 2.3.1 =

  • Fixed: the data table was hidden with display:none rather than a visually-hidden class, so screen readers skipped it. This was the bug the theme exists to prevent.

= 2.3.0 =

  • Scatter charts, and axis label collision handling that drops every other label rather than rotating all of them.

= 2.0.0 =

  • Charts render as server-side SVG. The client-side charting library is gone.