Home icon
Data Visualisation Guide

Accessible interactive data visualisation

4 minutes read

Accessible interactivity

A common pattern in online data visualisation is revealing details about an item in the visualisation when it is hovered by the mouse, or touched on touch enabled screens. A tooltip is shown that identifies the data point, reveals the exact data values and sometimes also some additional information about the selected data point.

Use your mouse to reveal the tooltips in this scatter plot. Source: academy.datawrapper.de

Sometimes the viewer of a visualisation is given some control over what data a visualisation should show. This can be a filtering mechanism, in which the viewer can add or remove data points from the visualisation.

Screenshot of a line chart with the title 'Change in first names over time'. 3 names are highlighted with colours, showing the popularity of the names Emma, Julia and Zoé. Above the chart there are controls to search for a name, to show either boys or girls names and to select the Swiss language region of the names (this is currently set to the whole of Switzerland)

An interactive chart with filtering functionality. Source: babynames-stat.ch/en

Accessible navigation and filtering of the data points is currently implemented in the Accessibility module of Highcharts. Highcharts is a JavaScript library for data visualisation, and it is the most advanced of its kind in terms of accessibility.

For other interactive features of a visualisation, sticking to semantic HTML is the safest bet. When you allow viewers to change the data dimension(s) shown on a visualisation for example, use <input> to create radio buttons or use a <select> element to create a dropdown in the user interface. Try to avoid using non-semantic HTML and don’t rely on complex user interactions, like dragging over a visualisation to select data points, for example.

When a visualisation is part of a sequence of views on the data, like in a scrollytelling article or in a slideshow-like format in which the user advances from slide to slide, the transitions between the data views can include

  • highlighting data items (by making them bigger, fade out other data items, …)
  • zooming in on parts of a visualisation
  • animating between different chart types showing the same data

Consider offering static versions for each view on the data, each with an appropriate description accessible to screen readers.

Related pages

Interactivity in HTML

Mobile interactivity

Responsiveness: adapting annotations, axes and legends

Responsive text annotations

Choosing charts: the medium

Scaling charts

Accessible interactivity