Getting Started
This page gives you the shortest path to understanding ParaCharts: what it is, how it works, how to implement it, and how to verify what it provides users.
What ParaCharts Solves
ParaCharts helps teams communicate data in more than one mode at the same time:
- Visual charting
- Text summaries and descriptions
- Keyboard-first interaction
- Sonification and speech support
The result is a charting workflow that is easier to interpret for more users.
How ParaCharts Works
Use this mental model:
- You define a manifest (type, series, categories, metadata).
- You bind that manifest to a
para-chartelement. - ParaCharts renders the chart and accessibility semantics.
- Users explore via pointer, keyboard, screen reader, or audio.
- Optional controls adjust appearance, behavior, and analysis.
Choose An Implementation Mode
Use one of these integration modes:
- Inline manifest (
manifestType="content"): fastest for prototypes and experiments. - URL manifest (
manifestType="url"): best for production pages and reproducible docs. - Cached live manifests: best for GitHub Pages with scheduled monthly data refresh.
For this repository, the standard live-data flow is:
- Fetch third-party source data.
- Build validated local manifests in
docs/data/manifests. - Point documentation pages to those local manifests.
- Refresh monthly with the workflow.
Minimal Manifest Example
{
"type": "line",
"series": [
{ "name": "Revenue", "data": [120, 150, 165, 200] },
{ "name": "Cost", "data": [90, 110, 140, 170] }
],
"categories": ["Q1", "Q2", "Q3", "Q4"],
"description": "Revenue and cost by quarter"
}
Minimal Element Example
<para-chart
manifestType="content"
manifest='{
"type": "line",
"series": [{ "name": "Revenue", "data": [120, 150, 165, 200] }],
"categories": ["Q1", "Q2", "Q3", "Q4"],
"description": "Quarterly revenue"
}'
></para-chart>
URL Manifest Example (Recommended)
<para-chart
manifestType="url"
manifest="data/manifests/us-unemployment-monthly.json"
></para-chart>
This approach keeps published docs stable and still allows monthly updates to data.
First Options To Learn
| Option | Where | Why it matters |
|---|---|---|
type |
manifest | Selects the chart model (line, bar, pie, heatmap, etc.). |
series + categories |
manifest | Defines your data values and labels. |
description |
manifest | Improves non-visual understanding and context. |
manifestType |
custom element | Chooses inline content vs URL manifest loading. |
| Control Panel: Audio | UI tab | Enables sonification, self-voicing, and announcement behavior. |
| Control Panel: Chart/Colors | UI tabs | Adjusts readability, labels, orientation, and color use. |
Accessibility-First Quick Check
After loading any chart, verify these basics:
- Keyboard focus can reach the chart
stoggles sonificationvtoggles self-voicingqprovides point-level description- Important updates are announced through ARIA live behavior
What Accessibility Affordances Users Get
- Keyboard-only chart exploration with structured navigation.
- Screen-reader announcements through ARIA live updates and query actions.
- Sonification for trend and magnitude understanding through sound.
- Self-voicing for spoken summaries without requiring separate assistive software.
For detailed behavior and validation, see Accessibility Features.
5-Minute Smoke Test
Run this quick script on any page in Example Gallery:
- Focus the chart and press
hto confirm help appears. - Use arrow keys to move between points and confirm focus movement.
- Press
qand confirm query output describes the focused point. - Press
s, move again, and confirm sonification plays. - Press
vand confirm speech behavior changes. - Open the control panel and verify Audio tab toggles match keyboard shortcuts.
If any check fails, continue with Implementation & Testing Guide.
See related docs:
Where To Go Next
- Chart Types: pick the right visual model for your data
- Implementation & Testing Guide: implementation patterns and validation workflow
- Custom Elements: integration details for
para-chartandpara-chart-ai - GitHub Pages Showcase: what to present publicly and how