Skip to content

Commit 567fb6a

Browse files
taylorarndtCopilot
andcommitted
Add full-text search to GitHub Pages site
- Lunr.js client-side search across all 124 docs pages - Search bar in sticky header on every page (keyboard accessible) - /search.html results page with highlighted snippets - Build generates search-index.json and copies lunr.min.js automatically - Fully accessible: skip link, aria-live status, screen-reader labels - Dark mode, high-contrast, and reduced-motion support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 7ac24a9 commit 567fb6a

130 files changed

Lines changed: 9285 additions & 5405 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

html/ACCESSIBILITY_TESTING.html

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,34 @@
2525
</head>
2626
<body>
2727
<a class="skip-link" href="#main-content">Skip to main content</a>
28-
<nav aria-label="Breadcrumb" class="breadcrumb">
29-
<a href="./index.html">Home</a> <span aria-hidden="true"></span> <span aria-current="page">Accessibility Testing Checklist</span>
30-
</nav>
28+
<header class="site-header" role="banner">
29+
<div class="site-header-inner">
30+
<nav aria-label="Breadcrumb" class="breadcrumb">
31+
<a href="./index.html">Home</a> <span aria-hidden="true"></span> <span aria-current="page">Accessibility Testing Checklist</span>
32+
</nav>
33+
<form role="search" class="search-form" action="./search.html" method="get">
34+
<label for="site-search" class="search-label">Search docs</label>
35+
<input
36+
type="search"
37+
id="site-search"
38+
class="search-input"
39+
name="q"
40+
placeholder="Search docs…"
41+
autocomplete="off"
42+
aria-label="Search documentation"
43+
>
44+
<button type="submit" class="search-button" aria-label="Submit search">
45+
<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
46+
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"/>
47+
</svg>
48+
</button>
49+
</form>
50+
</div>
51+
</header>
3152
<main id="main-content" class="markdown-body">
3253
<h1>Accessibility Testing Checklist</h1>
3354
<h2>Verify GitHub Templates &amp; Workflows Are Accessible</h2>
3455
<p>This checklist helps you test issue templates, PRs, and GitHub workflows to ensure they&#39;re usable by people with disabilities (especially screen reader users).</p>
35-
<hr>
3656
<h2>Quick Checklist for Templates</h2>
3757
<p>Use before deploying any new issue template or form.</p>
3858
<h3>Form Fields &amp; Labels</h3>
@@ -66,7 +86,6 @@ <h3>YAML &amp; Technical</h3>
6686
<li><input aria-label="All required fields present:" disabled="" type="checkbox"> All required fields present: <code>name:</code>, <code>description:</code>, <code>body:</code></li>
6787
<li><input aria-label="Field IDs are unique and lowercase with hyphens (e.g.," disabled="" type="checkbox"> Field IDs are unique and lowercase with hyphens (e.g., <code>browser_type</code>)</li>
6888
</ul>
69-
<hr>
7089
<h2>Screen Reader Testing Workflow</h2>
7190
<h3>Before Testing</h3>
7291
<ol>
@@ -133,7 +152,6 @@ <h3>VoiceOver Testing (macOS)</h3>
133152
<li><input aria-label="Field labels are adjacent to fields" disabled="" type="checkbox"> Field labels are adjacent to fields</li>
134153
<li><input aria-label="Instructions are readable" disabled="" type="checkbox"> Instructions are readable</li>
135154
</ul>
136-
<hr>
137155
<h2>Accessibility Testing by Component</h2>
138156
<h3>Checkboxes &amp; Radio Buttons</h3>
139157
<ul>
@@ -176,7 +194,6 @@ <h3>Instructions &amp; Help Text</h3>
176194
<li><input aria-label="No abbreviations without explanation" disabled="" type="checkbox"> No abbreviations without explanation</li>
177195
</ul>
178196
<p><strong>Test:</strong> Tab to field, screen reader should announce label, field type, help text, and required status.</p>
179-
<hr>
180197
<h2>Color &amp; Contrast Testing</h2>
181198
<ul>
182199
<li><input aria-label="Text contrast is 4.5:1 or higher (WCAG AA for normal text)" disabled="" type="checkbox"> Text contrast is 4.5:1 or higher (WCAG AA for normal text)</li>
@@ -185,11 +202,10 @@ <h2>Color &amp; Contrast Testing</h2>
185202
<li>Example: Good: &quot;Error&quot; label + red color + error icon</li>
186203
</ul>
187204
</li>
188-
<li><input aria-label="Required fields marked with or &quot;required&quot; text (not just color)" disabled="" type="checkbox"> Required fields marked with or &quot;required&quot; text (not just color)</li>
205+
<li><input aria-label="Required fields marked with or &quot;required&quot; text (not just color)" disabled="" type="checkbox"> Required fields marked with or &quot;required&quot; text (not just color)</li>
189206
<li><input aria-label="Disabled fields are visually distinct" disabled="" type="checkbox"> Disabled fields are visually distinct</li>
190207
</ul>
191208
<p><strong>Test:</strong> Use WebAIM Contrast Checker: <a href="https://webaim.org/resources/contrastchecker/">https://webaim.org/resources/contrastchecker/</a></p>
192-
<hr>
193209
<h2>Keyboard Navigation Testing</h2>
194210
<p>Test WITHOUT using the mouse.</p>
195211
<ul>
@@ -203,7 +219,6 @@ <h2>Keyboard Navigation Testing</h2>
203219
<li><input aria-label="Can submit form with Enter from submit button" disabled="" type="checkbox"> Can submit form with Enter from submit button</li>
204220
</ul>
205221
<p><strong>Test:</strong> Close trackpad, use Tab/Shift+Tab/Enter/Space only.</p>
206-
<hr>
207222
<h2>Mobile &amp; Responsive Testing</h2>
208223
<ul>
209224
<li><input aria-label="Form is readable on small screens (mobile, tablet)" disabled="" type="checkbox"> Form is readable on small screens (mobile, tablet)</li>
@@ -213,7 +228,6 @@ <h2>Mobile &amp; Responsive Testing</h2>
213228
<li><input aria-label="No horizontal scrolling required to use form" disabled="" type="checkbox"> No horizontal scrolling required to use form</li>
214229
</ul>
215230
<p><strong>Test:</strong> Resize browser to mobile width (375px), or use phone/tablet to fill form.</p>
216-
<hr>
217231
<h2>Multilingual &amp; Plain Language Testing</h2>
218232
<ul>
219233
<li><input aria-label="Instructions use simple, clear language (avoid jargon)" disabled="" type="checkbox"> Instructions use simple, clear language (avoid jargon)</li>
@@ -222,7 +236,6 @@ <h2>Multilingual &amp; Plain Language Testing</h2>
222236
<li><input aria-label="If translated, consider cultural appropriateness of images/phrasings" disabled="" type="checkbox"> If translated, consider cultural appropriateness of images/phrasings</li>
223237
</ul>
224238
<p><strong>Test:</strong> Select browser zoom 200% (Ctrl+Plus / Cmd+Plus), or use browser reader mode.</p>
225-
<hr>
226239
<h2>Testing Checklist Summary</h2>
227240
<h3>Before Deploying (Must-Have)</h3>
228241
<ul>
@@ -248,7 +261,6 @@ <h3>Best Practice (Nice-to-Have)</h3>
248261
<li><input aria-label="Tested with actual users with disabilities" disabled="" type="checkbox"> Tested with actual users with disabilities</li>
249262
<li><input aria-label="Performance tested (forms load quickly)" disabled="" type="checkbox"> Performance tested (forms load quickly)</li>
250263
</ul>
251-
<hr>
252264
<h2>Common Accessibility Failures &amp; How to Test Them</h2>
253265
<table>
254266
<thead>
@@ -294,7 +306,6 @@ <h2>Common Accessibility Failures &amp; How to Test Them</h2>
294306
<td>Press Tab to first element; should offer &quot;skip to content&quot;</td>
295307
</tr>
296308
</tbody></table>
297-
<hr>
298309
<h2>Testing Tools &amp; Resources</h2>
299310
<h3>Automated Testing</h3>
300311
<ul>
@@ -316,7 +327,6 @@ <h3>Feedback</h3>
316327
<li><strong>WCAG Guidelines:</strong> <a href="https://www.w3.org/WAI/WCAG21/quickref/">https://www.w3.org/WAI/WCAG21/quickref/</a></li>
317328
<li><strong>Get Help:</strong> Open an issue with accessibility testing results</li>
318329
</ul>
319-
<hr>
320330
<h2>After Testing: Recording Issues</h2>
321331
<p>When you find an accessibility problem, document it:</p>
322332
<pre><code class="hljs"><span class="hljs-symbol">Title:</span> [Accessibility] Form label missing <span class="hljs-keyword">on</span> email field
@@ -339,7 +349,6 @@ <h2>After Testing: Recording Issues</h2>
339349
Screen reader tested: NVDA <span class="hljs-number">2025.3</span>.<span class="hljs-number">3</span>
340350
<span class="hljs-symbol">Browser:</span> Chrome <span class="hljs-number">130</span>
341351
<span class="hljs-symbol">OS:</span> Windows <span class="hljs-number">11</span></code></pre>
342-
<hr>
343352
<h2>Testing the Built HTML Output</h2>
344353
<p>This repository includes a build system that converts all Markdown files to HTML (see <code>BUILD.md</code>). If participants will use the HTML versions, test them separately:</p>
345354
<h3>Heading Hierarchy</h3>
@@ -367,14 +376,12 @@ <h3>Validation</h3>
367376
<li><input aria-label="Verify syntax-highlighted code blocks are readable (not color-only)" disabled="" type="checkbox"> Verify syntax-highlighted code blocks are readable (not color-only)</li>
368377
</ul>
369378
<p><strong>Quick test:</strong> Open <code>html/index.html</code> in a browser, enable your screen reader, and navigate using <code>H</code> (headings) and <code>K</code> (links). Every heading and link should be announced clearly.</p>
370-
<hr>
371379
<h2>Questions or Feedback?</h2>
372380
<ul>
373381
<li><strong>Having trouble testing?</strong> See <code>TROUBLESHOOTING.md</code></li>
374382
<li><strong>Need screen reader help?</strong> See <code>docs/appendix-b-screen-reader-cheatsheet.md</code></li>
375383
<li><strong>Want resources?</strong> See <code>docs/appendix-u-resources.md</code></li>
376384
</ul>
377-
<hr>
378385
<p><em>Last updated: February 2026</em><br><em>Accessibility is foundational to inclusive workflows.</em></p>
379386

