# a11yviz <img src="https://raw.githubusercontent.com/mshin77/a11yviz-py/main/logo.svg" align="right" height="139" alt="" />

[![PyPI version](https://img.shields.io/pypi/v/a11yviz)](https://pypi.org/project/a11yviz/)
[![Python versions](https://img.shields.io/pypi/pyversions/a11yviz)](https://pypi.org/project/a11yviz/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Tools to make `matplotlib` and `plotly` charts plus Markdown / Quarto
documents follow the [Web Content Accessibility Guidelines
(WCAG 2.1)](https://www.w3.org/TR/WCAG21/). Provides accessible themes,
layout helpers, WCAG-tagged palettes, alt-text scaffolds, per-criterion
audits, a chart-and-document rubric, heading-hierarchy and reading-level
checks, and a drop-in stylesheet for HTML tables and SVG diagrams. R
sibling: [a11yviz](https://github.com/mshin77/a11yviz).

> **Scope.** Chart-and-document subset of WCAG 2.1 — 15 of ~50 A/AA criteria.
> Not a substitute for whole-app review with assistive technologies.

## Installation

```bash
pip install a11yviz
```

## Quick start

```python
import matplotlib.pyplot as plt
import a11yviz

with a11yviz.theme(level="AA"):
    fig, ax = plt.subplots()
    ax.scatter(mpg, weight, c=cyl)

a11yviz.alt_text(fig, "Scatter of weight vs MPG by cylinder count.")
```

## Try the Playground

[mshin77.github.io/a11yviz/playground](https://mshin77.github.io/a11yviz/playground/) — side-by-side R and Python walkthroughs with interactive shinylive apps, palette catalogues, and a WCAG rubric. Runs entirely in the browser. No install required.

## Learn more

- [Python walkthrough](https://mshin77.github.io/a11yviz/playground/py-walkthrough.html) — executable walk-through with figures.
- [Documentation](https://mshin77.github.io/a11yviz) — palettes, WCAG rubric, side-by-side R / Python.

## Citation

Shin, M. (2026). *a11yviz: Accessibility toolkit for matplotlib, plotly,
and Quarto* (Python package version 0.1.0).
<https://mshin77.github.io/a11yviz>
