Source index
public/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Access Atlas retrieves structured W3C guidance through Sanity Context MCP, turning keyboard problems into cited repair plans and suggested checks.">
<title>Access Atlas · Follow the evidence</title><link rel="stylesheet" href="styles.css"><script type="module" src="app.js"></script>
</head>
<body>
<header class="masthead"><a href="./" class="brand" aria-label="Access Atlas home"><span class="brandmark" aria-hidden="true">↗</span> ACCESS ATLAS</a><div class="header-right"><a href="#evidence">Evidence desk</a><a href="licenses.html">Sources & licenses</a><span class="status" id="dataset-status">Connecting content…</span></div></header>
<main>
<section class="hero" aria-labelledby="page-title"><div><p class="eyebrow">KEYBOARD REPAIRS, WITH A PAPER TRAIL</p><h1 id="page-title">Find the next fix.<br><span>Keep the source.</span></h1><p class="intro">Describe a focus or keyboard problem. A local agent retrieves structured W3C guidance through Sanity Context, follows its source and check relationships, and builds a repair plan.</p><div class="hero-metrics"><span><b id="guide-count">7</b> focused guides</span><span><b>3</b> connected document types</span><span><b>0</b> paid model APIs</span></div></div><aside class="route-diagram" aria-label="Agent retrieval flow"><div><span class="step-no">01</span><b>Describe a symptom</b><small>“Focus escapes my dialog”</small></div><i aria-hidden="true">↓</i><div><span class="step-no">02</span><b>Retrieve & connect</b><small>Guide → source → suggested check</small></div><i aria-hidden="true">↓</i><div><span class="step-no">03</span><b>Answer with boundaries</b><small>Citations, repair steps, uncertainties</small></div></aside></section>
<section class="workspace" aria-labelledby="workbench-title">
<div class="query-panel"><div class="panel-heading"><p class="eyebrow">REPAIR WORKBENCH</p><span id="runtime-mode" class="mode-tag">RECORDED RUN EXPLORER</span></div><h2 id="workbench-title">Start with the symptom.</h2><p id="mode-note" class="muted">This hosted view replays actual saved local Qwen + Context MCP runs. It does not generate a fresh answer. Run the source locally to ask a new question.</p><form id="question-form"><label for="question">What happens when you use the keyboard?</label><textarea id="question" rows="3" maxlength="1200">Tab leaves my open modal dialog and focus lands behind it. How do I repair that?</textarea><div class="form-bottom"><span class="muted">The agent reads content. It cannot edit your app.</span><button type="submit" id="ask-button">Replay matching run <span aria-hidden="true">↗</span></button></div></form><p role="status" id="request-status" class="request-status"></p><div class="example-area"><p class="eyebrow">RECORDED QUESTIONS</p><div id="examples" class="examples"><p class="muted">Loading recorded runs…</p></div></div></div>
<aside class="coverage-panel"><p class="eyebrow">IN SCOPE</p><h2>Seven patterns.<br>Useful distinctions.</h2><div class="coverage-list" id="coverage-list"><span>Buttons</span><span>Modal dialogs</span><span>Tabs & latency</span><span>Menu buttons</span><span>Keyboard access</span><span>Visible focus</span><span>Focus not obscured</span></div><p class="scope-note">Suggested checks need a person and a real interface. This corpus does not certify WCAG conformance or cover every accessibility problem.</p><a class="text-link" href="#evidence">Inspect a retrieval trace ↗</a></aside>
</section>
<section class="result-section" id="evidence" aria-labelledby="result-title"><div class="section-heading"><div><p class="eyebrow">EVIDENCE DESK</p><h2 id="result-title">An answer you can inspect.</h2></div><span id="run-status" class="mode-tag">SELECT A RECORDED RUN</span></div><div class="result-grid"><article class="answer-panel"><p id="answer-question" class="answer-question">A repair plan will appear here.</p><div id="answer" class="answer-content"><p class="muted">Each saved run includes real model responses, Context MCP tool arguments and results, retrieved source URLs, and timing. Failed or unsupported answers remain visible in the trace.</p></div><div id="citations" class="citations"></div></article><aside class="trace-panel"><div class="panel-heading"><p class="eyebrow">ACTUAL TOOL TRACE</p><button id="download-run" class="plain-button" disabled>Download JSON</button></div><div class="run-metrics" id="run-metrics"></div><div id="trace"><p class="muted">The trace is a record of a completed run, not simulated tool activity.</p></div></aside></div></section>
<section class="bottom-strip"><div><p class="eyebrow">RUN IT YOURSELF</p><h2>Same content. Your local model.</h2><p>Use Node, Ollama and your own read-only Context Viewer token. Credentials stay on the server. The public content IDs and corpus are included.</p></div><div><a class="primary-link" href="access-atlas-source.zip">Download source ↗</a><a class="text-link" href="code/index.html">Browse source</a><a class="text-link" href="access-atlas.git">Anonymous Git repository</a></div></section>
</main>
<footer><span>Access Atlas · Built October 2026</span><span>Paraphrased guidance derived from W3C WAI sources. <a href="licenses.html">Attribution, full notices & limitations</a></span></footer>
</body></html>