-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1269 lines (1201 loc) · 77.3 KB
/
index.html
File metadata and controls
1269 lines (1201 loc) · 77.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Community Access — 57 AI-powered accessibility agents for Claude Code, GitHub Copilot, Claude Desktop, Codex CLI, and Gemini CLI. WCAG 2.2 AA compliance, enforced by default.">
<title>Community Access — Accessible by Default</title>
<link rel="icon" href="https://avatars.githubusercontent.com/u/263509777?v=4&s=32" type="image/png">
<link rel="apple-touch-icon" href="https://avatars.githubusercontent.com/u/263509777?v=4&s=180">
<meta property="og:title" content="Community Access — Accessible by Default">
<meta property="og:description" content="57 AI-powered accessibility agents for Claude Code, GitHub Copilot, Claude Desktop, Codex CLI, and Gemini CLI. WCAG 2.2 AA compliance, enforced by default.">
<meta property="og:image" content="https://avatars.githubusercontent.com/u/263509777?v=4&s=400">
<meta property="og:url" content="https://community-access.github.io/">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="styles.css">
<link rel="alternate" type="application/rss+xml" title="Community Access RSS Feed" href="https://community-access.org/feed.xml">
<style>
/* === Nav CTA === */
.nav-cta {
background: rgba(5,150,105,0.85) !important;
color: #fff !important;
font-weight: 700 !important;
}
.nav-cta:hover { background: rgba(5,150,105,1) !important; }
/* === Limit news to 3 visible cards on home page === */
#latest-news .news-card:nth-child(n+4) { display: none; }
/* === Teams Overview === */
.teams-overview {
text-align: center;
margin-top: 3rem;
padding-top: 3rem;
border-top: 1px solid var(--ca-gray-200);
}
.teams-overview h3 {
font-size: 1.35rem;
font-weight: 800;
color: var(--ca-gray-900);
margin-bottom: 1.25rem;
}
.teams-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.6rem;
margin-bottom: 1.5rem;
}
.team-badge {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.5rem 1rem;
background: var(--ca-gray-50);
border: 1px solid var(--ca-gray-200);
border-radius: 100px;
font-weight: 600;
font-size: 0.88rem;
color: var(--ca-gray-800);
text-decoration: none;
transition: border-color var(--transition), background var(--transition);
}
.team-badge:hover {
border-color: var(--ca-indigo-light);
background: var(--ca-gray-100);
}
.team-badge span {
background: var(--ca-indigo);
color: #fff;
font-size: 0.78rem;
font-weight: 700;
padding: 0.15rem 0.5rem;
border-radius: 100px;
min-width: 1.5rem;
text-align: center;
}
.team-badge-sub span { background: var(--ca-gray-700); }
.teams-overview > p { margin-top: 1rem; }
.teams-overview > p a {
color: var(--ca-indigo-light);
text-decoration: underline;
text-underline-offset: 2px;
font-weight: 600;
}
.teams-overview > p a:hover { text-decoration-thickness: 2px; }
/* === Platform Grid === */
.platform-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
gap: 0.75rem;
margin: 2rem auto 2.5rem;
max-width: 44rem;
}
.platform-badge {
text-align: center;
padding: 1rem 0.5rem;
background: var(--ca-gray-50);
border: 1px solid var(--ca-gray-200);
border-radius: 10px;
font-weight: 700;
font-size: 0.9rem;
color: var(--ca-gray-800);
}
.platform-badge span {
display: block;
font-size: 0.78rem;
font-weight: 400;
color: var(--ca-gray-700);
margin-top: 0.15rem;
}
/* === Compact Workshop === */
.workshop-compact { padding: 3.5rem 0; }
.workshop-compact .workshop-inner { max-width: 44rem; }
.workshop-compact .workshop-title {
font-size: clamp(1.5rem, 3vw, 2.25rem);
margin-bottom: 0.75rem;
}
.workshop-reg-note {
font-size: 0.85rem;
opacity: 0.6;
margin-top: 1rem;
}
/* === Footer Grid === */
.footer-grid {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
gap: 2rem;
padding-bottom: 2rem;
border-bottom: 1px solid rgba(255,255,255,0.1);
margin-bottom: 1.5rem;
}
@media (max-width: 48rem) {
.footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
.footer-logo {
font-size: 1.15rem;
font-weight: 700;
color: var(--ca-gray-50);
}
.footer-tagline {
color: #9ca3af;
font-size: 0.9rem;
margin-top: 0.25rem;
}
.footer-column h3 {
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
color: rgba(255,255,255,0.7);
margin-bottom: 0.75rem;
}
.footer-column .footer-links {
list-style: none;
}
.footer-column .footer-links li {
margin-bottom: 0.4rem;
}
.footer-column .footer-links a {
color: #9ca3af;
text-decoration: none;
font-size: 0.9rem;
transition: color var(--transition);
}
.footer-column .footer-links a:hover {
color: var(--ca-emerald-light);
}
</style>
</head>
<body>
<a href="#main" class="skip-link">Skip to main content</a>
<header class="site-header">
<div class="container header-inner">
<a href="index.html" class="logo" aria-label="Community Access home">
<img class="logo-mark" src="https://avatars.githubusercontent.com/u/263509777?v=4&s=80" alt="" width="40" height="40" loading="eager">
<span class="logo-text">Community Access</span>
</a>
<nav class="header-nav" aria-label="Main navigation">
<ul>
<li class="nav-dropdown">
<button class="nav-dropdown-toggle" aria-expanded="false">Accessibility Agents</button>
<ul class="nav-dropdown-menu">
<li><a href="docs.html">Documentation</a></li>
<li><a href="#install">Install</a></li>
<li><a href="#contribute">Contribute</a></li>
</ul>
</li>
<li><a href="news.html">News</a></li>
<li><a href="repos.html">Repositories</a></li>
<li><a href="about.html">About</a></li>
<li><a href="https://community-access.org/git-going-with-github/" class="nav-workshop-link">Workshop</a></li>
<li><a href="https://github.com/Community-Access">GitHub</a></li>
</ul>
</nav>
<button class="theme-toggle" type="button" aria-label="Switch to dark mode">
<span class="icon-sun" aria-hidden="true">☀️</span>
<span class="icon-moon" aria-hidden="true">☾️</span>
</button>
</div>
</header>
<main id="main">
<section class="hero">
<div class="container">
<p class="hero-badge" style="display:inline-block; background:var(--ca-emerald-dark,#047857); color:#fff; font-weight:700; font-size:0.85rem; padding:0.35rem 1rem; border-radius:100px; margin-bottom:1rem; letter-spacing:0.02em;">v2.5 — The Community Milestone Release</p>
<h1>Accessible <span class="hero-accent">by Default</span></h1>
<p>Built by the community, for the community. 57 AI agents enforce WCAG 2.2 AA inside your favorite coding environment—every recommendation backed by verifiable sources, every feature born from real community needs.</p>
<div class="hero-actions">
<a href="#install" class="btn btn-primary">Install in 30 Seconds</a>
<a href="https://github.com/Community-Access/accessibility-agents" class="btn btn-outline">View on GitHub</a>
</div>
</div>
</section>
<div class="stats-bar">
<div class="container">
<dl class="stats-grid" id="live-stats">
<div class="stat-item">
<dt class="stat-label">Agents</dt>
<dd class="stat-number" id="stat-agents">57</dd>
</div>
<div class="stat-item">
<dt class="stat-label">Platforms</dt>
<dd class="stat-number">5</dd>
</div>
<div class="stat-item">
<dt class="stat-label">Prompts</dt>
<dd class="stat-number" id="stat-prompts">54</dd>
</div>
<div class="stat-item">
<dt class="stat-label">GitHub Stars</dt>
<dd class="stat-number" id="stat-stars">—</dd>
</div>
<div class="stat-item">
<dt class="stat-label">Contributors</dt>
<dd class="stat-number" id="stat-contributors">—</dd>
</div>
<div class="stat-item">
<dt class="stat-label">Compliance</dt>
<dd class="stat-number">WCAG 2.2</dd>
</div>
</dl>
</div>
</div>
<section id="news" class="changelog-section bg-alt">
<div class="container">
<div class="section-header">
<h2>Latest from the Project</h2>
<p>News, releases, and community updates from the accessibility agents ecosystem.</p>
</div>
<div id="latest-news">
<p style="text-align:center; color: var(--ca-gray-700);">Loading news…</p>
</div>
<div style="text-align:center; margin-top: 2rem;">
<a href="news.html" class="btn btn-outline" style="color: var(--ca-gray-800); border-color: var(--ca-gray-200);">View All News →</a>
</div>
</div>
</section>
<section id="mission">
<div class="container">
<div class="section-header">
<h2>Why It Matters</h2>
<p>Every feature here was requested, debated, or built by the community. ARIA gets misused. Keyboard navigation gets skipped. Contrast fails silently. Our agents fix this at the source—before code reaches your editor.</p>
</div>
<div class="features-grid">
<div class="feature-card">
<h3>Automatic Enforcement</h3>
<p>Every prompt, every response, every code suggestion is checked for accessibility before it reaches your editor—not after deployment.</p>
</div>
<div class="feature-card">
<h3>Screen Reader First</h3>
<p>Built by and for the blind and low vision community. Every agent understands real-world assistive technology—NVDA, JAWS, VoiceOver—not just spec compliance.</p>
</div>
<div class="feature-card">
<h3>Beyond Web Code</h3>
<p>Scan Word, Excel, PowerPoint, PDF, EPUB, and Markdown for accessibility. 46 rules for Office, 56 for PDF/UA, 9 domains for Markdown.</p>
</div>
<div class="feature-card">
<h3>CI/CD Ready</h3>
<p>Integrates with <a href="https://github.com/dequelabs/axe-core" style="color:var(--ca-indigo-light);">axe-core</a>, the <a href="https://github.com/github/accessibility-scanner" style="color:var(--ca-indigo-light);">GitHub Accessibility Scanner</a>, and Lighthouse CI. Generate VPAT 2.5 reports from your pipeline.</p>
</div>
<div class="feature-card">
<h3>No Source, No Claim</h3>
<p>The community demanded trust—and trust requires evidence. Every agent follows a <a href="https://github.com/Community-Access/accessibility-agents/blob/main/.github/agents/CITATION_POLICY.md" style="color:var(--ca-indigo-light);">source citation policy</a> with a six-tier authority hierarchy. Every recommendation links to WCAG specs, ARIA APG, or vendor docs. A weekly automation keeps sources fresh. No more hallucinated accessibility advice.</p>
</div>
<div class="feature-card">
<h3>NVDA Addon Development</h3>
<p>The most-requested agent of the year. Build, debug, package, and publish NVDA addons with an expert grounded in the <a href="https://github.com/nvaccess/nvda" style="color:var(--ca-indigo-light);">official NVDA source code</a>—globalPlugins, appModules, synthDrivers, braille tables, and Add-on Store submission. Born from a community discussion that said: “I wish there was an AI that understood NVDA’s internals.”</p>
</div>
</div>
</div>
</section>
<section id="agents" class="bg-alt">
<div class="container">
<div class="section-header">
<h2>Meet the Agents</h2>
<p>57 specialists across five teams. Each agent owns one domain and enforces it relentlessly. Expand any group to see every agent, and look for <em>“How it works”</em> to see exactly how each one analyzes your content.</p>
</div>
<search class="search-filter">
<label for="agent-search">Search agents, skills, prompts, and tools</label>
<input type="search" id="agent-search" placeholder="Type to filter… e.g. contrast, PDF, heading" autocomplete="off">
<div class="search-status" aria-live="polite" id="search-status"></div>
</search>
<div class="accordion-controls" role="group" aria-label="Accordion controls">
<button type="button" id="expand-all" aria-label="Expand all sections">Expand All</button>
<button type="button" id="collapse-all" aria-label="Collapse all sections">Collapse All</button>
</div>
<div class="accordion-group">
<details>
<summary>Web Accessibility Agents (17)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Web accessibility agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Accessibility Lead</td><td>Orchestrates the full team—routes tasks to specialists, merges results, and ensures nothing gets missed.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How the web audit works</summary>
<div class="method-body">
<p>The lead wizard runs a <strong>multi-phase guided audit</strong> by delegating to specialist sub-agents in parallel:</p>
<ul>
<li><strong>Code review</strong> — Each specialist reads your source files (HTML, JSX, Vue, Svelte) and applies its rule set against WCAG 2.2 AA criteria.</li>
<li><strong>axe-core scan</strong> — The <code>run_axe_scan</code> tool launches axe-core against a live URL (e.g. <code>localhost:3000</code>) via Chromium, returning violations grouped by severity with affected elements and fix suggestions.</li>
<li><strong>Framework-aware fixes</strong> — Specialists suggest idiomatic fixes for React, Vue, Angular, Svelte, and Tailwind CSS rather than generic HTML.</li>
<li><strong>Aggregation</strong> — Results from all specialists are merged, deduplicated, severity-scored, and compiled into a prioritized action plan.</li>
</ul>
</div>
</details>
</td></tr>
<tr><td>ARIA Specialist</td><td>Makes sure interactive elements like buttons, menus, and tabs are properly announced to screen readers.</td></tr>
<tr><td>Modal Specialist</td><td>Verifies that dialogs and modals trap focus correctly, return focus on close, and announce themselves.</td></tr>
<tr><td>Contrast Master</td><td>Checks that text and backgrounds have enough color difference for people with low vision.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How contrast checking works</summary>
<div class="method-body">
<p>The <code>check_contrast</code> MCP tool calculates the <strong>WCAG luminance contrast ratio</strong> between any two hex colors using the sRGB-to-linear conversion formula, then reports pass/fail for:</p>
<ul>
<li>Normal text: 4.5:1 minimum</li>
<li>Large text (18px+ or 14px+ bold): 3:1 minimum</li>
<li>UI components and focus indicators: 3:1 minimum</li>
</ul>
<p>The agent also scans CSS for common Tailwind failures (e.g. <code>text-gray-400</code> on white = 2.85:1 FAIL) and checks dark mode colors independently.</p>
</div>
</details>
</td></tr>
<tr><td>Keyboard Navigator</td><td>Ensures every interactive element is reachable and operable with keyboard alone—no mouse required.</td></tr>
<tr><td>Live Region Controller</td><td>Manages dynamic content announcements so screen readers hear updates like toasts, alerts, and loading states.</td></tr>
<tr><td>Forms Specialist</td><td>Validates that every form input has a visible label, proper autocomplete, and clear error messaging.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How form checking works</summary>
<div class="method-body">
<p>The <code>check_form_labels</code> MCP tool parses HTML to verify every <code><input></code>, <code><select></code>, and <code><textarea></code> has a programmatic label via <code><label for></code>, <code>aria-label</code>, or <code>aria-labelledby</code>. Also checks:</p>
<ul>
<li><code>aria-labelledby</code> references point to existing IDs</li>
<li>Identity fields (email, tel, password) have <code>autocomplete</code> attributes</li>
<li>Radio/checkbox groups are wrapped in <code><fieldset></code> with <code><legend></code></li>
</ul>
</div>
</details>
</td></tr>
<tr><td>Alt Text & Headings</td><td>Checks image alt text quality and heading hierarchy so pages make sense when read linearly.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How heading analysis works</summary>
<div class="method-body">
<p>The <code>check_heading_structure</code> MCP tool extracts every <code><h1></code>–<code><h6></code> from HTML, builds the heading outline, and flags:</p>
<ul>
<li>No headings at all, or no H1</li>
<li>Multiple H1 elements on one page</li>
<li>Skipped levels (e.g. H1 → H3 with no H2)</li>
<li>Empty headings that confuse screen readers</li>
</ul>
</div>
</details>
</td></tr>
<tr><td>Tables Specialist</td><td>Ensures data tables have proper headers, captions, and scope attributes for screen reader navigation.</td></tr>
<tr><td>Link Checker</td><td>Flags vague link text like “click here” and ensures links describe their destination.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How link checking works</summary>
<div class="method-body">
<p>The <code>check_link_text</code> MCP tool scans every <code><a></code> in HTML and flags:</p>
<ul>
<li>Ambiguous text (“click here”, “read more”, “learn more”, etc.)</li>
<li>URLs used as link text (screen readers spell out the full URL)</li>
<li>Repeated identical text pointing to different destinations</li>
<li>Links opening in new tabs without warning</li>
<li>Links to non-HTML files (PDF, DOCX) without file type indication</li>
</ul>
</div>
</details>
</td></tr>
<tr><td>Web Accessibility Wizard</td><td>Interactive guided audit—walks you through a full accessibility review step by step.</td></tr>
<tr><td>Testing Coach</td><td>Teaches you how to test with screen readers, keyboard, and browser dev tools.</td></tr>
<tr><td>WCAG Guide</td><td>Explains any WCAG 2.2 success criterion in plain language with practical examples.</td></tr>
<tr><td>Cognitive Accessibility</td><td>Audits for WCAG 2.2 cognitive criteria: reading level, consistent navigation, error prevention, and timeouts.</td></tr>
<tr><td>Mobile Accessibility</td><td>Checks touch targets, viewport scaling, orientation, and mobile screen reader patterns.</td></tr>
<tr><td>Design System Auditor</td><td>Reviews component libraries and design tokens for accessibility patterns and consistency.</td></tr>
<tr><td>Text Quality Reviewer</td><td>Catches low-quality alt text, template variables in aria-labels, placeholder text used as labels, and duplicate control names.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Document Accessibility Agents (9)</summary>
<div class="accordion-body">
<p>Our Word, Excel, and PowerPoint agents are built on the <strong>public-facing rules used by Microsoft Office’s built-in accessibility checkers</strong>. We study the published documentation for these rules and map them to WCAG 2.1 AA criteria so the agents can surface the same issues—and more—directly inside your AI workflow.</p>
<table class="agent-table" aria-label="Document accessibility agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Word Accessibility</td><td>Scans .docx files for heading structure, alt text, reading order, table headers, and language.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How Word analysis works</summary>
<div class="method-body">
<p>A <code>.docx</code> file is a ZIP archive containing XML. The agent (and the <code>scan_office_document</code> MCP tool) <strong>unzips the file and reads the XML directly</strong>:</p>
<ul>
<li><strong>word/document.xml</strong> — Parses <code><w:pStyle w:val="Heading1"></code> to verify heading hierarchy, checks <code><wp:docPr descr="..."></code> for image alt text, scans <code><w:tblHeader></code> for table header rows, and flags <code><w:gridSpan></code>/<code><w:vMerge></code> for merged cells.</li>
<li><strong>docProps/core.xml</strong> — Reads <code><dc:title></code> and <code><dc:language></code> to verify document metadata.</li>
<li><strong>word/_rels/document.xml.rels</strong> — Resolves hyperlink targets so link text can be checked for ambiguity.</li>
</ul>
<p>Rule set: 9 errors, 6 warnings, 3 tips—mapped to WCAG 2.1 AA and derived from the public-facing rules of <strong>Microsoft Word’s built-in Accessibility Checker</strong>.</p>
</div>
</details>
</td></tr>
<tr><td>Excel Accessibility</td><td>Checks spreadsheets for sheet names, table formatting, merged cells, chart alt text, and data validation.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How Excel analysis works</summary>
<div class="method-body">
<p>An <code>.xlsx</code> file is also a ZIP of XML. The agent reads:</p>
<ul>
<li><strong>xl/workbook.xml</strong> — Checks <code><sheet name="..."></code> for default names like “Sheet1”.</li>
<li><strong>xl/worksheets/sheet*.xml</strong> — Scans for <code><mergeCell></code> regions, empty sheets, conditional formatting (color-only data), and hyperlink display text.</li>
<li><strong>xl/tables/table*.xml</strong> — Verifies <code>headerRowCount</code> is not “0”.</li>
<li><strong>xl/drawings/drawing*.xml</strong> — Checks <code><xdr:cNvPr descr="..."></code> for chart and image alt text.</li>
</ul>
<p>Rule set: 8 errors, 5 warnings, 3 tips—derived from the public-facing rules of <strong>Microsoft Excel’s built-in Accessibility Checker</strong>.</p>
</div>
</details>
</td></tr>
<tr><td>PowerPoint Accessibility</td><td>Audits slide reading order, alt text on images, slide titles, table structure, and color contrast.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How PowerPoint analysis works</summary>
<div class="method-body">
<p>A <code>.pptx</code> file is a ZIP of XML. The agent reads:</p>
<ul>
<li><strong>ppt/slides/slide*.xml</strong> — Locates <code><p:ph type="title"></code> placeholders to verify every slide has a title. Checks <code><p:cNvPr descr="..."></code> for image and shape alt text. Flags <code>gridSpan</code>/<code>rowSpan</code> in tables.</li>
<li><strong>ppt/presentation.xml</strong> — Checks for <code><p:sectionLst></code> in presentations over 10 slides.</li>
<li><strong>Duplicate detection</strong> — Flags slides with identical title text, which breaks screen reader slide navigation.</li>
<li><strong>Media</strong> — Flags <code><p:vid></code> and <code><a:audioFile></code> elements that need captions.</li>
</ul>
<p>Rule set: 5 errors, 4 warnings, 4 tips—derived from the public-facing rules of <strong>Microsoft PowerPoint’s built-in Accessibility Checker</strong>.</p>
</div>
</details>
</td></tr>
<tr><td>Office Scan Config</td><td>Configures which rules to enable or disable for Office document scans.</td></tr>
<tr><td>PDF Accessibility</td><td>Validates PDF/UA compliance using the Matterhorn Protocol—56 checkpoint rules.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How PDF analysis works</summary>
<div class="method-body">
<p>The agent (and <code>scan_pdf_document</code> MCP tool) parses the <strong>PDF internal structure</strong> to check conformance with PDF/UA (ISO 14289-1) via the Matterhorn Protocol:</p>
<ul>
<li><strong>Structure tree</strong> — Verifies <code>/StructTreeRoot</code> exists and <code>/MarkInfo /Marked true</code> is set (tagged PDF).</li>
<li><strong>Semantic tags</strong> — Checks that content uses standard tags (<code>/P</code>, <code>/H1</code>–<code>/H6</code>, <code>/Table</code>, <code>/Figure</code>, <code>/Link</code>, <code>/L</code>) with correct nesting.</li>
<li><strong>Figures</strong> — Every <code>/Figure</code> element must have an <code>/Alt</code> text entry. Decorative images must be marked as <code>/Artifact</code>.</li>
<li><strong>Tables</strong> — <code>/TH</code> cells must have <code>/Scope</code>. Complex spanning requires <code>/Headers</code> attribute.</li>
<li><strong>Language</strong> — Catalog must have <code>/Lang</code> in valid BCP 47 format. Inline language switches need <code>/Span</code> tags.</li>
<li><strong>Bookmarks</strong> — Documents over 20 pages must have <code>/Outlines</code> for navigation.</li>
</ul>
<p>Three rule layers: PDFUA (conformance), PDFBP (best practices), PDFQ (quality). Supports SARIF output for CI integration.</p>
</div>
</details>
</td></tr>
<tr><td>PDF Scan Config</td><td>Configures which PDF/UA rules to enable or disable for PDF scans.</td></tr>
<tr><td>Document Wizard</td><td>Interactive guided document audit—walks you through a full review step by step.</td></tr>
<tr><td>EPUB Accessibility</td><td>Scans EPUB publications for accessibility metadata, navigation, alt text, reading order, and semantic structure.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How EPUB analysis works</summary>
<div class="method-body">
<p>An EPUB is a ZIP containing XHTML content documents, a package OPF, and navigation files. The agent reads:</p>
<ul>
<li><strong>Package OPF</strong> — Checks <code><dc:title></code>, <code><dc:identifier></code>, <code><dc:language></code>, and <code>schema.org</code> accessibility metadata (<code>accessMode</code>, <code>accessibilityFeature</code>, <code>accessibilitySummary</code>).</li>
<li><strong>Navigation document</strong> — Verifies <code><nav epub:type="toc"></code>, <code>page-list</code>, and <code>landmarks</code> exist.</li>
<li><strong>Content documents</strong> — Scans each XHTML file for image alt text, heading hierarchy, table headers, ambiguous link text, and color-only information.</li>
<li><strong>Spine</strong> — Checks <code><itemref></code> order for logical reading sequence.</li>
</ul>
<p>Conforms to EPUB Accessibility 1.1 mapped to WCAG 2.1 AA. Rule set: 7 errors, 6 warnings, 4 tips.</p>
</div>
</details>
</td></tr>
<tr><td>EPUB Scan Config</td><td>Configures which rules to enable or disable for EPUB accessibility scans.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Markdown Accessibility Agents (3)</summary>
<div class="accordion-body">
<p>These agents audit Markdown documentation for accessibility across 9 domains.</p>
<table class="agent-table" aria-label="Markdown accessibility agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Markdown Assistant</td><td>Orchestrates Markdown audits—coordinates the scanner and fixer for full documentation reviews.</td></tr>
<tr><td>Markdown Scanner</td><td>Scans .md files for heading structure, image alt text, link quality, tables, and readability. Runs automatically.</td></tr>
<tr class="method-row"><td colspan="2">
<details class="method-detail">
<summary>How Markdown analysis works</summary>
<div class="method-body">
<p>The scanner reads each <code>.md</code> file and runs two analysis passes:</p>
<ul>
<li><strong>markdownlint</strong> — Runs <code>npx markdownlint-cli2</code> to catch structural violations (MD001 heading hierarchy, MD025 multiple H1s, MD034 bare URLs, MD045 missing image alt text, MD055/056 table formatting).</li>
<li><strong>9-domain accessibility scan</strong> — Checks each line for:
<ul>
<li>Descriptive links (WCAG 2.4.4) — flags “click here”, bare URLs, repeated identical text</li>
<li>Image alt text (WCAG 1.1.1) — empty or decorative alt, oversized alt text</li>
<li>Heading hierarchy (WCAG 2.4.6) — skipped levels, missing top-level heading</li>
<li>Table accessibility — alignment-only headers, missing header rows</li>
<li>Emoji (cognitive accessibility) — excessive or decorative emoji that confuse screen readers</li>
<li>Mermaid/ASCII diagrams — no text alternative for visual diagrams</li>
<li>Language markers, readability, and list structure</li>
</ul>
</li>
</ul>
<p>Each issue gets a severity, line number, and auto-fix classification. The fixer then applies safe fixes automatically.</p>
</div>
</details>
</td></tr>
<tr><td>Markdown Fixer</td><td>Applies automated fixes for accessibility issues found by the scanner. Runs automatically.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>GitHub Workflow Agents (11)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="GitHub workflow agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>GitHub Hub</td><td>Central router for all GitHub operations—directs requests to the right specialist.</td></tr>
<tr><td>Daily Briefing</td><td>Gives you a morning summary of what happened in your repo overnight.</td></tr>
<tr><td>PR Review</td><td>Reviews pull requests for accessibility issues, code quality, and adherence to contribution standards.</td></tr>
<tr><td>Issue Tracker</td><td>Manages issue triage, labeling, assignment, and status tracking.</td></tr>
<tr><td>Analytics</td><td>Generates repository health reports: PR velocity, issue resolution time, contributor activity.</td></tr>
<tr><td>Insiders Tracker</td><td>Tracks VS Code Insiders accessibility issues and cross-references with your project.</td></tr>
<tr><td>Repo Admin</td><td>Handles repository settings, branch protection, and administrative tasks.</td></tr>
<tr><td>Team Manager</td><td>Manages team members, permissions, and collaboration workflows.</td></tr>
<tr><td>Contributions Hub</td><td>Tracks contributor activity, recognitions, and community engagement.</td></tr>
<tr><td>Template Builder</td><td>Creates issue templates, PR templates, and other repository scaffolding.</td></tr>
<tr><td>Repo Manager</td><td>Manages repository lifecycle: creation, archival, settings, and maintenance.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Developer Tools Agents (7)</summary>
<div class="accordion-body">
<p>The developer tools team helps you build, debug, package, and test Python desktop applications and NVDA screen reader addons with accessibility built in from the start.</p>
<table class="agent-table" aria-label="Developer tools agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Developer Hub</td><td>Command center for all developer tasks—routes to the right specialist based on what you need.</td></tr>
<tr><td>Python Specialist</td><td>Debugging, packaging (PyInstaller/Nuitka/cx_Freeze), testing, type checking, async patterns, and optimization.</td></tr>
<tr><td>wxPython Specialist</td><td>Sizer layouts, event handling, AUI framework, custom controls, threading, and desktop accessibility.</td></tr>
<tr><td>Desktop A11y Specialist</td><td>Platform accessibility APIs (UI Automation, MSAA, ATK/AT-SPI, NSAccessibility), screen reader interaction, and focus management.</td></tr>
<tr><td>Desktop A11y Testing Coach</td><td>Testing with NVDA, JAWS, Narrator, VoiceOver, and Orca. Automated UIA testing and keyboard-only testing flows.</td></tr>
<tr><td>A11y Tool Builder</td><td>Building accessibility scanning tools, rule engines, document parsers, report generators, and audit automation.</td></tr>
<tr><td>NVDA Addon Specialist</td><td>NVDA screen reader addon development—globalPlugins, appModules, synthDrivers, brailleDisplayDrivers, addon packaging, and Add-on Store submission. Grounded in the official NVDA source code.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Nexus & Hidden Sub-Agents (12)</summary>
<div class="accordion-body">
<p>These agents run behind the scenes. You never invoke them directly—other agents call them as needed.</p>
<table class="agent-table" aria-label="Hidden sub-agents">
<thead><tr><th scope="col">Agent</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Nexus</td><td>Top-level orchestrator that coordinates across all agent teams for complex multi-domain tasks.</td></tr>
<tr><td>Document Inventory</td><td>Catalogs all documents in a project before a batch scan begins.</td></tr>
<tr><td>Cross-Document Analyzer</td><td>Finds patterns and inconsistencies across multiple documents in a batch.</td></tr>
<tr><td>Cross-Page Analyzer</td><td>Finds accessibility patterns that span multiple web pages (navigation, headers, footers).</td></tr>
<tr><td>Web Issue Fixer</td><td>Applies automated code fixes for web accessibility issues found during audits.</td></tr>
<tr><td>Scanner Bridge</td><td>Bridges GitHub Accessibility Scanner CI data into the agent ecosystem—parses scanner-created issues and correlates with local scans.</td></tr>
<tr><td>Lighthouse Bridge</td><td>Bridges Lighthouse CI accessibility audit data into the agent ecosystem—tracks score regressions and deduplicates against local scans.</td></tr>
<tr><td>Web CSV Reporter</td><td>Exports web audit results to CSV format for spreadsheet analysis.</td></tr>
<tr><td>Document CSV Reporter</td><td>Exports document audit results to CSV format for spreadsheet analysis.</td></tr>
<tr><td>Markdown CSV Reporter</td><td>Exports Markdown audit results to CSV format for spreadsheet analysis.</td></tr>
<tr><td>Markdown Scanner</td><td>Scans Markdown files for accessibility issues (invoked by Markdown Assistant).</td></tr>
<tr><td>Markdown Fixer</td><td>Applies fixes to Markdown files (invoked by Markdown Assistant).</td></tr>
</tbody>
</table>
</div>
</details>
</div>
</div>
</section>
<section id="platforms">
<div class="container">
<div class="section-header">
<h2>How It Works Across Platforms</h2>
<p>Same agents, same rules, six different platforms. Pick your editor and get started.</p>
</div>
<div class="accordion-group">
<details open>
<summary>Claude Code (CLI)</summary>
<div class="accordion-body">
<p>Agents live in <code>.claude/agents/</code> as Markdown files. Each agent has a dedicated system prompt that defines its identity and expertise.</p>
<p>Specialists run in parallel groups for fast audits—the Accessibility Lead orchestrates the full team so you get comprehensive results from a single command.</p>
<p>Install with one command. The installer copies all 57 agents and configures everything automatically.</p>
</div>
</details>
<details>
<summary>GitHub Copilot (VS Code)</summary>
<div class="accordion-body">
<p>Agents load as <code>.agent.md</code> files in <code>.github/agents/</code>. Accessibility rules are injected into every Copilot chat via <code>copilot-instructions.md</code>.</p>
<p>Same agents, same rules, same parallel execution as Claude Code. All 54 prompts are available as <code>.prompt.md</code> files you can invoke directly in Copilot Chat.</p>
<p>17 skills provide shared knowledge modules that keep all agents consistent.</p>
</div>
</details>
<details>
<summary>Claude Desktop (Standalone App)</summary>
<div class="accordion-body">
<p>Uses MCP (Model Context Protocol) since Desktop does not have an agent system. 11 tools provide contrast checking, heading audits, form validation, axe-core scanning, document scanning, and VPAT generation.</p>
<p>6 built-in prompts cover common accessibility reviews: full audit, ARIA review, modal review, contrast review, keyboard review, and live region review.</p>
<p>Install by downloading the <code>.mcpb</code> extension bundle from the releases page.</p>
</div>
</details>
<details>
<summary>Copilot CLI (GitHub Copilot in Terminal)</summary>
<div class="accordion-body">
<p>Agents load as <code>.agent.md</code> files in <code>.github/agents/</code>—the same files used by VS Code Copilot. Copilot CLI reads the agent definitions and applies accessibility rules directly in your terminal workflow.</p>
<p>All 54 prompts, 17 skills, and 57 agents work identically to the VS Code experience. The installer configures Copilot CLI support automatically alongside VS Code.</p>
</div>
</details>
<details>
<summary>Codex CLI (OpenAI)</summary>
<div class="accordion-body">
<p>Agents are configured via <code>.codex/agents/AGENTS.md</code>, which maps agent names to their instruction files. Codex CLI reads agent definitions from the same <code>.claude/agents/</code> directory used by Claude Code.</p>
<p>Accessibility rules are injected into every session through <code>.codex/AGENTS.md</code> instructions. The installer creates the Codex configuration automatically.</p>
</div>
</details>
<details>
<summary>Gemini CLI (Google)</summary>
<div class="accordion-body">
<p>Uses a Gemini extension bundle (<code>gemini-extension.json</code>) with 63 skill files that embed agent knowledge, scanning rules, and reporting templates directly into Gemini CLI sessions.</p>
<p>The extension covers all four teams: web accessibility, document scanning, markdown auditing, and GitHub workflows. Gemini reads the skill files from <code>.gemini/extensions/accessibility/</code>.</p>
<p>Install with the same one-command installer—it detects Gemini CLI and configures the extension automatically.</p>
</div>
</details>
</div>
</div>
</section>
<section id="skills" class="bg-alt">
<div class="container">
<div class="section-header">
<h2>Skills — Shared Knowledge Modules</h2>
<p>Skills are reusable knowledge packs that multiple agents draw from. They ensure consistency—every agent that checks contrast uses the same rules.</p>
</div>
<div class="accordion-group">
<details>
<summary>Accessibility Skills (6)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Accessibility skills">
<thead><tr><th scope="col">Skill</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Accessibility Rules</td><td>Core WCAG 2.2 AA rules shared by all accessibility agents.</td></tr>
<tr><td>Framework Accessibility</td><td>React, Vue, Angular, Svelte, and Tailwind CSS fix templates and patterns.</td></tr>
<tr><td>Cognitive Accessibility</td><td>WCAG 2.2 cognitive criteria: reading level, error prevention, and consistent navigation.</td></tr>
<tr><td>Mobile Accessibility</td><td>Touch targets, orientation, viewport, and native mobile screen reader patterns.</td></tr>
<tr><td>Design System</td><td>Component library patterns, design tokens, and accessible component guidelines.</td></tr>
<tr><td>Web Severity Scoring</td><td>Consistent severity ratings for web accessibility issues (critical, serious, moderate, minor).</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Scanning Skills (5)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Scanning skills">
<thead><tr><th scope="col">Skill</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Document Scanning</td><td>Rules and patterns for Office, PDF, and EPUB document accessibility scanning.</td></tr>
<tr><td>Web Scanning</td><td>Patterns for axe-core integration, multi-page crawling, and result aggregation.</td></tr>
<tr><td>Markdown Accessibility</td><td>Rules for heading structure, alt text, link quality, tables, and readability in Markdown.</td></tr>
<tr><td>GitHub A11y Scanner</td><td>Integration with the <a href="https://github.com/github/accessibility-scanner" style="color:var(--ca-indigo-light);">GitHub Accessibility Scanner</a> Action for CI-based scanning, issue parsing, and Copilot fix tracking.</td></tr>
<tr><td>Lighthouse Scanner</td><td>Integration with Lighthouse CI for automated accessibility scoring, weight-to-severity mapping, and score regression tracking.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Reporting & Reference Skills (2)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Reporting and reference skills">
<thead><tr><th scope="col">Skill</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Report Generation</td><td>Severity scoring, VPAT/ACR export, scorecards, and CSV output formatting.</td></tr>
<tr><td>Help URL Reference</td><td>Curated links to WCAG documentation, techniques, and understanding documents.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>GitHub Skills (3)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="GitHub skills">
<thead><tr><th scope="col">Skill</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>GitHub Workflow Standards</td><td>PR review standards, issue management policies, and branching conventions.</td></tr>
<tr><td>GitHub Scanning</td><td>Repository health checks, security scanning patterns, and CI/CD integration.</td></tr>
<tr><td>GitHub Analytics Scoring</td><td>Metrics and scoring for repository health, contributor activity, and PR velocity.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Developer Skills (1)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Developer skills">
<thead><tr><th scope="col">Skill</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Python Development</td><td>Python and wxPython patterns, packaging (PyInstaller/Nuitka/cx_Freeze), testing, wxPython sizers/events/threading, and cross-platform paths.</td></tr>
</tbody>
</table>
</div>
</details>
</div>
</div>
</section>
<section id="prompts">
<div class="container">
<div class="section-header">
<h2>Ready-to-Use Prompts</h2>
<p>Don’t know where to start? Pick a prompt. 54 pre-built commands across four categories get you results immediately.</p>
</div>
<div class="accordion-group">
<details>
<summary>Web Accessibility Prompts (8)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Web accessibility prompts">
<thead><tr><th scope="col">Prompt</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Audit Web Page</td><td>Full WCAG 2.2 AA audit of a single web page.</td></tr>
<tr><td>Quick Web Check</td><td>Fast accessibility scan for the most critical issues.</td></tr>
<tr><td>Audit Multi-Page</td><td>Crawl and audit multiple pages across a site.</td></tr>
<tr><td>Compare Web Audits</td><td>Compare two audit results to track progress over time.</td></tr>
<tr><td>Fix Web Issues</td><td>Automatically apply fixes for discovered accessibility issues.</td></tr>
<tr><td>Export Web CSV</td><td>Export web audit results to a CSV spreadsheet.</td></tr>
<tr><td>Setup GitHub Scanner</td><td>Set up the <a href="https://github.com/github/accessibility-scanner" style="color:var(--ca-indigo-light);">GitHub Accessibility Scanner</a> in your repository with agent ecosystem integration.</td></tr>
<tr><td>Setup Lighthouse Scanner</td><td>Set up Lighthouse CI accessibility scanning in your repository with score tracking and regression alerts.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Document Accessibility Prompts (10)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Document accessibility prompts">
<thead><tr><th scope="col">Prompt</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Audit Single Document</td><td>Full accessibility audit of one Office or PDF document.</td></tr>
<tr><td>Audit Document Folder</td><td>Batch audit all documents in a folder with an aggregated scorecard.</td></tr>
<tr><td>Audit Changed Documents</td><td>Audit only documents that changed since last scan.</td></tr>
<tr><td>Quick Document Check</td><td>Fast scan for the most critical document accessibility issues.</td></tr>
<tr><td>Generate VPAT</td><td>Create a VPAT 2.5 Accessibility Conformance Report from audit results.</td></tr>
<tr><td>Generate Remediation Scripts</td><td>Generate automated fix scripts for discovered document issues.</td></tr>
<tr><td>Compare Audits</td><td>Compare before-and-after document audit results.</td></tr>
<tr><td>Setup Document CI/CD</td><td>Configure continuous accessibility checking for documents in your CI pipeline.</td></tr>
<tr><td>Create Accessible Template</td><td>Generate a new document template with accessibility best practices built in.</td></tr>
<tr><td>Export Document CSV</td><td>Export document audit results to a CSV spreadsheet.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>GitHub Workflow Prompts (31)</summary>
<div class="accordion-body">
<p>Organized by workflow area. Each prompt invokes the right agent and gets you results in one step.</p>
<table class="agent-table" aria-label="GitHub workflow prompts">
<thead><tr><th scope="col">Prompt</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Review PR</td><td>Accessibility-focused pull request review.</td></tr>
<tr><td>PR Report</td><td>Summary report of a pull request.</td></tr>
<tr><td>My PRs</td><td>List your open pull requests and their status.</td></tr>
<tr><td>PR Author Checklist</td><td>Pre-submission checklist for PR authors.</td></tr>
<tr><td>PR Comment</td><td>Add a formatted comment to a pull request.</td></tr>
<tr><td>Address Comments</td><td>Address review comments on your PR.</td></tr>
<tr><td>Manage Branches</td><td>List, create, or delete branches.</td></tr>
<tr><td>Merge PR</td><td>Merge a pull request with proper checks.</td></tr>
<tr><td>Explain Code</td><td>Get a plain-language explanation of code.</td></tr>
<tr><td>My Issues</td><td>List issues assigned to you.</td></tr>
<tr><td>Create Issue</td><td>Create a well-structured issue from a description.</td></tr>
<tr><td>Triage</td><td>Triage and label incoming issues.</td></tr>
<tr><td>Issue Reply</td><td>Draft a response to an issue comment.</td></tr>
<tr><td>Manage Issue</td><td>Update labels, assignees, and milestones on issues.</td></tr>
<tr><td>Refine Issue</td><td>Improve issue descriptions and acceptance criteria.</td></tr>
<tr><td>Project Status</td><td>Overview of project health and progress.</td></tr>
<tr><td>React</td><td>Add emoji reactions to issues or PRs.</td></tr>
<tr><td>Daily Briefing</td><td>Morning summary of overnight repo activity.</td></tr>
<tr><td>CI Status</td><td>Check CI pipeline status and recent failures.</td></tr>
<tr><td>Notifications</td><td>Review and manage your GitHub notifications.</td></tr>
<tr><td>Security Dashboard</td><td>Overview of security alerts and vulnerabilities.</td></tr>
<tr><td>Onboard Repo</td><td>Set up a new repository with best practices.</td></tr>
<tr><td>Draft Release</td><td>Create a release draft with changelog.</td></tr>
<tr><td>Release Prep</td><td>Pre-release checklist and preparation steps.</td></tr>
<tr><td>My Stats</td><td>Your personal contribution statistics.</td></tr>
<tr><td>Team Dashboard</td><td>Team-wide activity and performance metrics.</td></tr>
<tr><td>Sprint Review</td><td>Sprint retrospective and metrics summary.</td></tr>
<tr><td>A11y Update</td><td>Accessibility-specific project status update.</td></tr>
<tr><td>Add Collaborator</td><td>Add a contributor to the repository.</td></tr>
<tr><td>Build Template</td><td>Create reusable issue or PR templates.</td></tr>
<tr><td>Build A11y Template</td><td>Create accessibility-focused issue and PR templates.</td></tr>
</tbody>
</table>
</div>
</details>
<details>
<summary>Markdown Accessibility Prompts (5)</summary>
<div class="accordion-body">
<table class="agent-table" aria-label="Markdown accessibility prompts">
<thead><tr><th scope="col">Prompt</th><th scope="col">Description</th></tr></thead>
<tbody>
<tr><td>Audit Markdown</td><td>Full accessibility audit of Markdown documentation.</td></tr>
<tr><td>Quick Markdown Check</td><td>Fast scan for the most critical Markdown accessibility issues.</td></tr>
<tr><td>Fix Markdown Issues</td><td>Automatically apply fixes for Markdown accessibility issues.</td></tr>
<tr><td>Compare Markdown Audits</td><td>Compare before-and-after Markdown audit results.</td></tr>
<tr><td>Export Markdown CSV</td><td>Export Markdown audit results to a CSV spreadsheet.</td></tr>
</tbody>
</table>
</div>
</details>
</div>
</div>
</section>
<section id="tools" class="bg-alt">
<div class="container">
<div class="section-header">
<h2>Tools & Integrations</h2>
<p>The MCP server exposes 11 tools and 6 prompts that Claude Desktop can call directly. Every tool runs locally—no data leaves your machine.</p>
</div>
<div class="accordion-group" style="max-width: 52rem; margin: 0 auto 2rem;">
<details>
<summary>MCP Tools (11)</summary>
<table class="agent-table" aria-label="MCP tools">
<thead><tr><th scope="col">Tool</th><th scope="col">What It Does</th></tr></thead>
<tbody>
<tr><td>check_contrast</td><td>Calculates WCAG contrast ratio between two hex colors. Reports pass/fail for normal text (4.5:1), large text (3:1), and UI components (3:1).</td></tr>
<tr><td>get_accessibility_guidelines</td><td>Returns WCAG AA requirements, code examples, and common mistakes for a specific component type (modal, tabs, accordion, combobox, carousel, form, live-region, navigation, or general).</td></tr>
<tr><td>check_heading_structure</td><td>Analyzes HTML for heading hierarchy issues—single H1, skipped levels, and empty headings.</td></tr>
<tr><td>check_link_text</td><td>Scans HTML for ambiguous link text like “click here” or “read more”, URLs used as link text, repeated identical text, missing new-tab warnings, and links to non-HTML resources without file type indication.</td></tr>
<tr><td>check_form_labels</td><td>Checks that every input, select, and textarea has a programmatic label (via <label for>, aria-label, or aria-labelledby). Also checks required attributes, fieldset/legend grouping, and autocomplete on identity fields.</td></tr>
<tr><td>run_axe_scan</td><td>Runs <a href="https://github.com/dequelabs/axe-core" style="color:var(--ca-indigo-light);">axe-core</a> against a live URL (e.g. localhost). Returns WCAG 2.2 AA violations grouped by severity with affected elements and fix suggestions. Optionally writes a Markdown report.</td></tr>
<tr><td>generate_vpat</td><td>Generates a VPAT 2.5 / Accessibility Conformance Report (ACR) in Markdown from audit findings. Outputs per-criterion conformance levels and remarks.</td></tr>
<tr><td>scan_office_document</td><td>Scans .docx, .xlsx, or .pptx files using Microsoft Accessibility Checker rule sets. Supports configurable rules, severity filters, and SARIF output for CI.</td></tr>
<tr><td>scan_pdf_document</td><td>Scans PDF files against PDF/UA (Matterhorn Protocol) with checks for tagging, structure tree, language, alt text, bookmarks, and forms. Supports SARIF output.</td></tr>
<tr><td>extract_document_metadata</td><td>Extracts accessibility-relevant metadata (title, author, language, page count, accessibility property health) from Office or PDF files.</td></tr>
<tr><td>batch_scan_documents</td><td>Scans up to 50 Office and PDF files in a single call. Returns an aggregated summary with per-file results, cross-document patterns, and an overall accessibility scorecard.</td></tr>
</tbody>
</table>
</details>
<details>
<summary>MCP Prompts (6)</summary>
<table class="agent-table" aria-label="MCP prompts">
<thead><tr><th scope="col">Prompt</th><th scope="col">What It Does</th></tr></thead>
<tbody>
<tr><td>accessibility-audit</td><td>Runs a comprehensive audit covering structure, ARIA, keyboard navigation, contrast, focus management, and live regions.</td></tr>
<tr><td>aria-review</td><td>Reviews ARIA roles, states, and properties. Enforces the first rule of ARIA: don’t use it if native HTML works.</td></tr>
<tr><td>modal-review</td><td>Reviews a modal, dialog, drawer, or overlay for focus trapping, focus return, escape behavior, and heading structure.</td></tr>
<tr><td>contrast-review</td><td>Reviews color choices and CSS for WCAG AA contrast compliance, including dark mode and Tailwind utilities.</td></tr>
<tr><td>keyboard-review</td><td>Reviews keyboard accessibility: tab order, focus management, skip links, keyboard traps, and arrow-key patterns.</td></tr>
<tr><td>live-region-review</td><td>Reviews dynamic content for screen reader announcements: live regions, toasts, loading states, and form feedback.</td></tr>
</tbody>
</table>
</details>
</div>
<div class="features-grid" style="max-width: 52rem; margin: 0 auto;">
<div class="feature-card">
<h3>axe-core Integration</h3>
<p>The <code>run_axe_scan</code> tool calls <a href="https://github.com/dequelabs/axe-core" style="color:var(--ca-indigo-light);">axe-core</a> against any live URL. Results feed directly into agent audit reports and VPAT generation.</p>
</div>
<div class="feature-card">
<h3>VPAT 2.5 Generation</h3>
<p>The <code>generate_vpat</code> tool produces Accessibility Conformance Reports in Markdown—no spreadsheet required.</p>
</div>
<div class="feature-card">
<h3>Document Scanning</h3>
<p>Scan Office files (.docx, .xlsx, .pptx) and PDFs locally. Supports configurable rule sets, severity filters, and SARIF output for CI pipelines.</p>
</div>
<div class="feature-card">
<h3>CSV Export</h3>
<p>Export audit results from web, document, and Markdown scans to CSV for analysis in Excel, Google Sheets, or any data tool.</p>
</div>
</div>
</div>
</section>
<section id="projects">
<div class="container">
<div class="section-header">
<h2>Projects</h2>
<p>Open source tools, workshops, and resources from the Community Access organization.</p>
</div>
<div class="repo-card">
<div>
<h3>Community-Access/accessibility-agents</h3>
<p>57 accessibility agents, 17 skills, and 54 prompts for Claude Code, GitHub Copilot, Claude Desktop, Copilot CLI, Codex CLI, and Gemini CLI. Enforce WCAG 2.2 AA compliance so AI coding tools stop generating inaccessible code.</p>
<ul class="repo-meta">
<li>MIT License</li>
<li>57 agents</li>
<li>17 skills</li>
<li>54 prompts</li>
</ul>
</div>
<div class="repo-actions">
<a href="https://github.com/Community-Access/accessibility-agents" class="btn btn-primary">View Repository</a>
<a href="https://github.com/Community-Access/accessibility-agents/blob/main/docs/getting-started.md" class="btn btn-outline">Getting Started</a>
<a href="https://github.com/Community-Access/accessibility-agents/blob/main/docs/RESEARCH-SOURCES.md" class="btn btn-outline">Research Sources</a>
</div>
</div>
<p style="margin-top: 1.5rem; text-align: center;">
<a href="repos.html" class="btn btn-outline">Browse All Repositories</a>
</p>
</div>
</section>
<section id="install" class="bg-alt">
<div class="container">
<div class="section-header">
<h2>Install in One Command</h2>
<p>Works on macOS, Linux, and Windows. Installs all agents for every supported platform. Supports <code>--global</code>, <code>--project</code>, and <code>--copilot</code> flags.</p>
</div>
<div class="install-block">
<div class="install-label">macOS / Linux</div>
<code id="cmd-mac">curl -fsSL https://raw.githubusercontent.com/Community-Access/accessibility-agents/main/install.sh | bash</code>
<button class="copy-btn" aria-label="Copy macOS and Linux install command" data-target="cmd-mac">Copy</button>
</div>
<div class="install-block">
<div class="install-label">Windows (PowerShell)</div>
<code id="cmd-win">irm https://raw.githubusercontent.com/Community-Access/accessibility-agents/main/install.ps1 | iex</code>
<button class="copy-btn" aria-label="Copy Windows PowerShell install command" data-target="cmd-win">Copy</button>
</div>
<p style="text-align:center; margin-top:1.5rem; color:var(--ca-gray-700);">Safe, additive installation. Your existing files are never overwritten. Auto-update support included. <a href="https://github.com/Community-Access/accessibility-agents/blob/main/docs/getting-started.md" style="color:var(--ca-indigo);">Read the full guide.</a></p>
</div>
</section>
<section id="contribute" class="contribute-section">
<div class="container">