API & MCP
Everything a person can do on Slide Deck Accessibility Checker, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://deckwrightdecka11ycheck.usefulweb.app/api/v1/calculate– run Slide Deck Accessibility CheckerGET https://deckwrightdecka11ycheck.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Slide Deck Accessibility Checker
Lays out a Markdown deck exactly like the Deckwright exports and checks it: WCAG 2.2 contrast of every colour pair of the theme, a unique title on every slide, alternative text for images, charts and diagrams, the reading order of each slide, link texts, the deck language, text that had to shrink or does not fit, small chart and diagram labels, empty and very dense slides. Every finding names the slide and the WCAG success criterion.
| Field | Type | Default | Description |
|---|---|---|---|
markdown | textarea | "---\ntitle: How plants make food\nlang: en\ntheme: harbor\nfooter: Biology · le | Deck in Markdown. Slides are separated by a line ---; without separators every # or ## heading starts a slide. |
theme | select (deck, paper, midnight, harbor, ember, slate, contrast) | "deck" | Theme |
lang | text | — | Deck language (BCP 47, e.g. en, de, ar). Leave empty to use “lang:” from the front matter (English if not set). |
Example request
A lesson deck
curl -X POST https://deckwrightdecka11ycheck.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"markdown":"---\ntitle: How plants make food\nlang: en\ntheme: harbor\nfooter: Biology · lesson 4\n---\n\n# How plants make food\n\nPhotosynthesis in five slides\n\n---\n\n## The idea in one sentence\n\n> Plants use the energy of light to turn carbon dioxide and water into sugar and oxygen.\n\n---\n\n## What goes in, what comes out\n\n| In | Out |\n|---|---|\n| Carbon dioxide from the air | Sugar (glucose) |\n| Water from the roots | Oxygen |\n| Light energy | |\n\n6 CO₂ + 6 H₂O + light gives C₆H₁₂O₆ + 6 O₂\n\n---\n\n## Where it happens\n\n```mermaid\n%% alt: Photosynthesis happens in the leaf (chloroplasts, stomata) in two stages: light reactions split water and release oxygen; the Calvin cycle fixes carbon dioxide into sugar.\nmindmap\n Photosynthesis\n Leaf\n Chloroplasts\n Stomata\n Light reactions\n Split water\n Release oxygen\n Calvin cycle\n Fix CO₂\n Build sugar\n```\n\n---\n\n## Try it yourself\n\n- Put a water plant under a lamp\n- Count the oxygen bubbles per minute\n- Move the lamp closer and count again\n\nNotes:\nAsk the class to predict the result before moving the lamp.\n\n---\n\n## Bubbles and light\n\n```chart\ntype: line\ntitle: Bubbles per minute (example class data)\nx: Distance (cm)\ny: Bubbles\nalt: The closer the lamp, the more bubbles: from 4 per minute at 50 cm to 31 per minute at 10 cm.\n\nDistance (cm),Bubbles\n10,31\n20,19\n30,11\n40,7\n50,4\n```\n"}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://deckwrightdecka11ycheck.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
deckwright_deck_a11y_check - Local stdio connector:
node src/mcp-stdio.ts --tool=deckwright-deck-a11y-check
{
"mcpServers": {
"deckwright-deck-a11y-check": { "type": "http", "url": "https://deckwrightdecka11ycheck.usefulweb.app/mcp" }
}
}