380387
</main>

html/BUILD.html

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,30 @@
2525
</head>
2626
<body>
2727
<a class="skip-link" href="#main-content">Skip to main content</a>
28-
<nav aria-label="Breadcrumb" class="breadcrumb">
29-
<a href="./index.html">Home</a> <span aria-hidden="true"></span> <span aria-current="page">HTML Documentation Build System</span>
30-
</nav>
28+
<header class="site-header" role="banner">
29+
<div class="site-header-inner">
30+
<nav aria-label="Breadcrumb" class="breadcrumb">
31+
<a href="./index.html">Home</a> <span aria-hidden="true"></span> <span aria-current="page">HTML Documentation Build System</span>
32+
</nav>
33+
<form role="search" class="search-form" action="./search.html" method="get">
34+
<label for="site-search" class="search-label">Search docs</label>
35+
<input
36+
type="search"
37+
id="site-search"
38+
class="search-input"
39+
name="q"
40+
placeholder="Search docs…"
41+
autocomplete="off"
42+
aria-label="Search documentation"
43+
>
44+
<button type="submit" class="search-button" aria-label="Submit search">
45+
<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
46+
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"/>
47+
</svg>
48+
</button>
49+
</form>
50+
</div>
51+
</header>
3152
<main id="main-content" class="markdown-body">
3253
<h1>HTML Documentation Build System</h1>
3354
<p>This repository converts all Markdown files to accessible HTML. The HTML output is committed alongside the Markdown source so that both formats are always in sync.</p>
@@ -136,7 +157,6 @@ <h2>Additional Resources</h2>
136157
<li><a href="https://highlightjs.org/">highlight.js documentation</a> - Syntax highlighting</li>
137158
<li><a href="https://github.github.com/gfm/">GitHub Markdown spec</a> - GitHub Flavored Markdown</li>
138159
</ul>
139-
<hr>
140160
<p>For complete contributor guidelines, see <a href="CONTRIBUTING.html#7-html-documentation-build-system">CONTRIBUTING.md</a>.</p>
141161

142162
</main>

0 commit comments

Comments
 (0)