Metadata-Version: 2.4
Name: a11yviz
Version: 0.1.0
Summary: Accessibility tools for matplotlib, plotly, and Quarto
Author-email: Mikyung Shin <shin.mikyung@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://mshin77.github.io/a11yviz
Project-URL: Documentation, https://mshin77.github.io/a11yviz
Project-URL: Repository, https://github.com/mshin77/a11yviz-py
Project-URL: Issues, https://github.com/mshin77/a11yviz-py/issues
Keywords: accessibility,wcag,a11y,matplotlib,plotly,data-visualization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6.0
Provides-Extra: matplotlib
Requires-Dist: matplotlib>=3.7.0; extra == "matplotlib"
Provides-Extra: plotly
Requires-Dist: plotly>=5.15.0; extra == "plotly"
Provides-Extra: all
Requires-Dist: matplotlib>=3.7.0; extra == "all"
Requires-Dist: plotly>=5.15.0; extra == "all"
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Dynamic: license-file

# 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>
