maidr
Multimodal Access and Interactive Data Representation
MAIDR
A TypeScript system for non visual access and control of statistical plots through braille, text and sonification for users with visual impairments.
Purpose
MAIDR, pronounced mader, is a system for non visual access and control of statistical plots. It aims to give users with visual impairments an inclusive experience by offering multiple modes of interaction: braille, text and sonification, abbreviated as BTS. The tool is described as inherently visual agnostic; it is designed to work with scalable vector graphics for visual highlighting but also supports raster formats such as PNG and JPG without that highlight, and it provides all non visual modalities regardless of image format.
Usage and supported plots
To use maidr a page includes the maidr.js script and adds an ID to the plot's SVG, with the rest handled at runtime including fetching a math stylesheet on demand. The supported plot types include bar plots, boxplots, heatmaps, scatter plots, line plots, step plots, histograms, pie charts and segmented bar plots such as stacked and dodged variants. Interactive and AI powered plot descriptions can use OpenAI GPT, Anthropic Claude, Google Gemini, or local models via Ollama with no API key required, which the README notes suits sensitive data.
Distribution and rewrite
The maidr package was completely rewritten in TypeScript for better architecture and performance, with the previous version archived as xability/maidr-legacy. It is served by jsDelivr and also by cdnjs, which matters for sandboxed embedding contexts that allow a fixed set of CDN hosts; cdnjs mirrors only maidr.js, while per chart library adapter bundles load from jsDelivr. The project is licensed GPL-3.0 and links papers and binders in its documentation.
Editorial conclusion
MAIDR is GPL-3.0 licensed and reported twenty one stars at indexing, with an archived legacy version and a cdnjs mirror for embedding contexts that cannot reach jsDelivr.
Community notes