{"uid":"cap_AOREnPGyS7HtNEzcwTkph","slug":"a11y-preflight-d04afa2d","name":"a11y-preflight","description":"Static accessibility (WCAG 2.2) check of a UI markup fragment for JSX, TSX, Vue, Angular or HTML. Detects missing image alt, unlabeled form controls, buttons and links with no accessible name, skipped heading levels, invalid ARIA, non-interactive click handlers, duplicate ids, positive tabindex and low static colour contrast. Returns a pass, caution or block verdict with per-finding WCAG criterion, element and line. Accessibility indicators, not a legal compliance guarantee.","url":"https://payai.agentstools.dev/a11y/preflight","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"level":{"enum":["A","AA"],"type":"string","description":"WCAG conformance level to check (default AA)"},"theme":{"type":"object","description":"Alias of palette"},"markup":{"type":"string","description":"The UI markup fragment or component to check"},"palette":{"type":"object","description":"Optional name-to-colour map for static contrast (e.g. CSS variables / theme tokens)"},"framework":{"enum":["auto","html","jsx","tsx","vue","angular"],"type":"string","description":"Source framework (default auto-detect)"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_9kh0DcktUrf_N6OjiTER6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Statically checks a UI markup fragment (JSX, TSX, Vue, Angular, or HTML) against WCAG 2.2 accessibility rules and returns a pass/caution/block verdict with per-finding details.","exampleAgentPrompt":"Can you run a WCAG AA accessibility check on this JSX component and tell me if there are any missing alt texts, unlabeled form fields, or ARIA issues — give me the verdict and the specific line numbers for each problem?","exampleUseCases":[{"title":"CI gate for React component PRs","prompt":"Before merging this pull request, check this JSX component for WCAG AA accessibility violations — I need to know if it passes, has cautions, or should be blocked, and which lines have issues like missing alt text or unlabeled inputs."},{"title":"Design token contrast audit","prompt":"I'm using CSS theme tokens like --color-primary: #1a73e8 and --color-bg: #ffffff — can you run a static colour contrast check on this HTML snippet against those palette values to see if it meets WCAG AA?"},{"title":"Angular template accessibility review","prompt":"Can you audit this Angular template markup for accessibility issues at WCAG A level? I specifically want to catch any non-interactive click handlers, duplicate IDs, and links with no accessible name."}],"resultDescription":"Returns a top-level verdict of 'pass', 'caution', or 'block', along with a list of per-finding details. Each finding includes the specific WCAG 2.2 criterion violated, the element affected, the line number in the submitted markup, and a description of the issue. No runtime or dynamic behavior is evaluated — results are static analysis indicators only.","failureModes":["Malformed or unparseable markup may cause an error or empty findings list","Framework auto-detection may misidentify the source type for ambiguous snippets","Static contrast check only works if a palette map is provided; dynamic CSS variables not resolved at runtime cannot be evaluated","Only static patterns detectable without a DOM or browser are reported; runtime-injected content is not covered","Missing required 'markup' field returns a 400-level error"],"whenToPreferThis":"Choose this endpoint when you need a fast, pre-merge or pre-deploy static accessibility gate for UI markup fragments in JSX, TSX, Vue, Angular, or HTML. It is ideal for CI pipelines, code review automation, or agent-driven UI generation workflows where you want instant WCAG 2.2 feedback without spinning up a browser or running axe-core in a live DOM. Prefer it over full runtime audit tools when you only have source markup available and need a structured machine-readable verdict with per-finding WCAG criterion references.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:51:58.952Z","isFirstParty":false}