diff --git a/BATCH.md b/BATCH.md
index b0eb1044..f066e371 100644
--- a/BATCH.md
+++ b/BATCH.md
@@ -18,7 +18,7 @@ Run operations in this sequence for a full podcast build from scratch:
Validates the podcast catalog, builds episode and challenge bundles, then writes
all episode and challenge coach scripts to `podcasts\scripts\`.
-```
+```bat
generate-transcripts.bat
```
@@ -38,7 +38,7 @@ The script echoes each episode name and index as it is processed.
ffmpeg is required for MP3 output and is located automatically from the
machine PATH, including after a fresh winget install.
-```
+```text
generate-audio.bat generate all 75 episodes
generate-audio.bat 5 generate episodes 5 and above
generate-audio.bat 5 10 generate episodes 5 through 10
@@ -54,7 +54,7 @@ before running this command.
Generates the RSS 2.0 / iTunes-compatible podcast feed and the admin podcast listing.
Reads MP3 file sizes from `podcasts\audio\` and episode metadata from the catalog.
-```
+```bat
build-rss-feed.bat
```
@@ -70,7 +70,7 @@ reflect the final MP3 file sizes.
Runs local RSS 2.0 and iTunes compliance checks on `podcasts\feed.xml`.
-```
+```bat
validate-rss-feed.bat
```
@@ -114,7 +114,7 @@ a PowerShell or bash session at the repo root.
To pass a range to the audio build from npm:
-```
+```bash
npm run build:podcast-audio -- --start 5 --end 10
```
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7272e8d7..b886a619 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -100,7 +100,7 @@ git remote -v
Expected output:
-```
+```text
origin https://github.com/[your-username]/[workshop-repo-name].git (fetch)
origin https://github.com/[your-username]/[workshop-repo-name].git (push)
upstream https://github.com/[original-owner]/[workshop-repo-name].git (fetch)
@@ -164,7 +164,7 @@ which is not a term NVDA uses. Updated to match NVDA's own terminology."
**Commit message format:**
-```
+```text
type: short summary (under 72 characters)
Optional longer explanation of why the change was made, not just what
@@ -402,7 +402,7 @@ When you open a pull request, fill in the template that appears. If no template
### PR Title Format
-```
+```text
fix: correct JAWS shortcut for PR review in Section 3
docs: add alternative macOS exercise for Section 6
exercise: add bonus challenge for notifications day 2
diff --git a/README.md b/README.md
index 35aff1de..53076280 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@ You do **not** need to know how to code to participate and contribute meaningful
This is not a two-day course with two separate syllabi. It is one arc.
-```
+```text
Day 1 - Learn the skill in the browser
Navigate → Issue → Pull Request → Review → Merge
@@ -233,7 +233,7 @@ Every chapter has an "If You Get Stuck" section. Every challenge has a [referenc
> **One repository, everything included.** Clone or fork this repo and you have the complete workshop - all curriculum guides, Accessibility Agents agents and slash commands, YAML issue forms, PR template, and a practice contribution target in `learning-room/`. GitHub Skills modules cannot be bundled here (each participant activates their own copy on their own account), but links are in `.github/ISSUE_TEMPLATE/config.yml`.
-```
+```text
[repo root]/
├── README.md -- You are here
├── CONTRIBUTING.md -- How to contribute to this repo
diff --git a/admin/ACCESSIBILITY_TESTING.md b/admin/ACCESSIBILITY_TESTING.md
index f3a8a712..dba96894 100644
--- a/admin/ACCESSIBILITY_TESTING.md
+++ b/admin/ACCESSIBILITY_TESTING.md
@@ -49,7 +49,7 @@ Use before deploying any new issue template or form.
### NVDA Testing (Windows)
-```
+```text
1. Press NVDA+Space to enable browse mode on page
2. Press H to navigate to first heading
3. Use H repeatedly to scan all headings (should be H1 → H2 → H3, not jumps)
@@ -73,7 +73,7 @@ Use before deploying any new issue template or form.
### JAWS Testing (Windows)
-```
+```text
1. Press Spacebar to enter browse mode
2. Press Insert+F6 to open headings list
- Verify headings are in order (1 → 2 → 3, no jumps)
@@ -97,7 +97,7 @@ Use before deploying any new issue template or form.
### VoiceOver Testing (macOS)
-```
+```text
1. Press VO+U to open Web Rotor
2. Navigate to Form Controls section
- Should list all fields
@@ -275,7 +275,7 @@ Test WITHOUT using the mouse.
When you find an accessibility problem, document it:
-```
+```text
Title: [Accessibility] Form label missing on email field
Description:
diff --git a/admin/AGENTS_ROADMAP.md b/admin/AGENTS_ROADMAP.md
index f7db30f6..ca1e6c4a 100644
--- a/admin/AGENTS_ROADMAP.md
+++ b/admin/AGENTS_ROADMAP.md
@@ -57,7 +57,7 @@ This document tracks the curriculum's alignment with Accessibility Agents versio
**Example:**
-```
+```text
Version 4.x:
User: @aria-specialist audit this component
Agent: [Reports 3 ARIA errors]
@@ -75,7 +75,7 @@ Agent: [Returns remediated code for approval]
**Before (4.x):** No automated compliance reporting.
**Now (5.0.0+):** Generate VPAT and compliance reports automatically.
-```
+```text
User: @document-csv-reporter generate-vpat audit-findings.json
Agent: [Exports findings mapped to WCAG 2.2 AA and Section 508]
Agent: [Generates VPAT template with compliance assertions]
@@ -89,7 +89,7 @@ Output: compliance-report.xlsx
**Capability:**
-```
+```text
Hook configuration:
{
"name": "continuous-eval",
@@ -265,7 +265,7 @@ Output: Trend report showing score changes week-over-week
### Three Teams, 80 Agents, 5 Platforms
-```
+```text
Accessibility Agents 5.0.0
├── Team 1: Accessibility (40 agents)
│ ├── Web (26): Specialists, wizards, coaches
diff --git a/admin/CURRICULUM_2.0_ORGANIZATION.md b/admin/CURRICULUM_2.0_ORGANIZATION.md
index 5cabb8b3..5c2e87ae 100644
--- a/admin/CURRICULUM_2.0_ORGANIZATION.md
+++ b/admin/CURRICULUM_2.0_ORGANIZATION.md
@@ -12,22 +12,22 @@
| File | Type | Size | Status |
|------|------|------|--------|
-| `docs/appendix-aa-agent-installation-setup.md` | Reference guide | 1,200+ words | ✅ Complete |
-| `docs/appendix-ab-advanced-agent-patterns.md` | Reference guide | 1,500+ words | ✅ Complete |
-| `docs/appendix-ac-document-developer-tools.md` | Reference guide | 1,200+ words | ✅ Complete |
-| `admin/AGENTS_ROADMAP.md` | Admin reference | 800+ words | ✅ Complete |
+| `docs/appendix-aa-agent-installation-setup.md` | Reference guide | 1,200+ words | Complete |
+| `docs/appendix-ab-advanced-agent-patterns.md` | Reference guide | 1,500+ words | Complete |
+| `docs/appendix-ac-document-developer-tools.md` | Reference guide | 1,200+ words | Complete |
+| `admin/AGENTS_ROADMAP.md` | Admin reference | 800+ words | Complete |
### Existing Files Modified (7)
| File | Changes | Status |
|------|---------|--------|
-| `docs/00-pre-workshop-setup.md` | Added version requirements table | ✅ Complete |
-| `docs/19-accessibility-agents.md` | Expanded intro, added section 3A, updated prerequisites | ✅ Complete |
-| `docs/appendix-k-copilot-reference.md` | Added MCP Server section 4B | ✅ Complete |
-| `docs/appendix-l-agents-reference.md` | Expanded to 80 agents, added skills, updated platforms | ✅ Complete |
-| `.github/copilot-instructions.md` | Added agents-specific guidance section | ✅ Complete |
-| `https://lp.csedesigns.com/ggg/PODCASTS.html` | Added episodes 41-43, regeneration notes | ✅ Complete |
-| `admin/AGENTS_ROADMAP.md` | NEW file for agents tracking | ✅ Complete |
+| `docs/00-pre-workshop-setup.md` | Added version requirements table | Complete |
+| `docs/19-accessibility-agents.md` | Expanded intro, added section 3A, updated prerequisites | Complete |
+| `docs/appendix-k-copilot-reference.md` | Added MCP Server section 4B | Complete |
+| `docs/appendix-l-agents-reference.md` | Expanded to 80 agents, added skills, updated platforms | Complete |
+| `.github/copilot-instructions.md` | Added agents-specific guidance section | Complete |
+| `https://lp.csedesigns.com/ggg/PODCASTS.html` | Added episodes 41-43, regeneration notes | Complete |
+| `admin/AGENTS_ROADMAP.md` | NEW file for agents tracking | Complete |
**Total new content:** ~7,600 words | **Total files touched:** 11
@@ -39,27 +39,27 @@
**Links OUT to:**
-- ✅ [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "All 80 agents organized by team"
-- ✅ [Appendix K: Copilot Reference](../docs/appendix-k-copilot-reference.md) - "Platform features and MCP"
-- ✅ [Appendix M: Accessibility Standards](../docs/appendix-m-accessibility-standards.md) - "WCAG 2.2 AA reference" (existing)
-- ✅ [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Platform-specific installation guide (NEW)"
-- ✅ [Appendix AB: Advanced Patterns](../docs/appendix-ab-advanced-agent-patterns.md) - "Subagents, hooks, skills (NEW)"
-- ✅ [Appendix AC: Document & Developer Tools](../docs/appendix-ac-document-developer-tools.md) - "Specialized agents (NEW)"
-- ✅ [admin/AGENTS_ROADMAP.md](admin/AGENTS_ROADMAP.md) - "Version history and learning pathways (NEW)"
+- [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "All 80 agents organized by team"
+- [Appendix K: Copilot Reference](../docs/appendix-k-copilot-reference.md) - "Platform features and MCP"
+- [Appendix M: Accessibility Standards](../docs/appendix-m-accessibility-standards.md) - "WCAG 2.2 AA reference" (existing)
+- [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Platform-specific installation guide (NEW)"
+- [Appendix AB: Advanced Patterns](../docs/appendix-ab-advanced-agent-patterns.md) - "Subagents, hooks, skills (NEW)"
+- [Appendix AC: Document & Developer Tools](../docs/appendix-ac-document-developer-tools.md) - "Specialized agents (NEW)"
+- [admin/AGENTS_ROADMAP.md](admin/AGENTS_ROADMAP.md) - "Version history and learning pathways (NEW)"
**Section 3A content includes:**
-- ✅ Platform comparison table (5 platforms)
-- ✅ Links to installation guide per platform
-- ✅ Decision tree for platform selection
-- ✅ Screen reader/low vision/keyboard guidance
+- Platform comparison table (5 platforms)
+- Links to installation guide per platform
+- Decision tree for platform selection
+- Screen reader/low vision/keyboard guidance
**Learning cards include:**
-- ✅ Screen reader workflow
-- ✅ Low vision workflow
-- ✅ Keyboard-only workflow
-- ✅ Sighted mouse workflow
+- Screen reader workflow
+- Low vision workflow
+- Keyboard-only workflow
+- Sighted mouse workflow
---
@@ -67,17 +67,17 @@
**Links OUT to:**
-- ✅ [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Agent list and capabilities"
-- ✅ [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Platform-specific setup"
-- ✅ [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent introduction"
-- ✅ [admin/AGENTS_ROADMAP.md](admin/AGENTS_ROADMAP.md) - "Version tracking"
+- [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Agent list and capabilities"
+- [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Platform-specific setup"
+- [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent introduction"
+- [admin/AGENTS_ROADMAP.md](admin/AGENTS_ROADMAP.md) - "Version tracking"
**New Section 4B (MCP Servers) includes:**
-- ✅ 30+ tools organized by category (web, document, markdown, compliance, CI/CD)
-- ✅ Usage examples for each platform
-- ✅ GitHub Actions CI/CD example with YAML
-- ✅ Learning cards for all audience types
+- 30+ tools organized by category (web, document, markdown, compliance, CI/CD)
+- Usage examples for each platform
+- GitHub Actions CI/CD example with YAML
+- Learning cards for all audience types
---
@@ -85,19 +85,19 @@
**Links OUT to:**
-- ✅ [Appendix K: Copilot Reference](../docs/appendix-k-copilot-reference.md) - "Copilot features"
-- ✅ [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agents introduction"
-- ✅ [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Getting started"
-- ✅ [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Canonical source for 80 agents"
+- [Appendix K: Copilot Reference](../docs/appendix-k-copilot-reference.md) - "Copilot features"
+- [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agents introduction"
+- [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Getting started"
+- [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Canonical source for 80 agents"
**Updated tables include:**
-- ✅ Team 1: 40 agents (26 web + 14 document)
-- ✅ Team 2: 20 agents (GitHub Workflow)
-- ✅ Team 3: 18 agents (Developer Tools)
-- ✅ Platforms table with "When to Use" column
-- ✅ Skills section (25+ bundled skills)
-- ✅ MCP tools section (30+ tools)
+- Team 1: 40 agents (26 web + 14 document)
+- Team 2: 20 agents (GitHub Workflow)
+- Team 3: 18 agents (Developer Tools)
+- Platforms table with "When to Use" column
+- Skills section (25+ bundled skills)
+- MCP tools section (30+ tools)
---
@@ -105,24 +105,24 @@
**Links OUT to:**
-- ✅ [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "All agents"
-- ✅ [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent overview"
-- ✅ [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Official source"
+- [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "All agents"
+- [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent overview"
+- [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Official source"
**Platform-specific sections cover:**
-- ✅ GitHub Copilot (VS Code) - section with detailed steps
-- ✅ Claude Code - section with CLI setup
-- ✅ Gemini CLI - section with free tier info
-- ✅ Claude Desktop - section with MCP configuration
-- ✅ Codex CLI - section with TOML setup
+- GitHub Copilot (VS Code) - section with detailed steps
+- Claude Code - section with CLI setup
+- Gemini CLI - section with free tier info
+- Claude Desktop - section with MCP configuration
+- Codex CLI - section with TOML setup
**Cross-platform guidance includes:**
-- ✅ System requirements table
-- ✅ Version checking commands
-- ✅ Troubleshooting by platform
-- ✅ Learning cards (SR/LV/keyboard/sighted)
+- System requirements table
+- Version checking commands
+- Troubleshooting by platform
+- Learning cards (SR/LV/keyboard/sighted)
---
@@ -130,20 +130,20 @@
**Links OUT to:**
-- ✅ [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Agent list"
-- ✅ [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Setup reference"
-- ✅ [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent context"
-- ✅ [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Source for skills and hooks"
+- [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Agent list"
+- [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Setup reference"
+- [Chapter 19: Accessibility Agents](../docs/19-accessibility-agents.md) - "Agent context"
+- [Accessibility Agents Repository](https://github.com/Community-Access/accessibility-agents) - "Source for skills and hooks"
**Advanced topics covered:**
-- ✅ Subagent delegation with examples
-- ✅ Skills (25+ library overview)
-- ✅ Hooks (lifecycle automation) with JSON examples
-- ✅ Browser tools catalog
-- ✅ Orchestration patterns
-- ✅ Custom skills authoring
-- ✅ Continuous evaluation setup
+- Subagent delegation with examples
+- Skills (25+ library overview)
+- Hooks (lifecycle automation) with JSON examples
+- Browser tools catalog
+- Orchestration patterns
+- Custom skills authoring
+- Continuous evaluation setup
---
@@ -151,19 +151,19 @@
**Links OUT to:**
-- ✅ [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Complete agent list"
-- ✅ [Appendix AB: Advanced Patterns](../docs/appendix-ab-advanced-agent-patterns.md) - "Advanced techniques"
-- ✅ [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Setup guide"
+- [Appendix L: Agents Reference](../docs/appendix-l-agents-reference.md) - "Complete agent list"
+- [Appendix AB: Advanced Patterns](../docs/appendix-ab-advanced-agent-patterns.md) - "Advanced techniques"
+- [Appendix AA: Installation & Setup](../docs/appendix-aa-agent-installation-setup.md) - "Setup guide"
**Specialized content covers:**
-- ✅ 15 document agents (Word, Excel, PowerPoint, PDF, EPUB)
-- ✅ Office accessibility patterns with common issues/fixes
-- ✅ PDF/UA standard compliance
-- ✅ 8 developer tools agents (Python, wxPython, CI/CD, desktop)
-- ✅ Code examples for accessible Python and wxPython
-- ✅ NVDA add-on development overview
-- ✅ CI/CD accessibility integration
+- 15 document agents (Word, Excel, PowerPoint, PDF, EPUB)
+- Office accessibility patterns with common issues/fixes
+- PDF/UA standard compliance
+- 8 developer tools agents (Python, wxPython, CI/CD, desktop)
+- Code examples for accessible Python and wxPython
+- NVDA add-on development overview
+- CI/CD accessibility integration
---
@@ -171,10 +171,10 @@
**New section: Version Requirements**
-- ✅ Minimum versions table (VS Code 1.113+, Node.js v18+, Git v2.20+)
-- ✅ Version checking commands
-- ✅ Links to [Appendix AA: Installation](../docs/appendix-aa-agent-installation-setup.md)
-- ✅ Explains agents are optional (Day 2 extension)
+- Minimum versions table (VS Code 1.113+, Node.js v18+, Git v2.20+)
+- Version checking commands
+- Links to [Appendix AA: Installation](../docs/appendix-aa-agent-installation-setup.md)
+- Explains agents are optional (Day 2 extension)
---
@@ -182,15 +182,15 @@
**New section: Agents & Accessibility Patterns**
-- ✅ Agent reference formatting rules (`` `@agent-name` ``)
-- ✅ Platform support documentation requirements
-- ✅ Prerequisite clarity guidelines
-- ✅ Multi-workflow documentation pattern (SR/LV/keyboard/sighted)
-- ✅ Skill-first principle preservation
-- ✅ Podcast regeneration tracking
-- ✅ Cross-platform considerations
-- ✅ Common mistakes table
-- ✅ References section with links to all appendices
+- Agent reference formatting rules (`` `@agent-name` ``)
+- Platform support documentation requirements
+- Prerequisite clarity guidelines
+- Multi-workflow documentation pattern (SR/LV/keyboard/sighted)
+- Skill-first principle preservation
+- Podcast regeneration tracking
+- Cross-platform considerations
+- Common mistakes table
+- References section with links to all appendices
---
@@ -198,12 +198,12 @@
**New sections added:**
-- ✅ Episodes 41-43: Agents content (new appendices AA, AB, AC)
-- ✅ Episodes pending regeneration (17, 39, 40)
-- ✅ Recording checklist for all episodes
-- ✅ Production notes for recording team
-- ✅ Quality assurance checklist
-- ✅ Alex & Jamie style guide reference
+- Episodes 41-43: Agents content (new appendices AA, AB, AC)
+- Episodes pending regeneration (17, 39, 40)
+- Recording checklist for all episodes
+- Production notes for recording team
+- Quality assurance checklist
+- Alex & Jamie style guide reference
---
@@ -211,14 +211,14 @@
**Organization reference includes:**
-- ✅ Version alignment table (Curriculum 2.0 ↔ Agents 5.0.0+)
-- ✅ Capability matrix (8 features in 5.0+)
-- ✅ Key transitions (4.x → 5.0.0)
-- ✅ 4 learning pathways (Web, Document, Developer Tools, Multi-Platform)
-- ✅ Contribution guidance for facilitators
-- ✅ Infrastructure overview (80 agents, 5 platforms, 25+ skills)
-- ✅ Roadmap for future versions
-- ✅ Maintenance tasks by semester
+- Version alignment table (Curriculum 2.0 with Agents 5.0.0+)
+- Capability matrix (8 features in 5.0+)
+- Key transitions (4.x → 5.0.0)
+- 4 learning pathways (Web, Document, Developer Tools, Multi-Platform)
+- Contribution guidance for facilitators
+- Infrastructure overview (80 agents, 5 platforms, 25+ skills)
+- Roadmap for future versions
+- Maintenance tasks by semester
---
@@ -296,22 +296,22 @@ All new files include **learning cards** with four workflow perspectives:
| Workflow | Included in All New Files | Example |
|----------|--------------------------|---------|
-| Screen reader users | ✅ | "Use `H` key to navigate section headings" |
-| Low vision users | ✅ | "Zoom in on the table independently with Ctrl+=" |
-| Keyboard-only users | ✅ | "Tab through controls; use Enter to activate" |
-| Sighted users | ✅ | "Use visual hierarchy to scan sections quickly" |
+| Screen reader users | Yes | "Use `H` key to navigate section headings" |
+| Low vision users | Yes | "Zoom in on the table independently with Ctrl+=" |
+| Keyboard-only users | Yes | "Tab through controls; use Enter to activate" |
+| Sighted users | Yes | "Use visual hierarchy to scan sections quickly" |
**Validation status:**
-- ✅ Appendix AA: 4 learning cards (SR, LV, Keyboard, Sighted)
-- ✅ Appendix AB: 3 learning cards (SR, LV, Sighted) + workflow diagrams
-- ✅ Appendix AC: 3 learning cards (SR, LV, Sighted) + tables
-- ✅ Chapter 19 Section 3A: Platform-specific accessibility notes
-- ✅ Chapter 0: Version requirements clearly stated
+- Appendix AA: 4 learning cards (SR, LV, Keyboard, Sighted)
+- Appendix AB: 3 learning cards (SR, LV, Sighted) + workflow diagrams
+- Appendix AC: 3 learning cards (SR, LV, Sighted) + tables
+- Chapter 19 Section 3A: Platform-specific accessibility notes
+- Chapter 0: Version requirements clearly stated
-**No emojis used:** ✅ All files (consistent with curriculum style)
+**No emojis used:** Yes, all files (consistent with curriculum style)
-**Descriptive links throughout:** ✅ All cross-references specific and tested
+**Descriptive links throughout:** Yes, all cross-references specific and tested
---
@@ -335,11 +335,11 @@ All new files include **learning cards** with four workflow perspectives:
**Recording prerequisites met:**
-- ✅ All content written and formatted
-- ✅ Alex & Jamie style guide available (PODCASTS.md)
-- ✅ Learning cards prepared for each episode
-- ✅ Production checklist ready ()
-- ✅ Quality assurance steps documented
+- All content written and formatted
+- Alex & Jamie style guide available (PODCASTS.md)
+- Learning cards prepared for each episode
+- Production checklist ready ()
+- Quality assurance steps documented
---
@@ -390,12 +390,12 @@ All new files include **learning cards** with four workflow perspectives:
| Podcast episodes new/regenerated | 6 (3 new + 3 regenerated) |
| Estimated podcast recording time | 120+ minutes |
| Cross-references verified | 100% |
-| Accessibility validation | ✅ Complete (SR, LV, keyboard, sighted) |
-| No emojis used | ✅ Confirmed |
+| Accessibility validation | Complete (SR, LV, keyboard, sighted) |
+| No emojis used | Confirmed |
---
-**All Priority 1-5 tasks complete. Curriculum 2.0 ready for production.** ✅
+**All Priority 1-5 tasks complete. Curriculum 2.0 ready for production.**
## Authoritative Sources
diff --git a/admin/DAY2_AGENDA.md b/admin/DAY2_AGENDA.md
index 774e7db3..b7ec7e77 100644
--- a/admin/DAY2_AGENDA.md
+++ b/admin/DAY2_AGENDA.md
@@ -437,7 +437,7 @@ If you did not finish your commit during Block 2, use the first 15 minutes of th
Before opening the PR, run through this with your screen reader:
-```
+```text
□ My branch has a clear descriptive name (feature/, fix/, or docs/)
□ I committed with a clear, present-tense message
□ I read my changes back using VS Code's diff view (Ctrl+Shift+G → select file)
diff --git a/admin/FACILITATOR_CHALLENGES.md b/admin/FACILITATOR_CHALLENGES.md
index 03520ebf..31947faf 100644
--- a/admin/FACILITATOR_CHALLENGES.md
+++ b/admin/FACILITATOR_CHALLENGES.md
@@ -182,13 +182,13 @@ The Progression Bot applies these labels to each challenge issue it creates:
### Issue Title Convention
-```
+```text
Challenge [NUMBER]: [Title]
```
Examples:
-```
+```text
Challenge 1: Find Your Way Around
Challenge 7: Resolve a Merge Conflict
Challenge 16: Build Your Agent
diff --git a/admin/FACILITATOR_GUIDE.md b/admin/FACILITATOR_GUIDE.md
index 41e59cf5..61d79c50 100644
--- a/admin/FACILITATOR_GUIDE.md
+++ b/admin/FACILITATOR_GUIDE.md
@@ -6,11 +6,11 @@ This is your comprehensive guide to facilitate a two-day GitHub workshop. It cov
---
-## 🎯 Quick Navigation
+## Quick Navigation
-- **Just starting?** → Go to [GitHub Classroom Setup](#-github-classroom-setup-before-day-1)
-- **Workshop is tomorrow?** → Go to [Pre-Workshop Checklist](#-pre-workshop-checklist-48-hours-before)
-- **Workshop is happening now?** → Go to [Live Workshop Operations](#-day-1-live-operations)
+- **Just starting?** → Go to [GitHub Classroom Setup](#github-classroom-setup-before-day-1)
+- **Workshop is tomorrow?** → Go to [Pre-Workshop Checklist](#pre-workshop-checklist-48-hours-before)
+- **Workshop is happening now?** → Go to [Live Workshop Operations](#day-1-live-operations)
- **Student got stuck?** → Go to [Troubleshooting Guide](FACILITATOR_CLASSROOM_TROUBLESHOOTING.md)
- **Need hands-on details?** → Go to [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md)
@@ -36,7 +36,7 @@ This is your comprehensive guide to facilitate a two-day GitHub workshop. It cov
---
-## 👥 Your Facilitation Team
+## Your Facilitation Team
This workshop is designed for **2 co-facilitators** who can split roles:
@@ -51,9 +51,9 @@ If you're solo:
---
-## 🚀 GitHub Classroom Setup (Before Day 1)
+## GitHub Classroom Setup (Before Day 1)
-This section is for someone (probably you!) setting up GitHub Classroom for the first time. If your Classroom is already configured, skip to [Pre-Workshop Checklist](#-pre-workshop-checklist-48-hours-before).
+This section is for someone (probably you!) setting up GitHub Classroom for the first time. If your Classroom is already configured, skip to [Pre-Workshop Checklist](#pre-workshop-checklist-48-hours-before).
### What is GitHub Classroom?
@@ -124,9 +124,9 @@ Save both invite links in a safe place (notes, email yourself, password manager)
- Merging closes the issue
- Next challenge issue appears
-If anything is missing, see [Troubleshooting GitHub Classroom Setup](#troubleshooting-github-classroom-setup) below.
+If anything is missing, see [Known Gotchas](#known-gotchas) below.
-### ⚠️ Known Gotchas
+### Known Gotchas
**"The invite link isn't working"**
@@ -154,7 +154,7 @@ If anything is missing, see [Troubleshooting GitHub Classroom Setup](#troublesho
---
-## 📋 Pre-Workshop Checklist (48 Hours Before)
+## Pre-Workshop Checklist (48 Hours Before)
You have two days until the workshop. Use this checklist:
@@ -198,11 +198,11 @@ You have two days until the workshop. Use this checklist:
- Video call has tech issues (phone dial-in number active)
- Bot stops working (you'll manually review PRs)
- Key facilitator unavailable (co-facilitator can lead)
-- [ ] Coffee/water ready 😄
+- [ ] Coffee/water ready
---
-## ✨ Day 1: Live Operations
+## Day 1: Live Operations
This section covers what you and your co-facilitator do during Day 1.
@@ -341,7 +341,7 @@ When you notice something:
- Comment if needed: "Looking good! I see the bot asked you to [X]. Give that a try!"
3. **Student merged a PR** → Celebrate publicly:
- > "🎉 Awesome work @student! You just merged your first pull request! That's huge."
+ > "Awesome work @student! You just merged your first pull request! That's huge."
4. **Gandalf bot gave confusing feedback** → Translate it:
> "I see Gandalf's feedback. Let me explain what it means: [plain language explanation]. Try [specific fix]."
@@ -438,7 +438,7 @@ Pull from the Classroom dashboard:
---
-## 🎉 Day 2: Deeper Skills and Celebration
+## Day 2: Deeper Skills and Celebration
### Hour 1: Recap and Momentum (30 min)
@@ -498,7 +498,7 @@ Pull from the Classroom dashboard:
1. Assign pairs: "Student A, you review Student B's PR. Student B, you'll review Student C's. Etc."
2. Give them a template for feedback:
- ```
+ ```text
- What I liked about this PR: [specific thing]
- One question I have: [genuine question]
- One suggestion: [improvement idea]
@@ -643,7 +643,7 @@ Point to:
---
-## 📊 Post-Workshop Tasks (Week After)
+## Post-Workshop Tasks (Week After)
### Day 3 (Next Day)
@@ -685,7 +685,7 @@ Point to:
---
-## 🆘 Quick Troubleshooting Reference
+## Quick Troubleshooting Reference
### During Workshop
@@ -716,7 +716,7 @@ For more, see [FACILITATOR_CLASSROOM_TROUBLESHOOTING.md](FACILITATOR_CLASSROOM_T
---
-## 📚 Appendices
+## Appendices
### Appendix A: Facilitator Communication Templates
@@ -813,7 +813,7 @@ Subject: Your GitHub Workshop Starts Tomorrow!
*These are used in each challenge issue. Paste them into challenge issues to guide stuck students:*
**For editing challenges:**
-> If you get stuck: Look for the pencil icon (✏️) to edit the file. Type your change, then scroll down and click "Propose changes."
+> If you get stuck: Select the pencil icon, the "Edit this file" button, to edit the file. Type your change, then scroll down and click "Propose changes."
**For PR challenges:**
> If you get stuck: Don't refresh the page yet! GitHub is still processing. Wait 30 seconds. If still nothing, paste this link in chat: [direct link to PR]
@@ -826,7 +826,7 @@ Subject: Your GitHub Workshop Starts Tomorrow!
---
-## 💡 Philosophy and Final Thoughts
+## Philosophy and Final Thoughts
This workshop succeeds because of **you** — the facilitator. Here's what you bring:
@@ -845,13 +845,13 @@ That's the real goal. Everything else follows from that.
---
-## 📞 Need Help?
+## Need Help?
If something goes wrong:
1. **Automation failing?** → See [FACILITATOR_CLASSROOM_TROUBLESHOOTING.md](FACILITATOR_CLASSROOM_TROUBLESHOOTING.md)
2. **Student having issues?** → See [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md)
-3. **Setting up for first time?** → Scroll back to [GitHub Classroom Setup](#-github-classroom-setup-before-day-1)
+3. **Setting up for first time?** → Scroll back to [GitHub Classroom Setup](#github-classroom-setup-before-day-1)
4. **Can't find what you need?** → Email or ping us — we'll help and update this guide
---
@@ -870,15 +870,15 @@ Use these official references when you need the current source of truth for fact
Use this map to verify facts for each major section in this file.
- **Running GitHub Classroom Workshops for Blind and Low-Vision Students:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [About Git](https://docs.github.com/en/get-started/using-git/about-git), [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow), [About pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
-- **🎯 Quick Navigation:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Quick Navigation:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
- **About This Workshop:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **👥 Your Facilitation Team:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🚀 GitHub Classroom Setup (Before Day 1):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [About Git](https://docs.github.com/en/get-started/using-git/about-git), [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow), [About pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
-- **📋 Pre-Workshop Checklist (48 Hours Before):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **✨ Day 1: Live Operations:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🎉 Day 2: Deeper Skills and Celebration:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [GitHub Skills catalog](https://skills.github.com/), [GitHub Learning Pathways](https://resources.github.com/learn/pathways/)
-- **📊 Post-Workshop Tasks (Week After):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🆘 Quick Troubleshooting Reference:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **📚 Appendices:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **💡 Philosophy and Final Thoughts:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **📞 Need Help?:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Your Facilitation Team:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **GitHub Classroom Setup (Before Day 1):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [About Git](https://docs.github.com/en/get-started/using-git/about-git), [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow), [About pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
+- **Pre-Workshop Checklist (48 Hours Before):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Day 1: Live Operations:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Day 2: Deeper Skills and Celebration:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [GitHub Skills catalog](https://skills.github.com/), [GitHub Learning Pathways](https://resources.github.com/learn/pathways/)
+- **Post-Workshop Tasks (Week After):** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Quick Troubleshooting Reference:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Appendices:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Philosophy and Final Thoughts:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Need Help?:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
diff --git a/admin/FACILITATOR_OPERATIONS.md b/admin/FACILITATOR_OPERATIONS.md
index 0026428d..027fc1e6 100644
--- a/admin/FACILITATOR_OPERATIONS.md
+++ b/admin/FACILITATOR_OPERATIONS.md
@@ -86,8 +86,8 @@ Ask GitHub or chat platform to notify you of:
1. **Welcome message to chat:**
- ```
- Welcome to the GitHub Workshop! 👋
+ ```text
+ Welcome to the GitHub Workshop!
If you can see this message, you're connected.
Video or audio-only? Both are fine.
Screen reader users: All of GitHub.com is accessible.
@@ -139,7 +139,7 @@ Ask GitHub or chat platform to notify you of:
In chat, post:
-```
+```text
Here's your Day 1 invite link:
[PASTE YOUR INVITE LINK]
@@ -157,7 +157,7 @@ Accept and GitHub creates your repo.
In chat as things happen:
-```
+```text
Great! I see people accepting the invite.
You should now be in your private repo.
Look for "Challenge 1" in your Issues tab.
@@ -183,7 +183,7 @@ Wait until 70%+ have said they see Challenge 1 before moving forward.
1. **Open your test repo on screen**
2. **Narrate what you're doing:**
- ```
+ ```text
"I'm going to show you what Challenge 1 looks like.
I'm clicking the Issues tab...
I see Challenge 1 here...
@@ -219,7 +219,7 @@ Wait for confirmations. Help anyone who sees something different.
> I need to edit a file called [filename]. Let me look in the file list... there it is.
>
> **Step 3: Click edit**
-> I'm clicking the pencil icon (✏️) to edit the file.
+> I'm selecting the pencil icon, the "Edit this file" button, to edit the file.
>
> **Step 4: Make my change**
> [Type while narrating] I'm adding this text... done.
@@ -312,7 +312,7 @@ Answer a few questions, then:
- First merges happening
- New challenges appearing
-- Celebrate: "🎉 @student1 just merged their first PR! Nice work!"
+- Celebrate: "@student1 just merged their first PR! Nice work!"
**60-120 min:**
@@ -338,7 +338,7 @@ Answer a few questions, then:
|---|---|
| "I'm stuck" | "Tell me what challenge you're on and what's confusing." (Then see troubleshooting guide) |
| "Is this right?" | "What did you create? Show me a link." (Then validate) |
-| "I merged!" | "🎉 Awesome! You just merged your first PR! That's huge!" |
+| "I merged!" | "Awesome! You just merged your first PR! That's huge!" |
| "What's next?" | "Your next challenge should appear soon. Refresh your Issues. If not, let me know!" |
| "Is [technology] important?" | "Great question! [Short answer]. Let's talk more after this challenge." |
| "My screen reader glitched" | "Which screen reader? What glitched? Let's fix it." (Then escalate if needed) |
diff --git a/admin/FACILITATOR_RESOURCES.md b/admin/FACILITATOR_RESOURCES.md
index 6330e1d5..271656a3 100644
--- a/admin/FACILITATOR_RESOURCES.md
+++ b/admin/FACILITATOR_RESOURCES.md
@@ -6,21 +6,21 @@ Welcome, facilitator! This page helps you navigate all the documentation for run
---
-## 🎯 Start Here Based on Your Situation
+## Start Here Based on Your Situation
### "I've Never Run This Workshop Before"
→ Read in this order:
-1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-github-classroom-setup-before-day-1) — GitHub Classroom Setup section
-2. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before) — Pre-Workshop Checklist
+1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#github-classroom-setup-before-day-1) — GitHub Classroom Setup section
+2. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before) — Pre-Workshop Checklist
3. [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md) — For hands-on procedures
### "Workshop Is Tomorrow"
→ Quick tasks:
-1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before) — Pre-Workshop Checklist (all boxes)
+1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before) — Pre-Workshop Checklist (all boxes)
2. [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md#pre-workshop-setup-3-hours-before) — 3-Hour Prep
3. [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md#starting-day-1-15-minutes-before-call-starts) — Day-Of Checklist
@@ -43,18 +43,18 @@ Welcome, facilitator! This page helps you navigate all the documentation for run
→ Check:
- [FACILITATOR_CLASSROOM_TROUBLESHOOTING.md](FACILITATOR_CLASSROOM_TROUBLESHOOTING.md#-emergency-what-to-do-when-everything-stops-working) — Emergency protocols
-- Then [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-quick-troubleshooting-reference) — Quick reference
+- Then [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#quick-troubleshooting-reference) — Quick reference
### "Workshop Just Ended, What's Next?"
→ See:
-- [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-post-workshop-tasks-week-after) — Post-workshop tasks
+- [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#post-workshop-tasks-week-after) — Post-workshop tasks
- [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md#post-workshop-operations) — Detailed post-workshop procedures
---
-## 📚 Complete Resource Reference
+## Complete Resource Reference
### Primary Documents
@@ -159,17 +159,17 @@ Assessment rubric and grading guidance (brief reference).
---
-## 🎓 Typical Workflow
+## Typical Workflow
### Weeks 1-2 Before Workshop
-1. Read [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-github-classroom-setup-before-day-1) GitHub Classroom Setup
+1. Read [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#github-classroom-setup-before-day-1) GitHub Classroom Setup
2. Create your GitHub Classroom and assignments
-3. Follow setup checklist in [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before)
+3. Follow setup checklist in [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before)
### 48 Hours Before
-1. Complete [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before) checklist
+1. Complete [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before) checklist
2. Test everything one more time
3. Read [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md) overview
@@ -183,22 +183,22 @@ Assessment rubric and grading guidance (brief reference).
1. Follow [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md) hour-by-hour
2. Keep [FACILITATOR_CLASSROOM_TROUBLESHOOTING.md](FACILITATOR_CLASSROOM_TROUBLESHOOTING.md) open in another tab
-3. Reference [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-day-1-live-operations) for overview
+3. Reference [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#day-1-live-operations) for overview
### Day 2 During
-1. Same as Day 1, but reference [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-day-2-deeper-skills-and-celebration) Day 2 section
+1. Same as Day 1, but reference [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#day-2-deeper-skills-and-celebration) Day 2 section
2. Be ready for harder scenarios and more independence from students
### After Workshop
-1. Follow [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-post-workshop-tasks-week-after) post-workshop tasks
+1. Follow [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#post-workshop-tasks-week-after) post-workshop tasks
2. Note what worked and what didn't
3. Update this guide for next time
---
-## 🔧 How to Use These Documents
+## How to Use These Documents
### During Workshop: Have These Open
@@ -237,7 +237,7 @@ Then search for:
---
-## 📊 Document Overview at a Glance
+## Document Overview at a Glance
| Document | Purpose | Length | Best For |
|----------|---------|--------|----------|
@@ -249,7 +249,7 @@ Then search for:
---
-## 🎯 Key Principles Across All Documents
+## Key Principles Across All Documents
These principles appear repeatedly because they're **that important**:
@@ -263,7 +263,7 @@ These principles appear repeatedly because they're **that important**:
---
-## 💡 Pro Tips from Experienced Facilitators
+## Pro Tips from Experienced Facilitators
- **Bookmark the documents** — You'll reference them constantly
- **Add your own notes** — Margin notes about what worked for you
@@ -276,7 +276,7 @@ These principles appear repeatedly because they're **that important**:
---
-## 🚀 Related Resources
+## Related Resources
**In this repository:**
@@ -292,7 +292,7 @@ These principles appear repeatedly because they're **that important**:
---
-## ✅ Pre-Workshop Sanity Check
+## Pre-Workshop Sanity Check
Before your first workshop, verify:
@@ -313,7 +313,7 @@ Before your first workshop, verify:
---
-## 📞 Questions or Feedback?
+## Questions or Feedback?
Found an error or unclear section? Help improve this guide:
@@ -342,13 +342,13 @@ Use these official references when you need the current source of truth for fact
Use this map to verify facts for each major section in this file.
- **Complete Guide to Running GitHub Classroom Workshops:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [About Git](https://docs.github.com/en/get-started/using-git/about-git), [GitHub flow](https://docs.github.com/en/get-started/using-github/github-flow), [About pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
-- **🎯 Start Here Based on Your Situation:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **📚 Complete Resource Reference:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🎓 Typical Workflow:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [Workflow syntax for GitHub Actions](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax), [Secure use reference for GitHub Actions](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions), [GitHub Actions changelog](https://github.blog/changelog/label/actions/)
-- **🔧 How to Use These Documents:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **📊 Document Overview at a Glance:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🎯 Key Principles Across All Documents:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **💡 Pro Tips from Experienced Facilitators:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **🚀 Related Resources:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **✅ Pre-Workshop Sanity Check:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
-- **📞 Questions or Feedback?:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Start Here Based on Your Situation:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Complete Resource Reference:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Typical Workflow:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/), [Workflow syntax for GitHub Actions](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax), [Secure use reference for GitHub Actions](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions), [GitHub Actions changelog](https://github.blog/changelog/label/actions/)
+- **How to Use These Documents:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Document Overview at a Glance:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Key Principles Across All Documents:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Pro Tips from Experienced Facilitators:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Related Resources:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Pre-Workshop Sanity Check:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
+- **Questions or Feedback?:** [GitHub Docs, home](https://docs.github.com/en), [GitHub Changelog](https://github.blog/changelog/)
diff --git a/admin/FAQ.md b/admin/FAQ.md
index 97748b1b..abb59397 100644
--- a/admin/FAQ.md
+++ b/admin/FAQ.md
@@ -536,7 +536,7 @@ Full reference: [Appendix E (GitHub Flavored Markdown)](../docs/appendix-c-markd
**A:** Wrap code in triple backticks. Add a language name for syntax highlighting:
-````
+````markdown
```python
print("Hello, world!")
```
@@ -546,7 +546,7 @@ print("Hello, world!")
**A:**
-```
+```markdown
| Column 1 | Column 2 |
|----------|----------|
| Cell 1 | Cell 2 |
diff --git a/admin/GITHUB_PROPOSAL.md b/admin/GITHUB_PROPOSAL.md
index 3b79e13d..ddf0b766 100644
--- a/admin/GITHUB_PROPOSAL.md
+++ b/admin/GITHUB_PROPOSAL.md
@@ -229,7 +229,7 @@ Result: Users understand when agent output is correct or needs editing.
Every exercise follows progression:
-```
+```text
Manual Skill (User does 100% by hand)
↓
With Agent (User does 50%, agent does 50%)
@@ -269,7 +269,7 @@ Accessibility is woven into every chapter.
### File Structure
-```
+```text
.github/
├── agents/
│ ├── daily-briefing.agent.md
diff --git a/admin/QUICK_REFERENCE.md b/admin/QUICK_REFERENCE.md
index 5f72a9d1..22e1075f 100644
--- a/admin/QUICK_REFERENCE.md
+++ b/admin/QUICK_REFERENCE.md
@@ -117,7 +117,7 @@ git fetch upstream # Fetch without merging
### Template & Agent Files
-```
+```text
.github/
├── ISSUE_TEMPLATE/
│ ├── accessibility-bug.yml ← Accessibility issue template
@@ -142,7 +142,7 @@ git fetch upstream # Fetch without merging
### Documentation Files
-```
+```text
docs/
├── 00-pre-workshop-setup.md ← Start here
├── 02-understanding-github.md
diff --git a/admin/README.md b/admin/README.md
index fcf48c89..1b243a66 100644
--- a/admin/README.md
+++ b/admin/README.md
@@ -92,7 +92,7 @@ This folder contains all administrative and facilitator documentation for runnin
### Pre-Workshop (48 Hours Before)
-1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before) - Complete checklist
+1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before) - Complete checklist
2. [ACCESSIBILITY_TESTING.md](ACCESSIBILITY_TESTING.md) - Test with screen readers
3. [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md#pre-workshop-setup-3-hours-before) - Setup workstation
@@ -104,7 +104,7 @@ This folder contains all administrative and facilitator documentation for runnin
### Post-Workshop
-1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-post-workshop-tasks-week-after) - Follow-up tasks
+1. [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#post-workshop-tasks-week-after) - Follow-up tasks
2. Update this documentation with lessons learned
---
@@ -121,7 +121,7 @@ This folder contains all administrative and facilitator documentation for runnin
### For Returning Facilitators
1. Quick reference: [QUICK_REFERENCE.md](QUICK_REFERENCE.md)
-2. Review: [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-pre-workshop-checklist-48-hours-before) checklist
+2. Review: [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#pre-workshop-checklist-48-hours-before) checklist
3. Keep open: [FACILITATOR_OPERATIONS.md](FACILITATOR_OPERATIONS.md) during workshop
### For Admin/Coordinators
@@ -137,7 +137,7 @@ This folder contains all administrative and facilitator documentation for runnin
### GitHub Classroom
-- [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#-github-classroom-setup-before-day-1) - Complete setup
+- [FACILITATOR_GUIDE.md](FACILITATOR_GUIDE.md#github-classroom-setup-before-day-1) - Complete setup
- [COHORT_PROVISIONING.md](COHORT_PROVISIONING.md) - Provisioning
- [classroom/README.md](classroom/README.md) - Fast copy-paste setup pack
diff --git a/admin/TROUBLESHOOTING.md b/admin/TROUBLESHOOTING.md
index 8c1128fb..931e6101 100644
--- a/admin/TROUBLESHOOTING.md
+++ b/admin/TROUBLESHOOTING.md
@@ -271,7 +271,7 @@ See [Appendix D (Git Authentication)](../docs/appendix-d-git-authentication.md)
Then add to `~/.ssh/config`:
- ```
+ ```text
Host github.com
AddKeysToAgent yes
UseKeychain yes
diff --git a/admin/classroom admin access.md b/admin/classroom admin access.md
index 17c13bc7..dbf994f9 100644
--- a/admin/classroom admin access.md
+++ b/admin/classroom admin access.md
@@ -1,3 +1,7 @@
+# GitHub Classroom Admin Access
+
+Facilitators with admin access manage the workshop classroom at this address:
+
## Authoritative Sources
diff --git a/admin/planning/SHIP-CHECKLIST.md b/admin/planning/SHIP-CHECKLIST.md
index ceaaf30e..9c2c9c94 100644
--- a/admin/planning/SHIP-CHECKLIST.md
+++ b/admin/planning/SHIP-CHECKLIST.md
@@ -25,7 +25,7 @@ away.
## Dry-run summary
-```
+```text
Stage 3.1 - rename plan
58 mp3 renames (e.g. ch-00-welcome.mp3 -> ch-00-welcome.mp3)
21 no-op (current_filename == filename)
diff --git a/admin/planning/SITE-IA.md b/admin/planning/SITE-IA.md
index 83b337ff..d0369cdd 100644
--- a/admin/planning/SITE-IA.md
+++ b/admin/planning/SITE-IA.md
@@ -240,7 +240,7 @@ The generator runs axe-core in CI on a representative sample (homepage, one band
## Routing summary (one-screen reference)
-```
+```text
/ home
/learn/ curriculum view (interleaved)
/feed-order/ strict track_number list
diff --git a/docs/05-working-with-issues.md b/docs/05-working-with-issues.md
index 28f3487d..f5bef450 100644
--- a/docs/05-working-with-issues.md
+++ b/docs/05-working-with-issues.md
@@ -299,7 +299,7 @@ Navigate directly: `https://github.com/[owner]/[repo]/issues`
### Page structure
-```
+```text
[Search / filter bar] -- controls at the top
[State tabs: Open / Closed] -- filter by status
[Issues list] -- each issue is one list item or heading
diff --git a/docs/07-merge-conflicts.md b/docs/07-merge-conflicts.md
index 941f356d..77a965ab 100644
--- a/docs/07-merge-conflicts.md
+++ b/docs/07-merge-conflicts.md
@@ -416,7 +416,7 @@ The content coming from the OTHER branch (or main)
#### After two students both added a shortcut to the same table row
-```
+```text
<<<<<<< HEAD
Insert+Space -- Toggle between Browse Mode and Focus Mode
Insert+F5 -- List elements by type
@@ -580,7 +580,7 @@ VS Code has excellent merge conflict tooling with full screen reader support. Th
### VS Code shows conflicts as
-```
+```text
<<<<<<< HEAD (Current Change)
Your version
======= original -- (3-way merge, if enabled)
diff --git a/docs/15-code-review.md b/docs/15-code-review.md
index f7e28fe7..4787d692 100644
--- a/docs/15-code-review.md
+++ b/docs/15-code-review.md
@@ -1425,7 +1425,7 @@ Each file's diff is a table. Every row is one line of code.
Screen reader users - NVDA
-```
+```text
Press T to jump to the diff table then Insert+Space (Focus Mode)
Press Down Arrow to move through lines one at a time
Press Ctrl+Alt+Right Arrow to read across columns: line number, change type, code content
@@ -1436,7 +1436,7 @@ Press Ctrl+Alt+Right Arrow to read across columns: line number, change type, cod
Screen reader users - JAWS
-```
+```text
Press T to jump to the diff table then Insert+Z (Virtual PC Cursor off)
Press Down Arrow to move through lines
Press Ctrl+Alt+Right Arrow for column-by-column reading
@@ -1447,7 +1447,7 @@ Press Ctrl+Alt+Right Arrow for column-by-column reading
Screen reader users - VoiceOver (macOS)
-```
+```text
Press T or VO+U then Tables then select the diff table
VO+Shift+Down Arrow to enter the table
VO+Right/Left to navigate columns, VO+Up/Down to navigate rows
diff --git a/docs/16-github-copilot.md b/docs/16-github-copilot.md
index f5ad0715..318df4f5 100644
--- a/docs/16-github-copilot.md
+++ b/docs/16-github-copilot.md
@@ -934,7 +934,7 @@ Copilot on GitHub.com has context about your repositories, issues, PRs, and code
### What you can ask Copilot on GitHub.com
-```
+```text
# Ask about a specific repository
"Summarize the recent changes to the accessibility-agents repo"
diff --git a/docs/17-issue-templates.md b/docs/17-issue-templates.md
index bb6abe73..dc1d1070 100644
--- a/docs/17-issue-templates.md
+++ b/docs/17-issue-templates.md
@@ -2127,7 +2127,7 @@ After completing Steps 1-7, verify:
1. Create a table:
- ```
+ ```text
Field Name -- Type (dropdown/input/textarea) -- Why Required? -- Options (if dropdown)
[name] -- [type] -- [reason] -- [choices]
```
diff --git a/docs/19-accessibility-agents.md b/docs/19-accessibility-agents.md
index ba9fd00a..4273642f 100644
--- a/docs/19-accessibility-agents.md
+++ b/docs/19-accessibility-agents.md
@@ -873,7 +873,7 @@ All agents work the same across platforms, but the workflow differs slightly.
**GitHub Copilot (VS Code):**
-```
+```text
Ctrl+Alt+I → Type: @aria-specialist audit this component for ARIA
```
@@ -891,7 +891,7 @@ gemini @aria-specialist audit this component for ARIA
**Claude Desktop:**
-```
+```text
Open chat → Type: @aria-specialist audit this component for ARIA
```
diff --git a/docs/appendix-aa-agent-installation-setup.md b/docs/appendix-aa-agent-installation-setup.md
index 1adf6e28..39c3e16a 100644
--- a/docs/appendix-aa-agent-installation-setup.md
+++ b/docs/appendix-aa-agent-installation-setup.md
@@ -117,7 +117,7 @@ git --version
Expected output:
-```
+```text
1.113.0 or higher (VS Code)
github.copilot
v18.0.0 or higher (Node.js)
@@ -360,7 +360,7 @@ After installation, verify each platform is ready:
**On GitHub Copilot (VS Code):**
-```
+```text
Open Chat (Ctrl+Alt+I) → Type: @daily-briefing morning briefing
```
diff --git a/docs/appendix-ab-advanced-agent-patterns.md b/docs/appendix-ab-advanced-agent-patterns.md
index 8d5a8fa0..d2aee2c9 100644
--- a/docs/appendix-ab-advanced-agent-patterns.md
+++ b/docs/appendix-ab-advanced-agent-patterns.md
@@ -25,7 +25,7 @@ An **agent** is a standalone AI system (like `@aria-specialist`) that understand
**Example workflow:**
-```
+```text
User: @web-accessibility-wizard [audit this page]
↓ (orchestrates multiple specialists)
├─→ @aria-specialist (check ARIA roles)
@@ -120,7 +120,7 @@ Accessibility Agents includes a library of reusable skills organized by capabili
**From Copilot Chat:**
-```
+```text
/web-scanning [URL]
/report-generation [findings JSON]
/python-fact-grounded-coding my_script.py
@@ -435,7 +435,7 @@ await browser.close();
**Goal:** Audit multiple aspects of a page simultaneously for speed.
-```
+```text
User request: Audit this page
│
├─ @aria-specialist (scan ARIA)
@@ -470,7 +470,7 @@ Invoke all specialist agents in parallel:
**Goal:** Fix issues in order of severity and dependency.
-```
+```text
Findings identified:
1. Missing alt text (3 images)
2. Poor color contrast (5 elements)
@@ -490,7 +490,7 @@ Output: Numbered PR suggestions, 1 fix per commit message
**Goal:** Guide users through testing workflows without assuming prior knowledge.
-```
+```text
User: How do I test keyboard navigation?
Agent (@testing-coach) response:
@@ -516,7 +516,7 @@ Agent (@testing-coach) response:
**Goal:** Consolidate findings across multiple pages into systemic issues.
-```
+```text
Input: 50 pages audited
Output:
@@ -591,7 +591,7 @@ Set up automated evaluation to measure improvement over time:
Create platform-specific implementations of the same skill:
-```
+```text
.github/skills/form-accessibility/
├── SKILL.md (base description)
├── implementations/
diff --git a/docs/appendix-ac-document-developer-tools.md b/docs/appendix-ac-document-developer-tools.md
index a04fe2a1..5c5929ca 100644
--- a/docs/appendix-ac-document-developer-tools.md
+++ b/docs/appendix-ac-document-developer-tools.md
@@ -60,7 +60,7 @@ The Document Accessibility Team provides specialized agents for scanning, remedi
**Using `@word-accessibility`:**
-```
+```text
User: @word-accessibility audit my-report.docx
Agent response:
@@ -76,7 +76,7 @@ Agent response:
**Using `@office-remediator`:**
-```
+```text
User: @office-remediator fix-word my-report.docx
Agent response:
@@ -105,7 +105,7 @@ Agent response:
**Using `@excel-accessibility`:**
-```
+```text
User: @excel-accessibility audit sales-data.xlsx
Agent response:
@@ -123,7 +123,7 @@ Agent response:
**Using `@office-remediator`:**
-```
+```text
User: @office-remediator fix-excel sales-data.xlsx
Agent response:
@@ -151,7 +151,7 @@ Agent response:
**Using `@powerpoint-accessibility`:**
-```
+```text
User: @powerpoint-accessibility audit presentation.pptx
Agent response:
@@ -170,7 +170,7 @@ Agent response:
**Using `@office-remediator`:**
-```
+```text
User: @office-remediator fix-powerpoint presentation.pptx --add-speaker-notes
Agent response:
@@ -203,7 +203,7 @@ PDF/UA (Universal Accessibility) is the ISO standard for accessible PDFs.
**Using `@pdf-accessibility`:**
-```
+```text
User: @pdf-accessibility audit report.pdf
Agent response:
@@ -219,7 +219,7 @@ Agent response:
**Using `@pdf-remediator`:**
-```
+```text
User: @pdf-remediator fix-pdf report.pdf --ocr --add-bookmarks
Agent response:
@@ -248,7 +248,7 @@ EPUB files are digital publications (e-books, online articles). Accessibility re
**Using `@epub-accessibility`:**
-```
+```text
User: @epub-accessibility audit ebook.epub
Agent response:
@@ -295,7 +295,7 @@ The Developer Tools Team supports accessible application development across Pyth
**Using `@python-specialist`:**
-```
+```text
User: @python-specialist review my accessibility scanning script
Agent response:
@@ -329,7 +329,7 @@ wxPython is a cross-platform GUI toolkit. Accessibility requires following platf
**Using `@wxpython-specialist`:**
-```
+```text
User: @wxpython-specialist audit my-app.py
Agent response:
@@ -402,7 +402,7 @@ Desktop applications must follow OS conventions:
**Using `@desktop-a11y-specialist`:**
-```
+```text
User: @desktop-a11y-specialist test my-app --platform windows
Agent response:
@@ -426,7 +426,7 @@ NVDA (free, open-source screen reader) supports add-ons for extended functionali
**NVDA add-on structure:**
-```
+```text
my-addon/
├── addon/
│ ├── globalPlugins/
@@ -441,7 +441,7 @@ my-addon/
**Using `@nvda-addon-developer`:**
-```
+```text
User: @nvda-addon-developer create an add-on that improves announcement of custom web components
Agent response:
@@ -519,7 +519,7 @@ jobs:
**Using `@ci-accessibility`:**
-```
+```text
User: @ci-accessibility add-workflow my-repo
Agent response:
@@ -567,7 +567,7 @@ test('form accessible by keyboard only', async ({ page }) => {
**Using `@playwright-scanner`:**
-```
+```text
User: @playwright-scanner run tests/keyboard.spec.ts
Agent response:
diff --git a/docs/appendix-e-advanced-git.md b/docs/appendix-e-advanced-git.md
index a5c474cd..e4be9d10 100644
--- a/docs/appendix-e-advanced-git.md
+++ b/docs/appendix-e-advanced-git.md
@@ -284,7 +284,7 @@ This is equivalent to `git reset --soft HEAD~1` — your changes come back as st
#### Using the Command Palette
-```
+```text
Ctrl+Shift+P → type "git undo" → select "Git: Undo Last Commit"
```
@@ -396,7 +396,7 @@ git revert -m 1 a1b2c3d
#### VS Code (Command Palette)
-```
+```text
Ctrl+Shift+P → type "git tag" → select "Git: Create Tag"
```
@@ -532,7 +532,7 @@ To return to a branch: Click that status bar area, or use `Ctrl+Shift+P` → **"
VS Code doesn't have a "force push" button in the UI — this is intentional to prevent accidents. Use the integrated terminal:
-```
+```text
Ctrl+Backtick → then type the command below
```
@@ -875,7 +875,7 @@ Conventional commit format (`feat:`, `fix:`, `docs:`, `refactor:`) is especially
Git's error messages and status output can be cryptic. Paste them directly into Copilot Chat:
-```
+```text
# Paste this kind of thing into Copilot and ask "what does this mean?"
error: Your local changes to the following files would be overwritten by merge:
src/auth/login.js
@@ -905,7 +905,7 @@ When `git bisect` lands on a commit and you're not sure what to test:
Paste the full error message from a rejected push into Copilot:
-```
+```text
remote: error: GH006: Protected branch update failed for refs/heads/main.
remote: error: Required status check "CI / build" is failing.
```
diff --git a/docs/appendix-f-git-security.md b/docs/appendix-f-git-security.md
index 2fac5762..fdb08faa 100644
--- a/docs/appendix-f-git-security.md
+++ b/docs/appendix-f-git-security.md
@@ -459,7 +459,7 @@ After removing the secret from history, go to **Security → Secret scanning** i
### Quick decision flowchart
-```
+```text
Secret committed
│
├─ Still local only (not pushed)?
diff --git a/docs/appendix-h-github-desktop.md b/docs/appendix-h-github-desktop.md
index bcb2c5d1..ad13d79a 100644
--- a/docs/appendix-h-github-desktop.md
+++ b/docs/appendix-h-github-desktop.md
@@ -150,7 +150,7 @@ That's it. GitHub Desktop stores your credentials securely in the system keychai
GitHub Desktop has three main areas:
-```
+```text
┌─────────────────────────────────────────────────────────┐
│ Toolbar: Current Repository ▾ | Current Branch ▾ | │
│ Fetch/Push button │
diff --git a/docs/appendix-k-copilot-reference.md b/docs/appendix-k-copilot-reference.md
index aa1129bc..e3b7ea14 100644
--- a/docs/appendix-k-copilot-reference.md
+++ b/docs/appendix-k-copilot-reference.md
@@ -1821,7 +1821,7 @@ On GitHub.com, you can assign tasks to different AI agents, including third-part
4. Select the agent
5. Add a comment describing the task:
- ```
+ ```text
@copilot please implement this feature and open a PR.
```
diff --git a/docs/appendix-l-agents-reference.md b/docs/appendix-l-agents-reference.md
index d8ff4f9c..7c819c39 100644
--- a/docs/appendix-l-agents-reference.md
+++ b/docs/appendix-l-agents-reference.md
@@ -1453,7 +1453,7 @@ GitHub supports assigning cloud agents to issues and pull requests. You can use
**GitHub cloud agent assignment syntax:**
-```
+```markdown
@copilot please implement this feature with accessibility best practices in mind.
Reference: [Appendix K: GitHub Agentic Workflows](appendix-k-copilot-reference.md#14-github-agentic-workflows-and-third-party-agents)
```
diff --git a/docs/appendix-t-community-and-social.md b/docs/appendix-t-community-and-social.md
index fd60ed81..fa12cfff 100644
--- a/docs/appendix-t-community-and-social.md
+++ b/docs/appendix-t-community-and-social.md
@@ -749,7 +749,7 @@ Every repository can be tagged with **topics** — keywords like `accessibility`
Click any topic tag on a repository page to see all repos tagged with that topic. Or go directly:
-```
+```text
https://github.com/topics/accessibility
https://github.com/topics/screen-reader
https://github.com/topics/good-first-issue
diff --git a/docs/solutions/solution-04-branch-out.md b/docs/solutions/solution-04-branch-out.md
index 55b0cc30..74cbeaf5 100644
--- a/docs/solutions/solution-04-branch-out.md
+++ b/docs/solutions/solution-04-branch-out.md
@@ -13,7 +13,7 @@ The branch now exists on GitHub and is active. You can switch to it using the sa
## In VS Code (with Git)
-```
+```bash
git checkout -b fix/welcome-todo
```
@@ -28,7 +28,7 @@ Or use the Source Control sidebar: click the branch name in the bottom-left stat
## With GitHub CLI
-```
+```bash
gh repo clone /learning-room-
cd learning-room
git checkout -b fix/welcome-todo
diff --git a/docs/solutions/solution-05-make-your-mark.md b/docs/solutions/solution-05-make-your-mark.md
index d719f987..97063136 100644
--- a/docs/solutions/solution-05-make-your-mark.md
+++ b/docs/solutions/solution-05-make-your-mark.md
@@ -20,7 +20,7 @@ See the [workshop schedule](https://github.com/Community-Access/git-going-with-g
## Example commit message
-```
+```text
docs: replace TODO with workshop schedule link
Resolves the placeholder on line 15 of welcome.md by adding
@@ -35,11 +35,11 @@ a link to the schedule file.
### Simpler alternatives that are also fine
-```
+```text
Fix TODO in welcome.md
```
-```
+```text
Add schedule link to welcome page
```
diff --git a/docs/solutions/solution-07-merge-conflict.md b/docs/solutions/solution-07-merge-conflict.md
index d36db7f0..b42779ef 100644
--- a/docs/solutions/solution-07-merge-conflict.md
+++ b/docs/solutions/solution-07-merge-conflict.md
@@ -6,7 +6,7 @@ This shows what conflict markers look like and how to resolve them.
When Git cannot automatically merge two changes to the same lines, it inserts markers:
-```
+```text
<<<<<<< HEAD
Welcome to the Learning Room! This is the main branch version.
=======
@@ -24,7 +24,7 @@ Welcome to the Learning Room! This is my improved version with more detail.
**Before (with conflict markers):**
-```
+```text
<<<<<<< HEAD
Welcome to the Learning Room! This is the main branch version.
=======
@@ -34,7 +34,7 @@ Welcome to the Learning Room! This is my improved version with more detail.
**After (resolved):**
-```
+```text
Welcome to the Learning Room! This is my improved version with more detail.
```
diff --git a/html/ACCESSIBILITY.html b/html/ACCESSIBILITY.html
index 806a8139..7f141c96 100644
--- a/html/ACCESSIBILITY.html
+++ b/html/ACCESSIBILITY.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
validate-rss-feed.bat
Runs local RSS 2.0 and iTunes compliance checks on podcasts\feed.xml.
-
validate-rss-feed.bat
+
validate-rss-feed.bat
Checks performed:
Required channel elements: title, link, description, language
@@ -346,7 +345,7 @@
npm scripts
To pass a range to the audio build from npm:
-
npm run build:podcast-audio----start 5--end 10
+
npm run build:podcast-audio -- --start 5 --end 10
Authoritative Sources
Use these official references when you need the current source of truth for facts in this chapter.
This section covers what you and your co-facilitator do during Day 1.
Hour 1: Welcome and GitHub Orientation (60 min)
What's Happening: Students are joining the call for the first time. They're nervous. Your job is to make them feel welcome and get them oriented to their GitHub repos.
@@ -561,7 +560,7 @@
Your Role During This Time
Student merged a PR → Celebrate publicly:
-
"🎉 Awesome work @student! You just merged your first pull request! That's huge."
+
"Awesome work @student! You just merged your first pull request! That's huge."
Gandalf bot gave confusing feedback → Translate it:
@@ -682,7 +681,7 @@
Hour 8: Optional Office Hours (60 m
-
🎉 Day 2: Deeper Skills and Celebration
+
Day 2: Deeper Skills and Celebration
Hour 1: Recap and Momentum (30 min)
What's Happening: Students join fresh. You remind them of their progress and introduce Day 2 assignment.
Your Opening
@@ -729,9 +728,9 @@
Pair Review Activity
Assign pairs: "Student A, you review Student B's PR. Student B, you'll review Student C's. Etc."
These are used in each challenge issue. Paste them into challenge issues to guide stuck students:
For editing challenges:
-
If you get stuck: Look for the pencil icon (✏️) to edit the file. Type your change, then scroll down and click "Propose changes."
+
If you get stuck: Select the pencil icon, the "Edit this file" button, to edit the file. Type your change, then scroll down and click "Propose changes."
For PR challenges:
@@ -1059,7 +1058,7 @@
Appendix C
If you get stuck: This is the hardest challenge because merge conflicts are tricky in real life too. Post your question in chat — this is not something to figure out alone.
-
💡 Philosophy and Final Thoughts
+
Philosophy and Final Thoughts
This workshop succeeds because of you — the facilitator. Here's what you bring:
Patience — Answer the same question 10 times without frustration
@@ -1073,12 +1072,12 @@
💡 Philosophy and Final Thoughts
Every student who merges their first PR is a student who now knows they belong in tech.
That's the real goal. Everything else follows from that.
Welcome to the GitHub Workshop!
+If you can see this message, you're connected.
+Video or audio-only? Both are fine.
+Screen reader users: All of GitHub.com is accessible.
+Questions? Ask in chat anytime!
Monitor arrivals:
@@ -383,11 +382,11 @@
0:00-0:05: Your Opening
0:05-0:15: Getting Into Repos
Step 1: Share the invite link
In chat, post:
-
Here's your Day 1 invite link:
+
Here's your Day 1 invite link:
[PASTE YOUR INVITE LINK]
-Click itand GitHub will ask you to pick your namefrom a list.
-Accept and GitHub creates your repo.
+Click it and GitHub will ask you to pick your name from a list.
+Accept and GitHub creates your repo.
Step 2: Monitor the Classroom dashboard
Refresh every 30 seconds
@@ -396,10 +395,10 @@
0:05-0:15: Getting Into Repos
Step 3: Guide through the process
In chat as things happen:
-
Great! I see people accepting the invite.
-You should now be in your private repo.
-Look for"Challenge 1"in your Issues tab.
-When you see it, say so in chat!
+
Great! I see people accepting the invite.
+You should now be in your private repo.
+Look for "Challenge 1" in your Issues tab.
+When you see it, say so in chat!
Step 4: Help people who are stuck
After 5 minutes, if someone hasn't said they found Challenge 1:
@@ -414,10 +413,10 @@
0:15-0:25: Demo Reading Challenge 1
Open your test repo on screen
Narrate what you're doing:
-
"I'm going to show you what Challenge 1 looks like.
+
"I'm going to show you what Challenge 1 looks like.
I'm clicking the Issues tab...
I see Challenge 1 here...
-Let me read it to you..."
+Let me read it to you..."
Read the challenge issue text out loud (slowly, pausing between sentences)
Point out key sections:
@@ -442,7 +441,7 @@
Demo Repo: Do Challenge 1 for RealStep 2: Find the file
I need to edit a file called [filename]. Let me look in the file list... there it is.
Step 3: Click edit
-I'm clicking the pencil icon (✏️) to edit the file.
+I'm selecting the pencil icon, the "Edit this file" button, to edit the file.
Step 4: Make my change
[Type while narrating] I'm adding this text... done.
Step 5: Create PR
@@ -522,7 +521,7 @@
Proactive Interventions (By Time)
First merges happening
New challenges appearing
-
Celebrate: "🎉 @student1 just merged their first PR! Nice work!"
+
Celebrate: "@student1 just merged their first PR! Nice work!"
60-120 min:
@@ -560,7 +559,7 @@
Responding to Common Chat Messages
"I merged!"
-
"🎉 Awesome! You just merged your first PR! That's huge!"
+
"Awesome! You just merged your first PR! That's huge!"
The | characters create columns. The --- row separates the header from the body.
Q: What is GitHub Flavored Markdown (GFM)?
A: GitHub's extended version of Markdown that adds features like task lists (- [ ]), tables, strikethrough (~~text~~), autolinked URLs, emoji (:smile:), alert blocks, Mermaid diagrams, and math expressions. See Appendix E.
Result: Users understand when agent output is correct or needs editing.
2. Manual → Automated → Mastered
Every exercise follows progression:
-
Manual Skill (Userdoes100% by hand)
+
Manual Skill (User does 100% by hand)
↓
-With Agent (Userdoes50%, agent does 50%)
+With Agent (User does 50%, agent does 50%)
↓
-Mastered (Userreviews agent work, makes final call)
+Mastered (User reviews agent work, makes final call)
Example (Ch 15 Progress):
Exercise A: Design template manually (GitHub web UI)
Total static URLs generated by the build: roughly 12 + 9 + 79 + 79 = 179 HTML pages plus 79 mp3 enclosures plus feed/sitemap/opml. Buildable in a single node generate-site.js pass.
Authoritative Sources
diff --git a/html/admin/planning/TOOLING-INVENTORY.html b/html/admin/planning/TOOLING-INVENTORY.html
index bed6e818..c2250ec2 100644
--- a/html/admin/planning/TOOLING-INVENTORY.html
+++ b/html/admin/planning/TOOLING-INVENTORY.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/admin/planning/index.html b/html/admin/planning/index.html
index 80575164..5edb681a 100644
--- a/html/admin/planning/index.html
+++ b/html/admin/planning/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/admin/qa-readiness/README.html b/html/admin/qa-readiness/README.html
index f31a2f9e..6173393b 100644
--- a/html/admin/qa-readiness/README.html
+++ b/html/admin/qa-readiness/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/admin/qa-readiness/TEMPLATE-SYNC-SMOKE-2026-05-14.html b/html/admin/qa-readiness/TEMPLATE-SYNC-SMOKE-2026-05-14.html
index ddee994b..45fbdceb 100644
--- a/html/admin/qa-readiness/TEMPLATE-SYNC-SMOKE-2026-05-14.html
+++ b/html/admin/qa-readiness/TEMPLATE-SYNC-SMOKE-2026-05-14.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/admin/qa-readiness/UNIT-TEST-RESULTS-2026-05-08.html b/html/admin/qa-readiness/UNIT-TEST-RESULTS-2026-05-08.html
index 56e2592d..60244d1c 100644
--- a/html/admin/qa-readiness/UNIT-TEST-RESULTS-2026-05-08.html
+++ b/html/admin/qa-readiness/UNIT-TEST-RESULTS-2026-05-08.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/admin/qa-readiness/index.html b/html/admin/qa-readiness/index.html
index f31a2f9e..6173393b 100644
--- a/html/admin/qa-readiness/index.html
+++ b/html/admin/qa-readiness/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/IMAGE-ALT-TEXT-DOCS.html b/html/agents/image alt text agent/IMAGE-ALT-TEXT-DOCS.html
index 347118d6..608760fc 100644
--- a/html/agents/image alt text agent/IMAGE-ALT-TEXT-DOCS.html
+++ b/html/agents/image alt text agent/IMAGE-ALT-TEXT-DOCS.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/agents/image-alt-text.agent.html b/html/agents/image alt text agent/agents/image-alt-text.agent.html
index d0ea80c0..4efe087b 100644
--- a/html/agents/image alt text agent/agents/image-alt-text.agent.html
+++ b/html/agents/image alt text agent/agents/image-alt-text.agent.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/agents/image-analyzer.agent.html b/html/agents/image alt text agent/agents/image-analyzer.agent.html
index ef5a0a2f..eaaaeb55 100644
--- a/html/agents/image alt text agent/agents/image-analyzer.agent.html
+++ b/html/agents/image alt text agent/agents/image-analyzer.agent.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/agents/image-cataloger.agent.html b/html/agents/image alt text agent/agents/image-cataloger.agent.html
index 2173b726..0fb519df 100644
--- a/html/agents/image alt text agent/agents/image-cataloger.agent.html
+++ b/html/agents/image alt text agent/agents/image-cataloger.agent.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/agents/tag-builder.agent.html b/html/agents/image alt text agent/agents/tag-builder.agent.html
index f1131562..51d95935 100644
--- a/html/agents/image alt text agent/agents/tag-builder.agent.html
+++ b/html/agents/image alt text agent/agents/tag-builder.agent.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/instructions/image-dimensions.instructions.html b/html/agents/image alt text agent/instructions/image-dimensions.instructions.html
index 6b8ce735..3fa1424b 100644
--- a/html/agents/image alt text agent/instructions/image-dimensions.instructions.html
+++ b/html/agents/image alt text agent/instructions/image-dimensions.instructions.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/prompts/image-analyzer.prompt.html b/html/agents/image alt text agent/prompts/image-analyzer.prompt.html
index 4ffb9dd7..61dbde3c 100644
--- a/html/agents/image alt text agent/prompts/image-analyzer.prompt.html
+++ b/html/agents/image alt text agent/prompts/image-analyzer.prompt.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/prompts/image-cataloger.prompt.html b/html/agents/image alt text agent/prompts/image-cataloger.prompt.html
index f65eea40..743044ba 100644
--- a/html/agents/image alt text agent/prompts/image-cataloger.prompt.html
+++ b/html/agents/image alt text agent/prompts/image-cataloger.prompt.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/agents/image alt text agent/prompts/tag-builder.prompt.html b/html/agents/image alt text agent/prompts/tag-builder.prompt.html
index ca0cd892..036454fd 100644
--- a/html/agents/image alt text agent/prompts/tag-builder.prompt.html
+++ b/html/agents/image alt text agent/prompts/tag-builder.prompt.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/HUMAN_TEST_MATRIX.html b/html/classroom/HUMAN_TEST_MATRIX.html
index e59e9627..8622fb42 100644
--- a/html/classroom/HUMAN_TEST_MATRIX.html
+++ b/html/classroom/HUMAN_TEST_MATRIX.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/README.html b/html/classroom/README.html
index e217502a..6150327e 100644
--- a/html/classroom/README.html
+++ b/html/classroom/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/assignment-day1-you-belong-here.html b/html/classroom/assignment-day1-you-belong-here.html
index f387e09e..0595b883 100644
--- a/html/classroom/assignment-day1-you-belong-here.html
+++ b/html/classroom/assignment-day1-you-belong-here.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/assignment-day2-you-can-build-this.html b/html/classroom/assignment-day2-you-can-build-this.html
index 429f16ab..8b82a963 100644
--- a/html/classroom/assignment-day2-you-can-build-this.html
+++ b/html/classroom/assignment-day2-you-can-build-this.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/assignment-issue-template.html b/html/classroom/assignment-issue-template.html
index 24e3e3be..61123e2b 100644
--- a/html/classroom/assignment-issue-template.html
+++ b/html/classroom/assignment-issue-template.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/challenge-content-review.html b/html/classroom/challenge-content-review.html
index 0eb5d280..e8744308 100644
--- a/html/classroom/challenge-content-review.html
+++ b/html/classroom/challenge-content-review.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/grading-guide.html b/html/classroom/grading-guide.html
index c7d122ef..4d5663ce 100644
--- a/html/classroom/grading-guide.html
+++ b/html/classroom/grading-guide.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/index.html b/html/classroom/index.html
index e217502a..6150327e 100644
--- a/html/classroom/index.html
+++ b/html/classroom/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/classroom/teardown-checklist.html b/html/classroom/teardown-checklist.html
index d1d51d0f..0c415761 100644
--- a/html/classroom/teardown-checklist.html
+++ b/html/classroom/teardown-checklist.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/companion/README.html b/html/companion/README.html
index 9bee7746..b6f3e4f1 100644
--- a/html/companion/README.html
+++ b/html/companion/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/companion/index.html b/html/companion/index.html
index 9bee7746..b6f3e4f1 100644
--- a/html/companion/index.html
+++ b/html/companion/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/00-pre-workshop-setup.html b/html/docs/00-pre-workshop-setup.html
index 2ad53590..cd1b8a3f 100644
--- a/html/docs/00-pre-workshop-setup.html
+++ b/html/docs/00-pre-workshop-setup.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/01-choose-your-tools.html b/html/docs/01-choose-your-tools.html
index f2413db7..9ce207b5 100644
--- a/html/docs/01-choose-your-tools.html
+++ b/html/docs/01-choose-your-tools.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/02-understanding-github.html b/html/docs/02-understanding-github.html
index c6ac9093..6d89d3b9 100644
--- a/html/docs/02-understanding-github.html
+++ b/html/docs/02-understanding-github.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/03-navigating-repositories.html b/html/docs/03-navigating-repositories.html
index a8319aab..1ec69851 100644
--- a/html/docs/03-navigating-repositories.html
+++ b/html/docs/03-navigating-repositories.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/04-the-learning-room.html b/html/docs/04-the-learning-room.html
index 8fb3ca06..de276a54 100644
--- a/html/docs/04-the-learning-room.html
+++ b/html/docs/04-the-learning-room.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/05-working-with-issues.html b/html/docs/05-working-with-issues.html
index 9a3b39d7..988de605 100644
--- a/html/docs/05-working-with-issues.html
+++ b/html/docs/05-working-with-issues.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
@@ -596,10 +595,10 @@
Learning Cards: Navigating
The Issues List Page
Page structure
-
[Search/filter bar] -- controls at the top
-[State tabs: Open/ Closed] -- filter by status
-[Issues list] -- each issue is one list item or heading
-[Pagination] -- at the bottom
+
[Search / filter bar] -- controls at the top
+[State tabs: Open / Closed] -- filter by status
+[Issues list] -- each issue is one list item or heading
+[Pagination] -- at the bottom
Quick orientation tip: Press NVDA+F7 (or VO+U on macOS) to open a list of all headings, links, form fields, and buttons on the page. This is often faster than tabbing through many elements and helps you understand the full page structure before diving in. Use Ctrl+/ (Windows) or Cmd+/ (Mac) to jump directly to the search field from anywhere on the page.
<<<<<<< HEAD
+ Insert+Space -- Toggle between Browse Mode and Focus Mode
+ Insert+F5 -- List elements by type
+=======
+ Insert+Space -- Toggle between Browse Mode and Focus Mode
+ Insert+F7 -- Elements list (links, headings, form fields)
+>>>>>>> add-nvda-shortcut
Resolution options
Keep your version: add only Insert+F5
@@ -816,11 +815,11 @@
Resolving Conflicts in VS Code (Da
VS Code has excellent merge conflict tooling with full screen reader support. This is covered in depth in Git & Source Control in VS Code, but here is an overview:
VS Code shows conflicts as
-
<<<<<<< HEAD (Current Change)
+
<<<<<<< HEAD (Current Change)
Your version
======= original -- (3-way merge, if enabled)
-Original version before both edits
-=======
+Original version before both edits
+=======
Incoming version
>>>>>>> branch-name (Incoming Change)
Press T to jump tothe diff table then Insert+Space (Focus Mode)
-Press Down Arrow to move through linesoneatatime
-Press Ctrl+Alt+Right Arrow toread across columns: linenumber, change type, code content
+
Press T to jump to the diff table then Insert+Space (Focus Mode)
+Press Down Arrow to move through lines one at a time
+Press Ctrl+Alt+Right Arrow to read across columns: line number, change type, code content
Screen reader users - JAWS
-
Press T to jump to the diff tablethenInsert+Z (Virtual PC Cursoroff)
-Press Down Arrow tomove through lines
-Press Ctrl+Alt+Right Arrow forcolumn-by-column reading
+
Press T to jump to the diff table then Insert+Z (Virtual PC Cursor off)
+Press Down Arrow to move through lines
+Press Ctrl+Alt+Right Arrow for column-by-column reading
Screen reader users - VoiceOver (macOS)
-
Press T or VO+U then Tables then select the diff table
-VO+Shift+Down Arrow to enter the table
-VO+Right/Leftto navigate columns, VO+Up/Down to navigate rows
+
Press T or VO+U then Tables then select the diff table
+VO+Shift+Down Arrow to enter the table
+VO+Right/Left to navigate columns, VO+Up/Down to navigate rows
Copilot on GitHub.com has context about your repositories, issues, PRs, and code - you can reference them directly.
What you can ask Copilot on GitHub.com
-
# Ask about a specific repository
-"Summarize the recent changes to the accessibility-agents repo"
+
# Ask about a specific repository
+"Summarize the recent changes to the accessibility-agents repo"
-# Ask about an issue
-"What are the open accessibility issues in this repo?"
+# Ask about an issue
+"What are the open accessibility issues in this repo?"
-# Ask about code
-"What does the auth module in this project do?"
+# Ask about code
+"What does the auth module in this project do?"
-# General coding questions
-"What's the difference between git rebase and git merge?"
+# General coding questions
+"What's the difference between git rebase and git merge?"
Copilot for Pull Request Summaries
When you open a pull request on GitHub.com, Copilot can generate a description for you automatically.
An agent is a standalone AI system (like @aria-specialist) that understands one domain (ARIA patterns). A subagent is an agent invoked by another agent to delegate work.
Example workflow:
-
User: @web-accessibility-wizard [audit this page]
+
User: @office-remediator fix-powerpoint presentation.pptx --add-speaker-notes
-Agent response:
-1. Auto-fixes:
- -Adds placeholder alt text to all images
- -Fixes animation timing (≥ 3 seconds)
- -Adjusts contrast on 3 slides
-2. Creates speaker notes:
- -One set of notes per slide (reviewer fills in detail)
-3. Returns:presentation-remediated.pptx
+Agent response:
+1. Auto-fixes:
+ - Adds placeholder alt text to all images
+ - Fixes animation timing (≥ 3 seconds)
+ - Adjusts contrast on 3 slides
+2. Creates speaker notes:
+ - One set of notes per slide (reviewer fills in detail)
+3. Returns: presentation-remediated.pptx
3. PDF & EPUB Accessibility
PDF Accessibility (PDF/UA Standard)
PDF/UA (Universal Accessibility) is the ISO standard for accessible PDFs.
@@ -635,29 +634,29 @@
PDF Accessibility (PDF/UA Standard)
Using @pdf-accessibility:
-
User: @pdf-accessibility audit report.pdf
+
User: @pdf-accessibility audit report.pdf
-Agent response:
-1. Analyzes document structure
-2. Validates PDF/UA compliance
-3. Reports:
- -Structure: Missing alt text on 5 images
- -Navigation: No bookmarks created
- -Content: Language not set (assumed English)
- -Forms:3 form fields without labels
- -Severity:48/100 (F grade)
+Agent response:
+1. Analyzes document structure
+2. Validates PDF/UA compliance
+3. Reports:
+ - Structure: Missing alt text on 5 images
+ - Navigation: No bookmarks created
+ - Content: Language not set (assumed English)
+ - Forms: 3 form fields without labels
+ - Severity: 48/100 (F grade)
User: @pdf-remediator fix-pdf report.pdf --ocr --add-bookmarks
-Agent response:
-1. Auto-fixes:
- -OCR scans images for text (if present)
- -Creates bookmarks from heading structure
- -Adds placeholder alt text
-2. Creates remediation summary:
- -5 images need alt text (manual review)
- -Form labels added to 3 fields
-3. Returns:report-remediated.pdf
+Agent response:
+1. Auto-fixes:
+ - OCR scans images for text (if present)
+ - Creates bookmarks from heading structure
+ - Adds placeholder alt text
+2. Creates remediation summary:
+ - 5 images need alt text (manual review)
+ - Form labels added to 3 fields
+3. Returns: report-remediated.pdf
EPUB Accessibility
EPUB files are digital publications (e-books, online articles). Accessibility requirements overlap with HTML.
EPUB accessibility checklist:
@@ -670,17 +669,17 @@
EPUB Accessibility
Reading order is logical (not requiring manual navigation)
Using @epub-accessibility:
-
User:@epub-accessibility audit ebook.epub
+
User: @epub-accessibility audit ebook.epub
-Agent response:
-1. Extracts and scans EPUB structure
-2. Checks:
- -Table of contents mapping
- -Heading hierarchy
- -Image alt text
- -Link text quality
- -Reading order
-3. Reports:8 issues found (similar to HTML audit)
+Agent response:
+1. Extracts and scans EPUB structure
+2. Checks:
+ - Table of contents mapping
+ - Heading hierarchy
+ - Image alt text
+ - Link text quality
+ - Reading order
+3. Reports: 8 issues found (similar to HTML audit)
4. Developer Tools Team (8 Agents)
Developer Tools Agents Overview
The Developer Tools Team supports accessible application development across Python, wxPython, CI/CD pipelines, and desktop environments.
@@ -771,20 +770,20 @@
Python Accessibility Best Practices
Using @python-specialist:
-
User:@python-specialist review my accessibility scanning script
+
wxPython is a cross-platform GUI toolkit. Accessibility requires following platform conventions.
wxPython accessibility checklist:
@@ -828,18 +827,18 @@
wxPython GUI Accessibility
Using @wxpython-specialist:
-
User:@wxpython-specialist audit my-app.py
+
User: @wxpython-specialist audit my-app.py
-Agent response:
-1. Analyzes wxPython code:
- -Control labeling
- -Tab order
- -Keyboard support
- -Dialog structure
-2. Reports:
- -2 controls missing labels
- -Tab order needs sorting (currently 5, 3, 1, 2, 4)
- -Missing keyboard shortcuts on File menu
+Agent response:
+1. Analyzes wxPython code:
+ - Control labeling
+ - Tab order
+ - Keyboard support
+ - Dialog structure
+2. Reports:
+ - 2 controls missing labels
+ - Tab order needs sorting (currently 5, 3, 1, 2, 4)
+ - Missing keyboard shortcuts on File menu
3. Provides template code for fixes
wxPython Accessible Control Example:
import wx
@@ -890,36 +889,36 @@
Desktop Application Accessibility
State reporting (enabled, pressed, etc.)
Using @desktop-a11y-specialist:
-
User:@desktop-a11y-specialist test my-app --platform windows
+
User: @desktop-a11y-specialist test my-app --platform windows
-Agent response:
-1. Checks Windows accessibility:
- -UIA object properties
- -Keyboard navigation
- -Focus indicators
- -Screen reader compatibility (NVDA)
-2. Runs NVDA simulation:
- -Lists all controls as NVDA sees them
- -Checks announced names and roles
-3. Reports:
- -Button not announcing name ("win1234" instead of "Save")
- -Tab order incorrect
- -Status bar text not announced
+Agent response:
+1. Checks Windows accessibility:
+ - UIA object properties
+ - Keyboard navigation
+ - Focus indicators
+ - Screen reader compatibility (NVDA)
+2. Runs NVDA simulation:
+ - Lists all controls as NVDA sees them
+ - Checks announced names and roles
+3. Reports:
+ - Button not announcing name ("win1234" instead of "Save")
+ - Tab order incorrect
+ - Status bar text not announced
NVDA Add-on Development
NVDA (free, open-source screen reader) supports add-ons for extended functionality.
User: @ci-accessibility add-workflow my-repo
Agent response:
1. Analyzes current CI/CD setup
2. Creates workflow file:
- Lighthouse audit on each PR
- - Fails if score drops below threshold
+ - Fails if score drops below threshold
- Posts results to PR comments
3. Configures thresholds:
- Error: < 70 (blocks merge)
@@ -1021,16 +1020,16 @@
Playwright Accessibility Testing
expect(page).toHaveURL('/success');
});
Using @playwright-scanner:
-
User: @playwright-scanner run tests/keyboard.spec.ts
+
User: @playwright-scanner run tests/keyboard.spec.ts
-Agent response:
-1. Runs Playwright tests
-2. Records accessibility state at each step
-3. Compares to baseline
-4. Reports:
- - Tests passed:5/5
- - New regressions:0
- -Performance:120ms average per step
+Agent response:
+1. Runs Playwright tests
+2. Records accessibility state at each step
+3. Compares to baseline
+4. Reports:
+ - Tests passed: 5/5
+ - New regressions: 0
+ - Performance: 120ms average per step
Ctrl+Shift+P → type "git tag" → select "Git: Create Tag"
Type the tag name (e.g., v1.2.0) and optionally a message. VS Code creates an annotated tag.
GitHub CLI
# Create a tag and push it to GitHub in one step (using the API)
@@ -771,7 +770,7 @@
When You'd Use It
VS Code
VS Code doesn't have a "force push" button in the UI — this is intentional to prevent accidents. Use the integrated terminal:
-
Ctrl+Backtick → thentypethe command below
+
Ctrl+Backtick → then type the command below
GitHub CLI
# Force push your current branch
gh repo sync# This is for syncing FROM remote, not for force pushing
@@ -1138,10 +1137,10 @@
Writing Better Commit Messages
Conventional commit format (feat:, fix:, docs:, refactor:) is especially useful on open source projects — ask Copilot to use it.
Understanding Confusing Git Output
Git's error messages and status output can be cryptic. Paste them directly into Copilot Chat:
-
# Paste this kind of thing into Copilot and ask "what does this mean?"
-error: Your local changes tothe following files would be overwritten bymerge:
+
# Paste this kind of thing into Copilot and ask "what does this mean?"
+error: Your local changes to the following files would be overwritten by merge:
src/auth/login.js
-Please commit your changes or stash them before you merge.
+Please commit your changes or stash them before you merge.
"I got this git error message: [paste it]. What does it mean and how do I fix it?"
"My git status output looks like this: [paste it]. What happened and what should I do next?"
@@ -1162,8 +1161,8 @@
Debugging a Failing Bisect
Getting Help With Branch Protection Errors
Paste the full error message from a rejected push into Copilot:
-
remote: error: GH006: Protected branch update failed for refs/heads/main.
-remote: error: Required status check "CI / build" is failing.
+
remote: error: GH006: Protected branch update failed for refs/heads/main.
+remote: error: Required status check "CI / build" is failing.
"I got this error when pushing to my repository: [paste error]. What does it mean and what do I do?"
"My PR can't merge because of a required status check. Here's the check output: [paste it]. What's wrong?"
Use `@compliance-mapping` to verify WCAG alignment of agent-generated code
GitHub cloud agent assignment syntax:
-
@copilot please implement this feature with accessibility best practices in mind.
-Reference: [Appendix K: GitHub Agentic Workflows](appendix-k-copilot-reference.md#14-github-agentic-workflows-and-third-party-agents)
+
@copilot please implement this feature with accessibility best practices in mind.
+Reference: [Appendix K: GitHub Agentic Workflows](appendix-k-copilot-reference.md#14-github-agentic-workflows-and-third-party-agents)
Every repository can be tagged with topics — keywords like accessibility, screen-reader, wcag, python, machine-learning. Topics are how maintainers categorise their work so others can discover it.
Browsing topics
Click any topic tag on a repository page to see all repos tagged with that topic. Or go directly:
This shows what conflict markers look like and how to resolve them.
What conflict markers look like
When Git cannot automatically merge two changes to the same lines, it inserts markers:
-
<<<<<<< HEAD
-Welcome to the Learning Room! This is the main branch version.
-=======
+
<<<<<<< HEAD
+Welcome to the Learning Room! This is the main branch version.
+=======
Welcome to the Learning Room! This is my improved version with more detail.
>>>>>>> fix/welcome-update
The three sections
@@ -233,13 +232,13 @@
The three sections
Example resolution
Before (with conflict markers):
-
<<<<<<< HEAD
-Welcome to the Learning Room! This is the main branch version.
-=======
+
<<<<<<< HEAD
+Welcome to the Learning Room! This is the main branch version.
+=======
Welcome to the Learning Room! This is my improved version with more detail.
>>>>>>> fix/welcome-update
After (resolved):
-
Welcome tothe Learning Room! This ismy improved versionwith more detail.
+
Welcome to the Learning Room! This is my improved version with more detail.
Decision process
You chose one of three options:
diff --git a/html/docs/solutions/solution-08-culture.html b/html/docs/solutions/solution-08-culture.html
index f3ce54ad..185a1637 100644
--- a/html/docs/solutions/solution-08-culture.html
+++ b/html/docs/solutions/solution-08-culture.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-09-merge-day.html b/html/docs/solutions/solution-09-merge-day.html
index 70c7ed4c..970f77d9 100644
--- a/html/docs/solutions/solution-09-merge-day.html
+++ b/html/docs/solutions/solution-09-merge-day.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-10-go-local.html b/html/docs/solutions/solution-10-go-local.html
index e0439b43..05a281a1 100644
--- a/html/docs/solutions/solution-10-go-local.html
+++ b/html/docs/solutions/solution-10-go-local.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-11-day2-pr.html b/html/docs/solutions/solution-11-day2-pr.html
index 403968ba..f677cc00 100644
--- a/html/docs/solutions/solution-11-day2-pr.html
+++ b/html/docs/solutions/solution-11-day2-pr.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-12-review.html b/html/docs/solutions/solution-12-review.html
index 0a6f41a1..152bd768 100644
--- a/html/docs/solutions/solution-12-review.html
+++ b/html/docs/solutions/solution-12-review.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-13-copilot.html b/html/docs/solutions/solution-13-copilot.html
index 88b6d88b..1debba36 100644
--- a/html/docs/solutions/solution-13-copilot.html
+++ b/html/docs/solutions/solution-13-copilot.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-14-template.html b/html/docs/solutions/solution-14-template.html
index 86bfed36..0ad63049 100644
--- a/html/docs/solutions/solution-14-template.html
+++ b/html/docs/solutions/solution-14-template.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-15-agents.html b/html/docs/solutions/solution-15-agents.html
index 566b4dc5..ec802530 100644
--- a/html/docs/solutions/solution-15-agents.html
+++ b/html/docs/solutions/solution-15-agents.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-16-capstone.html b/html/docs/solutions/solution-16-capstone.html
index 30aaeceb..55676269 100644
--- a/html/docs/solutions/solution-16-capstone.html
+++ b/html/docs/solutions/solution-16-capstone.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-bonus-a.html b/html/docs/solutions/solution-bonus-a.html
index 0fcf5678..94e0179c 100644
--- a/html/docs/solutions/solution-bonus-a.html
+++ b/html/docs/solutions/solution-bonus-a.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-bonus-b.html b/html/docs/solutions/solution-bonus-b.html
index 872c8eb6..f0b5f0ad 100644
--- a/html/docs/solutions/solution-bonus-b.html
+++ b/html/docs/solutions/solution-bonus-b.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-bonus-c.html b/html/docs/solutions/solution-bonus-c.html
index 40bc3ce7..ce98b675 100644
--- a/html/docs/solutions/solution-bonus-c.html
+++ b/html/docs/solutions/solution-bonus-c.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-bonus-d.html b/html/docs/solutions/solution-bonus-d.html
index 35251d27..cf77d87b 100644
--- a/html/docs/solutions/solution-bonus-d.html
+++ b/html/docs/solutions/solution-bonus-d.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/solutions/solution-bonus-e.html b/html/docs/solutions/solution-bonus-e.html
index 0758659a..c9279971 100644
--- a/html/docs/solutions/solution-bonus-e.html
+++ b/html/docs/solutions/solution-bonus-e.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/docs/student-onboarding.html b/html/docs/student-onboarding.html
index 12ed4c69..738fbfd1 100644
--- a/html/docs/student-onboarding.html
+++ b/html/docs/student-onboarding.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/golden.html b/html/golden.html
index 0d16dfe8..32c96279 100644
--- a/html/golden.html
+++ b/html/golden.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/index.html b/html/index.html
index a434ce58..877e00cb 100644
--- a/html/index.html
+++ b/html/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/README.html b/html/learning-room/README.html
index 96e5d9a8..182f1c80 100644
--- a/html/learning-room/README.html
+++ b/html/learning-room/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/code-review-sample.html b/html/learning-room/docs/code-review-sample.html
index 184a40a2..b37cc548 100644
--- a/html/learning-room/docs/code-review-sample.html
+++ b/html/learning-room/docs/code-review-sample.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/course-roadmap.html b/html/learning-room/docs/course-roadmap.html
index 4887ba07..a2f114e7 100644
--- a/html/learning-room/docs/course-roadmap.html
+++ b/html/learning-room/docs/course-roadmap.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/keyboard-shortcuts.html b/html/learning-room/docs/keyboard-shortcuts.html
index fae01442..062671ce 100644
--- a/html/learning-room/docs/keyboard-shortcuts.html
+++ b/html/learning-room/docs/keyboard-shortcuts.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/my-notes/agents-discovery.html b/html/learning-room/docs/my-notes/agents-discovery.html
index b9cf93da..e1496d03 100644
--- a/html/learning-room/docs/my-notes/agents-discovery.html
+++ b/html/learning-room/docs/my-notes/agents-discovery.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/samples/agent-file-template.html b/html/learning-room/docs/samples/agent-file-template.html
index d048d5fc..f5ec45a9 100644
--- a/html/learning-room/docs/samples/agent-file-template.html
+++ b/html/learning-room/docs/samples/agent-file-template.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/samples/chapter-6-conflict-practice-sample.html b/html/learning-room/docs/samples/chapter-6-conflict-practice-sample.html
index d257c1ab..92f6b0bd 100644
--- a/html/learning-room/docs/samples/chapter-6-conflict-practice-sample.html
+++ b/html/learning-room/docs/samples/chapter-6-conflict-practice-sample.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/samples/copilot-improvement-before.html b/html/learning-room/docs/samples/copilot-improvement-before.html
index 2e07186b..a9abf888 100644
--- a/html/learning-room/docs/samples/copilot-improvement-before.html
+++ b/html/learning-room/docs/samples/copilot-improvement-before.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/samples/fork-workflow-checklist.html b/html/learning-room/docs/samples/fork-workflow-checklist.html
index 6059e9db..01005400 100644
--- a/html/learning-room/docs/samples/fork-workflow-checklist.html
+++ b/html/learning-room/docs/samples/fork-workflow-checklist.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/setup-guide.html b/html/learning-room/docs/setup-guide.html
index ffcae52c..fea48f37 100644
--- a/html/learning-room/docs/setup-guide.html
+++ b/html/learning-room/docs/setup-guide.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/skills-bonus-scenarios.html b/html/learning-room/docs/skills-bonus-scenarios.html
index a5e74f10..f9e52d7f 100644
--- a/html/learning-room/docs/skills-bonus-scenarios.html
+++ b/html/learning-room/docs/skills-bonus-scenarios.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/solutions/README.html b/html/learning-room/docs/solutions/README.html
index 5cc755ec..453d8cca 100644
--- a/html/learning-room/docs/solutions/README.html
+++ b/html/learning-room/docs/solutions/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/solutions/index.html b/html/learning-room/docs/solutions/index.html
index 5cc755ec..453d8cca 100644
--- a/html/learning-room/docs/solutions/index.html
+++ b/html/learning-room/docs/solutions/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/docs/welcome.html b/html/learning-room/docs/welcome.html
index 2c4ad813..3a8d98c4 100644
--- a/html/learning-room/docs/welcome.html
+++ b/html/learning-room/docs/welcome.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/learning-room/index.html b/html/learning-room/index.html
index 96e5d9a8..182f1c80 100644
--- a/html/learning-room/index.html
+++ b/html/learning-room/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/MICHAEL_AUDIO_HANDOFF.html b/html/podcasts/MICHAEL_AUDIO_HANDOFF.html
index f88ecd53..49ded1df 100644
--- a/html/podcasts/MICHAEL_AUDIO_HANDOFF.html
+++ b/html/podcasts/MICHAEL_AUDIO_HANDOFF.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/README.html b/html/podcasts/README.html
index 129be2db..391762d1 100644
--- a/html/podcasts/README.html
+++ b/html/podcasts/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/REGENERATION.html b/html/podcasts/REGENERATION.html
index 6ab82e9b..c0e99dd7 100644
--- a/html/podcasts/REGENERATION.html
+++ b/html/podcasts/REGENERATION.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/_snapshot-pre-gpt55-20260518-164221/COMPARISON.html b/html/podcasts/_snapshot-pre-gpt55-20260518-164221/COMPARISON.html
index c3993e92..6d7eb8b2 100644
--- a/html/podcasts/_snapshot-pre-gpt55-20260518-164221/COMPARISON.html
+++ b/html/podcasts/_snapshot-pre-gpt55-20260518-164221/COMPARISON.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/index.html b/html/podcasts/index.html
index 129be2db..391762d1 100644
--- a/html/podcasts/index.html
+++ b/html/podcasts/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/README.html b/html/podcasts/llm-podcast-generator-review/README.html
index 2127bca1..dd6fd749 100644
--- a/html/podcasts/llm-podcast-generator-review/README.html
+++ b/html/podcasts/llm-podcast-generator-review/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/audio-metadata-integration.html b/html/podcasts/llm-podcast-generator-review/docs/audio-metadata-integration.html
index 17b18b7e..27471df0 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/audio-metadata-integration.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/audio-metadata-integration.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/lessons-learned.html b/html/podcasts/llm-podcast-generator-review/docs/lessons-learned.html
index a9b51ad3..72347995 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/lessons-learned.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/lessons-learned.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/openai-model-cost-report.html b/html/podcasts/llm-podcast-generator-review/docs/openai-model-cost-report.html
index 7528086b..3b71f2ea 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/openai-model-cost-report.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/openai-model-cost-report.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/repository-integration-plan.html b/html/podcasts/llm-podcast-generator-review/docs/repository-integration-plan.html
index eea0d0a7..1d4c915d 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/repository-integration-plan.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/repository-integration-plan.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/scripts-only-troubleshooting.html b/html/podcasts/llm-podcast-generator-review/docs/scripts-only-troubleshooting.html
index f962191b..21134053 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/scripts-only-troubleshooting.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/scripts-only-troubleshooting.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/docs/setup-and-wiring.html b/html/podcasts/llm-podcast-generator-review/docs/setup-and-wiring.html
index 453ee753..5da3ad13 100644
--- a/html/podcasts/llm-podcast-generator-review/docs/setup-and-wiring.html
+++ b/html/podcasts/llm-podcast-generator-review/docs/setup-and-wiring.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/index.html b/html/podcasts/llm-podcast-generator-review/index.html
index 2127bca1..dd6fd749 100644
--- a/html/podcasts/llm-podcast-generator-review/index.html
+++ b/html/podcasts/llm-podcast-generator-review/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/llm-podcast-generator-review/plan.html b/html/podcasts/llm-podcast-generator-review/plan.html
index 7fa77cbc..39063398 100644
--- a/html/podcasts/llm-podcast-generator-review/plan.html
+++ b/html/podcasts/llm-podcast-generator-review/plan.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/agentic-pilot/README.html b/html/podcasts/tools/agentic-pilot/README.html
index 60808548..f0366a0c 100644
--- a/html/podcasts/tools/agentic-pilot/README.html
+++ b/html/podcasts/tools/agentic-pilot/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/agentic-pilot/index.html b/html/podcasts/tools/agentic-pilot/index.html
index 60808548..f0366a0c 100644
--- a/html/podcasts/tools/agentic-pilot/index.html
+++ b/html/podcasts/tools/agentic-pilot/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/quality_compare_reports/_smoke-cc14-vs-cc15.html b/html/podcasts/tools/quality_compare_reports/_smoke-cc14-vs-cc15.html
index 27885b2a..dd7248f2 100644
--- a/html/podcasts/tools/quality_compare_reports/_smoke-cc14-vs-cc15.html
+++ b/html/podcasts/tools/quality_compare_reports/_smoke-cc14-vs-cc15.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt54.html b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt54.html
index a9b03a52..424c9f09 100644
--- a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt54.html
+++ b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt54.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt55.html b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt55.html
index a1ed82b1..1f9dc243 100644
--- a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt55.html
+++ b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.gpt55.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.html b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.html
index 8e96ec0a..e2ce2660 100644
--- a/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.html
+++ b/html/podcasts/tools/quality_compare_reports/cc-15-discover-accessibility-agents.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tools/quality_triage_report.html b/html/podcasts/tools/quality_triage_report.html
index e67f8ada..204bc381 100644
--- a/html/podcasts/tools/quality_triage_report.html
+++ b/html/podcasts/tools/quality_triage_report.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tts/PIPER.html b/html/podcasts/tts/PIPER.html
index b72bd8fb..d8cf5685 100644
--- a/html/podcasts/tts/PIPER.html
+++ b/html/podcasts/tts/PIPER.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tts/README.html b/html/podcasts/tts/README.html
index 7e78ec8a..d1000cd3 100644
--- a/html/podcasts/tts/README.html
+++ b/html/podcasts/tts/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/podcasts/tts/index.html b/html/podcasts/tts/index.html
index 7e78ec8a..d1000cd3 100644
--- a/html/podcasts/tts/index.html
+++ b/html/podcasts/tts/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/scripts/vibevoice/README.html b/html/scripts/vibevoice/README.html
index 7652e2a1..e13a2928 100644
--- a/html/scripts/vibevoice/README.html
+++ b/html/scripts/vibevoice/README.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/scripts/vibevoice/index.html b/html/scripts/vibevoice/index.html
index 7652e2a1..e13a2928 100644
--- a/html/scripts/vibevoice/index.html
+++ b/html/scripts/vibevoice/index.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/search-index.json b/html/search-index.json
index 966b7a0a..ac22f136 100644
--- a/html/search-index.json
+++ b/html/search-index.json
@@ -15,7 +15,7 @@
"id": "BATCH.html",
"title": "Batch Command Reference",
"url": "BATCH.html",
- "body": "Batch Command Reference This file documents the cmd.exe batch files in the repo root for podcast operations. All batch files change directory to the repo root automatically, so they work correctly from any location. Workflow order Run operations in this sequence for a full podcast build from scratch: generate-transcripts.bat - write episode scripts from the catalog generate-audio.bat - synthesise MP3 audio from those scripts build-rss-feed.bat - generate the RSS feed and podcast listing validate-rss-feed.bat - verify the feed is valid before publishing generate-transcripts.bat Validates the podcast catalog, builds episode and challenge bundles, then writes all episode and challenge coach scripts to podcasts\\scripts\\ . generate -transcripts .bat Output files: podcasts\\scripts\\ep*.txt and podcasts\\scripts\\cc-*.txt Note: transcript generation always rebuilds all episodes from the catalog. Range selection is not supported at this stage. Run this step whenever the catalog or source docs change. generate-audio.bat Synthesises MP3 audio for all episodes or a specific numbered range. Audio format, voice model, pitch, and speed settings are read from podcasts\\tts\\voice-config.ini . The script echoes each episode name and index as it is processed. ffmpeg is required for MP3 output and is located automatically from the machine PATH, including after a fresh winget install. generate -audio .bat generate all 75 episodes generate -audio .bat 5 generate episodes 5 and above generate -audio .bat 5 10 generate episodes 5 through 10 Output files: podcasts\\audio\\*.mp3 To change audio format, voice pitch, or speed, edit podcasts\\tts\\voice-config.ini before running this command. build-rss-feed.bat Generates the RSS 2.0 / iTunes-compatible podcast feed and the admin podcast listing. Reads MP3 file sizes from podcasts\\audio\\ and episode metadata from the catalog. build -rss-feed.bat Output files: podcasts\\feed.xml - the RSS feed for podcast directories admin\\PODCASTS.md - human-readable episode listing Run this command after generate-audio.bat completes so that enclosure lengths reflect the final MP3 file sizes. validate-rss-feed.bat Runs local RSS 2.0 and iTunes compliance checks on podcasts\\feed.xml . validate -rss-feed.bat Checks performed: Required channel elements: title, link, description, language Required per-item elements: title, enclosure, guid Enclosure URL, byte length, and MIME type Duplicate GUID detection Run build-rss-feed.bat first. The validator exits with a non-zero code on any failure so it can be used in CI scripts. Configuration file podcasts\\tts\\voice-config.ini controls all audio generation settings. The following table lists the available settings. Key Description Example male_model Piper ONNX model file for the male voice (Alex) en_US-ryan-high.onnx female_model Piper ONNX model file for the female voice (Jamie) en_US-lessac-high.onnx male_pitch_semitones Pitch shift in semitones for the male voice -2 female_pitch_semitones Pitch shift in semitones for the female voice 2 speech_rate Words per minute (passed to Piper) 180 episode_audio_format Output format: wav , mp3 , or both mp3 npm scripts The batch files wrap these npm scripts. They can also be run directly from a PowerShell or bash session at the repo root. npm script Description npm run validate:podcasts Validate the podcast catalog npm run generate:podcast-transcripts Generate transcript scripts npm run build:podcast-audio Generate audio (all episodes) npm run build:podcast-site Build RSS feed and podcast listing npm run validate:podcast-feed Validate the RSS feed To pass a range to the audio build from npm: npm run build:podcast - audio -- -- start 5 -- end 10 Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. Workflow order: GitHub Docs, home , GitHub Changelog , Workflow syntax for GitHub Actions , Secure use reference for GitHub Actions , GitHub Actions changelog generate-transcripts.bat: GitHub Docs, home , GitHub Changelog generate-audio.bat: GitHub Docs, home , GitHub Changelog build-rss-feed.bat: GitHub Docs, home , GitHub Changelog validate-rss-feed.bat: GitHub Docs, home , GitHub Changelog Configuration file: GitHub Docs, home , GitHub Changelog npm scripts: GitHub Docs, home , GitHub Changelog"
+ "body": "Batch Command Reference This file documents the cmd.exe batch files in the repo root for podcast operations. All batch files change directory to the repo root automatically, so they work correctly from any location. Workflow order Run operations in this sequence for a full podcast build from scratch: generate-transcripts.bat - write episode scripts from the catalog generate-audio.bat - synthesise MP3 audio from those scripts build-rss-feed.bat - generate the RSS feed and podcast listing validate-rss-feed.bat - verify the feed is valid before publishing generate-transcripts.bat Validates the podcast catalog, builds episode and challenge bundles, then writes all episode and challenge coach scripts to podcasts\\scripts\\ . generate-transcripts.bat Output files: podcasts\\scripts\\ep*.txt and podcasts\\scripts\\cc-*.txt Note: transcript generation always rebuilds all episodes from the catalog. Range selection is not supported at this stage. Run this step whenever the catalog or source docs change. generate-audio.bat Synthesises MP3 audio for all episodes or a specific numbered range. Audio format, voice model, pitch, and speed settings are read from podcasts\\tts\\voice-config.ini . The script echoes each episode name and index as it is processed. ffmpeg is required for MP3 output and is located automatically from the machine PATH, including after a fresh winget install. generate-audio.bat generate all 75 episodes generate-audio.bat 5 generate episodes 5 and above generate-audio.bat 5 10 generate episodes 5 through 10 Output files: podcasts\\audio\\*.mp3 To change audio format, voice pitch, or speed, edit podcasts\\tts\\voice-config.ini before running this command. build-rss-feed.bat Generates the RSS 2.0 / iTunes-compatible podcast feed and the admin podcast listing. Reads MP3 file sizes from podcasts\\audio\\ and episode metadata from the catalog. build-rss-feed.bat Output files: podcasts\\feed.xml - the RSS feed for podcast directories admin\\PODCASTS.md - human-readable episode listing Run this command after generate-audio.bat completes so that enclosure lengths reflect the final MP3 file sizes. validate-rss-feed.bat Runs local RSS 2.0 and iTunes compliance checks on podcasts\\feed.xml . validate-rss-feed.bat Checks performed: Required channel elements: title, link, description, language Required per-item elements: title, enclosure, guid Enclosure URL, byte length, and MIME type Duplicate GUID detection Run build-rss-feed.bat first. The validator exits with a non-zero code on any failure so it can be used in CI scripts. Configuration file podcasts\\tts\\voice-config.ini controls all audio generation settings. The following table lists the available settings. Key Description Example male_model Piper ONNX model file for the male voice (Alex) en_US-ryan-high.onnx female_model Piper ONNX model file for the female voice (Jamie) en_US-lessac-high.onnx male_pitch_semitones Pitch shift in semitones for the male voice -2 female_pitch_semitones Pitch shift in semitones for the female voice 2 speech_rate Words per minute (passed to Piper) 180 episode_audio_format Output format: wav , mp3 , or both mp3 npm scripts The batch files wrap these npm scripts. They can also be run directly from a PowerShell or bash session at the repo root. npm script Description npm run validate:podcasts Validate the podcast catalog npm run generate:podcast-transcripts Generate transcript scripts npm run build:podcast-audio Generate audio (all episodes) npm run build:podcast-site Build RSS feed and podcast listing npm run validate:podcast-feed Validate the RSS feed To pass a range to the audio build from npm: npm run build:podcast-audio -- --start 5 --end 10 Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. Workflow order: GitHub Docs, home , GitHub Changelog , Workflow syntax for GitHub Actions , Secure use reference for GitHub Actions , GitHub Actions changelog generate-transcripts.bat: GitHub Docs, home , GitHub Changelog generate-audio.bat: GitHub Docs, home , GitHub Changelog build-rss-feed.bat: GitHub Docs, home , GitHub Changelog validate-rss-feed.bat: GitHub Docs, home , GitHub Changelog Configuration file: GitHub Docs, home , GitHub Changelog npm scripts: GitHub Docs, home , GitHub Changelog"
},
{
"id": "BUILD.html",
@@ -39,7 +39,7 @@
"id": "CONTRIBUTING.html",
"title": "Contributing to This Workshop Repository",
"url": "CONTRIBUTING.html",
- "body": "Contributing to This Workshop Repository Thank you for helping improve this workshop. Whether you are a participant who found a typo, someone who wants to add a new exercise, or an educator adapting these materials for your own community - your contribution is meaningful and welcome. This guide covers contributing to this workshop learning repository . For contributing to Accessibility Agents itself (the project you work on during Day 2), see Accessibility Agents' CONTRIBUTING.md . Table of Contents Who This Is For What Kinds of Contributions Are Welcome Before You Start - Fork and Clone Contribution Workflow - Step by Step Writing and Style Guidelines Accessibility Requirements HTML Documentation Build System Screen Reader Guidance for Commands in This Document Submitting Your Pull Request What Happens After You Submit Questions and Discussion 1. Who This Is For Workshop participants: You have already completed the contribution workflow during the workshop. This repository is an excellent first contribution target for applying what you practiced. Educators and facilitators: You are welcome to fork the entire repository and adapt the materials for your own workshop program. Attribution is required under the CC BY 4.0 license - please include a credit line and link to the original repository. Accessibility practitioners: If you have domain expertise in a particular screen reader or assistive technology and notice something that is incorrect or incomplete, please open an issue or submit a correction. Your expertise is exactly what this documentation needs. People who find bugs: A broken link, a command that has stopped working, an exercise that cannot be completed - all of these are legitimate bugs. Open an issue the same way you would for any software project. 2. What Kinds of Contributions Are Welcome Documentation Improvements Corrections: Wrong keyboard shortcut, screen reader command that has changed, broken external link, outdated UI description Clarity: A step that was confusing, an assumption that left someone behind, a paragraph that should be two Gaps: A common question that the documentation does not answer, an exercise step that was skipped New content: An additional exercise, a section about a tool or workflow not yet covered, a translation Issues and Bug Reports A command in the workshop exercises that does not work as described A screen reader behavior that differs from what the documentation says A broken link or missing image An exercise that assumes knowledge introduced later in the workshop Workshop Materials New exercises that reinforce a concept Facilitator notes based on running a session Timing adjustments based on real session experience Alternative approaches for participants on different operating systems What We Are Not Looking For Right Now Rewriting the complete voice or structure of the workshop - if you have large-scale ideas, open a discussion first Adding content about tools or platforms not currently mentioned in the workshop Automated link-checking or content generation without human review 3. Before You Start - Fork and Clone You learned this workflow during the workshop. Here it is again as a reference. Account security Security: We strongly recommend enabling Two-Factor Authentication (2FA) on your GitHub account. If you cannot enable 2FA, add an SSH key or create a Personal Access Token (PAT) with repo scope before contributing. If you need help, contact the workshop organizers. Fork the Repository Navigate to the workshop repository on GitHub Activate the Fork button (top right of the repository page) Select your account as the fork destination Wait for the fork to complete - you will be redirected to your copy Screen reader users: NVDA / JAWS: Navigate by button ( B ) to find "Fork" VoiceOver: VO+Right Arrow to find "Fork" button, VO+Space to activate Clone Your Fork git clone https://github.com/[your-username]/[workshop-repo-name].git cd [workshop-repo-name] Add the Upstream Remote This keeps your fork synchronized with the original repository: git remote add upstream https://github.com/[original-owner]/[workshop-repo-name].git Verify both remotes are configured: git remote -v Expected output: origin https://github.com/ [ your-username ]/[workshop-repo-name].git (fetch) origin https://github.com/ [ your-username ]/[workshop-repo-name].git (push) upstream https://github.com/ [ original-owner ]/[workshop-repo-name].git (fetch) upstream https://github.com/ [ original-owner ]/[workshop-repo-name].git (push) 4. Contribution Workflow - Step by Step This is the same workflow you practiced during the workshop, applied to a real contribution. Step 1 - Sync with Upstream Always start from a current copy of the main branch: git checkout main git fetch upstream git merge upstream/main git push origin main Step 2 - Create a Focused Branch One issue or topic per branch. Branch names should describe the change: git checkout -b fix-nvda-shortcut-section-05 git"
+ "body": "Contributing to This Workshop Repository Thank you for helping improve this workshop. Whether you are a participant who found a typo, someone who wants to add a new exercise, or an educator adapting these materials for your own community - your contribution is meaningful and welcome. This guide covers contributing to this workshop learning repository . For contributing to Accessibility Agents itself (the project you work on during Day 2), see Accessibility Agents' CONTRIBUTING.md . Table of Contents Who This Is For What Kinds of Contributions Are Welcome Before You Start - Fork and Clone Contribution Workflow - Step by Step Writing and Style Guidelines Accessibility Requirements HTML Documentation Build System Screen Reader Guidance for Commands in This Document Submitting Your Pull Request What Happens After You Submit Questions and Discussion 1. Who This Is For Workshop participants: You have already completed the contribution workflow during the workshop. This repository is an excellent first contribution target for applying what you practiced. Educators and facilitators: You are welcome to fork the entire repository and adapt the materials for your own workshop program. Attribution is required under the CC BY 4.0 license - please include a credit line and link to the original repository. Accessibility practitioners: If you have domain expertise in a particular screen reader or assistive technology and notice something that is incorrect or incomplete, please open an issue or submit a correction. Your expertise is exactly what this documentation needs. People who find bugs: A broken link, a command that has stopped working, an exercise that cannot be completed - all of these are legitimate bugs. Open an issue the same way you would for any software project. 2. What Kinds of Contributions Are Welcome Documentation Improvements Corrections: Wrong keyboard shortcut, screen reader command that has changed, broken external link, outdated UI description Clarity: A step that was confusing, an assumption that left someone behind, a paragraph that should be two Gaps: A common question that the documentation does not answer, an exercise step that was skipped New content: An additional exercise, a section about a tool or workflow not yet covered, a translation Issues and Bug Reports A command in the workshop exercises that does not work as described A screen reader behavior that differs from what the documentation says A broken link or missing image An exercise that assumes knowledge introduced later in the workshop Workshop Materials New exercises that reinforce a concept Facilitator notes based on running a session Timing adjustments based on real session experience Alternative approaches for participants on different operating systems What We Are Not Looking For Right Now Rewriting the complete voice or structure of the workshop - if you have large-scale ideas, open a discussion first Adding content about tools or platforms not currently mentioned in the workshop Automated link-checking or content generation without human review 3. Before You Start - Fork and Clone You learned this workflow during the workshop. Here it is again as a reference. Account security Security: We strongly recommend enabling Two-Factor Authentication (2FA) on your GitHub account. If you cannot enable 2FA, add an SSH key or create a Personal Access Token (PAT) with repo scope before contributing. If you need help, contact the workshop organizers. Fork the Repository Navigate to the workshop repository on GitHub Activate the Fork button (top right of the repository page) Select your account as the fork destination Wait for the fork to complete - you will be redirected to your copy Screen reader users: NVDA / JAWS: Navigate by button ( B ) to find "Fork" VoiceOver: VO+Right Arrow to find "Fork" button, VO+Space to activate Clone Your Fork git clone https://github.com/[your-username]/[workshop-repo-name].git cd [workshop-repo-name] Add the Upstream Remote This keeps your fork synchronized with the original repository: git remote add upstream https://github.com/[original-owner]/[workshop-repo-name].git Verify both remotes are configured: git remote -v Expected output: origin https://github.com/[your-username]/[workshop-repo-name].git (fetch) origin https://github.com/[your-username]/[workshop-repo-name].git (push) upstream https://github.com/[original-owner]/[workshop-repo-name].git (fetch) upstream https://github.com/[original-owner]/[workshop-repo-name].git (push) 4. Contribution Workflow - Step by Step This is the same workflow you practiced during the workshop, applied to a real contribution. Step 1 - Sync with Upstream Always start from a current copy of the main branch: git checkout main git fetch upstream git merge upstream/main git push origin main Step 2 - Create a Focused Branch One issue or topic per branch. Branch names should describe the change: git checkout -b fix-nvda-shortcut-section-05 git checkout -b"
},
{
"id": "GO-LIVE-QA-GUIDE.html",
@@ -87,13 +87,13 @@
"id": "admin/ACCESSIBILITY_TESTING.html",
"title": "Accessibility Testing Checklist",
"url": "admin/ACCESSIBILITY_TESTING.html",
- "body": "Accessibility Testing Checklist Verify GitHub Templates & Workflows Are Accessible This checklist helps you test issue templates, PRs, and GitHub workflows to ensure they're usable by people with disabilities (especially screen reader users). Quick Checklist for Templates Use before deploying any new issue template or form. Form Fields & Labels Every form field has a visible label Label text is clear and describes what's needed (not "Please enter") Required fields are marked and announced as required Help text is associated with each field (not just placeholder text) No fields rely on color alone to indicate required/error status Form Structure Form inputs are in logical order (top to bottom) Dropdown options are readable and include blank option or instruction Checkboxes and radio buttons are grouped and labeled No more than 6-8 required fields (reduces cognitive load) Preview or review step before submission (allows verification) Instructions & Guidance Markdown section explains what's needed and why Instructions use simple language (8th grade reading level) Headings are in order (H2, H3, H4 - not H2, H4) Links have descriptive text (not "click here") Code examples are formatted clearly (not in plain text) YAML & Technical YAML passes syntax validation ( https://www.yamllint.com/ ) No trailing spaces or mixed indentation All required fields present: name: , description: , body: Field IDs are unique and lowercase with hyphens (e.g., browser_type ) Screen Reader Testing Workflow Before Testing Prepare: Have form open in browser with screen reader ready Choose: Test with NVDA (Windows), JAWS (Windows), or VoiceOver (macOS) Record: Note any issues for fixing NVDA Testing (Windows) 1 . Press NVDA+Space to enable browse mode on page 2 . Press H to navigate to first heading 3 . Use H repeatedly to scan all headings (should be H1 → H2 → H3, not jumps ) 4 . Press B to find buttons, forms 5 . Navigate to form field: Tab or arrow keys 6 . Screen reader should announce: "[Label text] [field type] [required if applicable]" Example: "Email address edit text, required" 7 . Tab through every field in order 8 . Check Tab order makes sense ( left - to - right , top- to -bottom) 9 . Verify instructions between fields are heard What to listen for: Every field label is announced "Required" is announced for required fields No fields are skipped Field types are clear (edit text, dropdown, checkbox, etc.) Help text is read before or near the field JAWS Testing (Windows) 1. Press Spacebar to enter browse mode 2. Press Insert+F6 to open headings list - Verify headings are in order (1 → 2 → 3, no jumps) - Close list (Escape) 3. Press Insert+F5 to open forms list - Should see every field - Close list 4. Tab through form field by field 5. JAWS should announce: "[Label] [field type] [required if applicable]" 6. Press Insert+Down to read entire form (simulates form -scanning) What to listen for: Form start is announced All fields are listed in Forms List Required fields say "required" Field order matches logical reading order No unlabeled fields VoiceOver Testing (macOS) 1 . Press VO+U to open Web Rotor 2 . Navigate to Form Controls section - Should list all fields - Verify count matches expected fields 3 . Navigate to Headings section - Check heading hierarchy (no jumps) 4 . Press VO+ Right arrow to move through page - Should hear each field label before field 5 . Press VO+Space on field to interact 6 . VoiceOver should announce: "[Label], [field type] [required if applicable]" What to listen for: Rotor shows all form controls Heading levels are correct (no 1 → 3 jumps) Field labels are adjacent to fields Instructions are readable Accessibility Testing by Component Checkboxes & Radio Buttons Grouped label describes the entire group Individual labels describe each option Screen reader announces number of options Example: Screen reader says: "Browser, radio button group, 3 items. Chrome, radio button, not selected" Test: Tab to group, use arrow keys to select. Screen reader should guide you clearly. Dropdowns Visible label above or adjacent to dropdown Dropdown shows currently selected value Opening dropdown announces all options (or "expandable menu") Options include instruction or blank option if optional Focus style is visible (not invisible on dark backgrounds) Test: Tab to dropdown, press Down/Space to open, arrow through options. Links & Buttons Link text describes where it goes (not "click here", "link", "read more") Button text describes what happens (not "submit", "go", "continue") Focuses visible with keyboard (Tab key shows clear highlight) No links that are only images (images need alt text) Test: Press Tab to navigate, read labels aloud. Text Fields (Input, Textarea) Label directly associated with field (via label tag or aria-label"
+ "body": "Accessibility Testing Checklist Verify GitHub Templates & Workflows Are Accessible This checklist helps you test issue templates, PRs, and GitHub workflows to ensure they're usable by people with disabilities (especially screen reader users). Quick Checklist for Templates Use before deploying any new issue template or form. Form Fields & Labels Every form field has a visible label Label text is clear and describes what's needed (not "Please enter") Required fields are marked and announced as required Help text is associated with each field (not just placeholder text) No fields rely on color alone to indicate required/error status Form Structure Form inputs are in logical order (top to bottom) Dropdown options are readable and include blank option or instruction Checkboxes and radio buttons are grouped and labeled No more than 6-8 required fields (reduces cognitive load) Preview or review step before submission (allows verification) Instructions & Guidance Markdown section explains what's needed and why Instructions use simple language (8th grade reading level) Headings are in order (H2, H3, H4 - not H2, H4) Links have descriptive text (not "click here") Code examples are formatted clearly (not in plain text) YAML & Technical YAML passes syntax validation ( https://www.yamllint.com/ ) No trailing spaces or mixed indentation All required fields present: name: , description: , body: Field IDs are unique and lowercase with hyphens (e.g., browser_type ) Screen Reader Testing Workflow Before Testing Prepare: Have form open in browser with screen reader ready Choose: Test with NVDA (Windows), JAWS (Windows), or VoiceOver (macOS) Record: Note any issues for fixing NVDA Testing (Windows) 1. Press NVDA+Space to enable browse mode on page 2. Press H to navigate to first heading 3. Use H repeatedly to scan all headings (should be H1 → H2 → H3, not jumps) 4. Press B to find buttons, forms 5. Navigate to form field: Tab or arrow keys 6. Screen reader should announce: "[Label text] [field type] [required if applicable]" Example: "Email address edit text, required" 7. Tab through every field in order 8. Check Tab order makes sense (left-to-right, top-to-bottom) 9. Verify instructions between fields are heard What to listen for: Every field label is announced "Required" is announced for required fields No fields are skipped Field types are clear (edit text, dropdown, checkbox, etc.) Help text is read before or near the field JAWS Testing (Windows) 1. Press Spacebar to enter browse mode 2. Press Insert+F6 to open headings list - Verify headings are in order (1 → 2 → 3, no jumps) - Close list (Escape) 3. Press Insert+F5 to open forms list - Should see every field - Close list 4. Tab through form field by field 5. JAWS should announce: "[Label] [field type] [required if applicable]" 6. Press Insert+Down to read entire form (simulates form-scanning) What to listen for: Form start is announced All fields are listed in Forms List Required fields say "required" Field order matches logical reading order No unlabeled fields VoiceOver Testing (macOS) 1. Press VO+U to open Web Rotor 2. Navigate to Form Controls section - Should list all fields - Verify count matches expected fields 3. Navigate to Headings section - Check heading hierarchy (no jumps) 4. Press VO+Right arrow to move through page - Should hear each field label before field 5. Press VO+Space on field to interact 6. VoiceOver should announce: "[Label], [field type] [required if applicable]" What to listen for: Rotor shows all form controls Heading levels are correct (no 1 → 3 jumps) Field labels are adjacent to fields Instructions are readable Accessibility Testing by Component Checkboxes & Radio Buttons Grouped label describes the entire group Individual labels describe each option Screen reader announces number of options Example: Screen reader says: "Browser, radio button group, 3 items. Chrome, radio button, not selected" Test: Tab to group, use arrow keys to select. Screen reader should guide you clearly. Dropdowns Visible label above or adjacent to dropdown Dropdown shows currently selected value Opening dropdown announces all options (or "expandable menu") Options include instruction or blank option if optional Focus style is visible (not invisible on dark backgrounds) Test: Tab to dropdown, press Down/Space to open, arrow through options. Links & Buttons Link text describes where it goes (not "click here", "link", "read more") Button text describes what happens (not "submit", "go", "continue") Focuses visible with keyboard (Tab key shows clear highlight) No links that are only images (images need alt text) Test: Press Tab to navigate, read labels aloud. Text Fields (Input, Textarea) Label directly associated with field (via label tag or aria-label) Placeholder text is NOT "
},
{
"id": "admin/AGENTS_ROADMAP.html",
"title": "Agents Roadmap & Version History",
"url": "admin/AGENTS_ROADMAP.html",
- "body": "Agents Roadmap & Version History Overview document for facilitators and contributors. Last updated: May 2026 Accessibility Agents version: 5.0.0+ Overview Git Going with GitHub curriculum integrates Accessibility Agents - an ecosystem of 80+ AI-powered agents across 5 platforms (GitHub Copilot, Claude Code, Gemini CLI, Claude Desktop, Codex CLI) for accessibility auditing, remediation, and developer tool integration. This document tracks the curriculum's alignment with Accessibility Agents versions, capability evolution, and contribution pathways for facilitators and maintainers. Version Alignment Curriculum Version 2.0 (May 2026) - Accessibility Agents 5.0.0+ Curriculum changes: Chapter 19: Expanded from 55 to 80 agents; added 5-platform support; added document and developer tools teams Appendix K: Added MCP Server section; comprehensive Copilot reference with cross-platform guidance Appendix L: Enhanced from 26 to 40 accessibility agents; added 20 GitHub Workflow agents; added 18 developer tool agents NEW Appendix AA: Agent Installation & Setup (comprehensive platform guide) NEW Appendix AB: Advanced Agent Patterns & Skills (subagent delegation, hooks, skills authoring) NEW Appendix AC: Document & Developer Tool Agents (Office, PDF, EPUB, Python, wxPython, CI/CD) Agents 5.0.0 capabilities: Capability Version Status Details Detection → Remediation 5.0.0+ Stable Agents can now automatically apply fixes (not just report issues) Compliance Exports (VPAT) 5.0.0+ Stable Generate Voluntary Product Accessibility Template reports Continuous Evaluation 5.0.0+ Stable Track accessibility improvement over time with automated scoring Multi-Platform Support 5.0.0+ Stable Same agents run on Copilot, Claude, Gemini, Claude Desktop, Codex Skills-First Architecture 5.0.0+ Stable Reusable 25+ skills bundled with agents; agents delegate to skills Hooks (Lifecycle Automation) 5.0.0+ Stable JSON-based event triggers (on-edit, on-save, on-commit, on-schedule) Document Team Expansion 5.0.0+ Stable Word, Excel, PowerPoint, PDF, EPUB agents added; remediators available Developer Tools Integration 5.0.0+ Stable Python, wxPython, CI/CD, desktop accessibility agents integrated Previous Versions Curriculum Version 1.0 (September 2025) - Accessibility Agents 4.x Chapter 16: GitHub Copilot introduction (basic agents, no cross-platform) Appendices K-L: Copilot and 55 web/GitHub agents (web accessibility team only) No document or developer tools support No hooks or advanced skills Key Transitions: What Changed Between 4.x → 5.0.0 1. Detection → Remediation Paradigm Shift Before (4.x): Agents reported issues; users fixed manually. Now (5.0.0+): Agents can auto-apply many fixes; users review and confirm. Example: Version 4 .x: User : @aria-specialist audit this component Agent : [Reports 3 ARIA errors] User : [Manually fixes issues in code] Version 5 . 0 . 0 +: User : @web-issue-fixer audit-and-fix this component Agent : [Reports 3 ARIA errors] Agent : [Applies auto-fix for 2 errors; flags 1 for manual review] Agent : [Returns remediated code for approval] 2. Compliance Exports & VPAT Generation Before (4.x): No automated compliance reporting. Now (5.0.0+): Generate VPAT and compliance reports automatically. User: @document-csv-reporter generate-vpat audit-findings.json Agent: [Exports findings mapped to WCAG 2.2 AA and Section 508 ] Agent: [Generates VPAT template with compliance assertions] Output: compliance-report.xlsx 3. Continuous Evaluation & Trending Before (4.x): One-off audits; no trend tracking. Now (5.0.0+): Track accessibility scores over time; identify improvement or regression. Capability: Hook configuration: { "name" : "continuous-eval" , "event" : "on-schedule" , "schedule" : "0 2 * * 0" , // Weekly "track" : { "metrics" : [ "page-score" , "error-count" ], "baseline" : "2026-01-01" , "frequency" : "weekly" } } Output: Trend report showing score changes week -over- week 4. Multi-Platform Parity Before (4.x): VS Code Copilot only. Now (5.0.0+): Same agents run on: GitHub Copilot (VS Code) Claude Code (CLI) Gemini CLI Claude Desktop Codex CLI Curriculum Learning Pathways Path 1: Web Accessibility (Foundational) Prerequisite chapters: 1-10 (GitHub fundamentals) Learning sequence: Chapter 11: VS Code interface Chapter 16: GitHub Copilot introduction Chapter 19: Accessibility Agents (Web team) - Chapters/Appendices L, K Appendix M: Accessibility standards (WCAG 2.2 AA reference) Challenges 19.1-19.3: Web accessibility audits with @web-accessibility-wizard Agents used: 40 web/accessibility specialists; 5 GitHub workflow agents Time commitment: 4-6 hours self-paced Path 2: Document Accessibility (Intermediate) Prerequisite: Path 1 (web accessibility) or Chapter 19 overview Learning sequence: Appendix AC: Document & Developer Tool Agents (Document section) Challeng"
+ "body": "Agents Roadmap & Version History Overview document for facilitators and contributors. Last updated: May 2026 Accessibility Agents version: 5.0.0+ Overview Git Going with GitHub curriculum integrates Accessibility Agents - an ecosystem of 80+ AI-powered agents across 5 platforms (GitHub Copilot, Claude Code, Gemini CLI, Claude Desktop, Codex CLI) for accessibility auditing, remediation, and developer tool integration. This document tracks the curriculum's alignment with Accessibility Agents versions, capability evolution, and contribution pathways for facilitators and maintainers. Version Alignment Curriculum Version 2.0 (May 2026) - Accessibility Agents 5.0.0+ Curriculum changes: Chapter 19: Expanded from 55 to 80 agents; added 5-platform support; added document and developer tools teams Appendix K: Added MCP Server section; comprehensive Copilot reference with cross-platform guidance Appendix L: Enhanced from 26 to 40 accessibility agents; added 20 GitHub Workflow agents; added 18 developer tool agents NEW Appendix AA: Agent Installation & Setup (comprehensive platform guide) NEW Appendix AB: Advanced Agent Patterns & Skills (subagent delegation, hooks, skills authoring) NEW Appendix AC: Document & Developer Tool Agents (Office, PDF, EPUB, Python, wxPython, CI/CD) Agents 5.0.0 capabilities: Capability Version Status Details Detection → Remediation 5.0.0+ Stable Agents can now automatically apply fixes (not just report issues) Compliance Exports (VPAT) 5.0.0+ Stable Generate Voluntary Product Accessibility Template reports Continuous Evaluation 5.0.0+ Stable Track accessibility improvement over time with automated scoring Multi-Platform Support 5.0.0+ Stable Same agents run on Copilot, Claude, Gemini, Claude Desktop, Codex Skills-First Architecture 5.0.0+ Stable Reusable 25+ skills bundled with agents; agents delegate to skills Hooks (Lifecycle Automation) 5.0.0+ Stable JSON-based event triggers (on-edit, on-save, on-commit, on-schedule) Document Team Expansion 5.0.0+ Stable Word, Excel, PowerPoint, PDF, EPUB agents added; remediators available Developer Tools Integration 5.0.0+ Stable Python, wxPython, CI/CD, desktop accessibility agents integrated Previous Versions Curriculum Version 1.0 (September 2025) - Accessibility Agents 4.x Chapter 16: GitHub Copilot introduction (basic agents, no cross-platform) Appendices K-L: Copilot and 55 web/GitHub agents (web accessibility team only) No document or developer tools support No hooks or advanced skills Key Transitions: What Changed Between 4.x → 5.0.0 1. Detection → Remediation Paradigm Shift Before (4.x): Agents reported issues; users fixed manually. Now (5.0.0+): Agents can auto-apply many fixes; users review and confirm. Example: Version 4.x: User: @aria-specialist audit this component Agent: [Reports 3 ARIA errors] User: [Manually fixes issues in code] Version 5.0.0+: User: @web-issue-fixer audit-and-fix this component Agent: [Reports 3 ARIA errors] Agent: [Applies auto-fix for 2 errors; flags 1 for manual review] Agent: [Returns remediated code for approval] 2. Compliance Exports & VPAT Generation Before (4.x): No automated compliance reporting. Now (5.0.0+): Generate VPAT and compliance reports automatically. User: @document-csv-reporter generate-vpat audit-findings.json Agent: [Exports findings mapped to WCAG 2.2 AA and Section 508] Agent: [Generates VPAT template with compliance assertions] Output: compliance-report.xlsx 3. Continuous Evaluation & Trending Before (4.x): One-off audits; no trend tracking. Now (5.0.0+): Track accessibility scores over time; identify improvement or regression. Capability: Hook configuration: { "name": "continuous-eval", "event": "on-schedule", "schedule": "0 2 * * 0", // Weekly "track": { "metrics": ["page-score", "error-count"], "baseline": "2026-01-01", "frequency": "weekly" } } Output: Trend report showing score changes week-over-week 4. Multi-Platform Parity Before (4.x): VS Code Copilot only. Now (5.0.0+): Same agents run on: GitHub Copilot (VS Code) Claude Code (CLI) Gemini CLI Claude Desktop Codex CLI Curriculum Learning Pathways Path 1: Web Accessibility (Foundational) Prerequisite chapters: 1-10 (GitHub fundamentals) Learning sequence: Chapter 11: VS Code interface Chapter 16: GitHub Copilot introduction Chapter 19: Accessibility Agents (Web team) - Chapters/Appendices L, K Appendix M: Accessibility standards (WCAG 2.2 AA reference) Challenges 19.1-19.3: Web accessibility audits with @web-accessibility-wizard Agents used: 40 web/accessibility specialists; 5 GitHub workflow agents Time commitment: 4-6 hours self-paced Path 2: Document Accessibility (Intermediate) Prerequisite: Path 1 (web accessibility) or Chapter 19 overview Learning sequence: Appendix AC: Document & Developer Tool Agents (Document section) Challenge 19.4: Audit Word/Excel/Power"
},
{
"id": "admin/ANNOUNCEMENT.html",
@@ -111,7 +111,7 @@
"id": "admin/CURRICULUM_2.0_ORGANIZATION.html",
"title": "Cross-Reference Validation & Organization Summary",
"url": "admin/CURRICULUM_2.0_ORGANIZATION.html",
- "body": "Cross-Reference Validation & Organization Summary Date: May 13, 2026 Curriculum Version: 2.0 (Agents 5.0.0+) Status: All Priority 1-5 Tasks Complete Part 1: Files Created & Modified New Files Created (4) File Type Size Status docs/appendix-aa-agent-installation-setup.md Reference guide 1,200+ words ✅ Complete docs/appendix-ab-advanced-agent-patterns.md Reference guide 1,500+ words ✅ Complete docs/appendix-ac-document-developer-tools.md Reference guide 1,200+ words ✅ Complete admin/AGENTS_ROADMAP.md Admin reference 800+ words ✅ Complete Existing Files Modified (7) File Changes Status docs/00-pre-workshop-setup.md Added version requirements table ✅ Complete docs/19-accessibility-agents.md Expanded intro, added section 3A, updated prerequisites ✅ Complete docs/appendix-k-copilot-reference.md Added MCP Server section 4B ✅ Complete docs/appendix-l-agents-reference.md Expanded to 80 agents, added skills, updated platforms ✅ Complete .github/copilot-instructions.md Added agents-specific guidance section ✅ Complete https://lp.csedesigns.com/ggg/PODCASTS.html Added episodes 41-43, regeneration notes ✅ Complete admin/AGENTS_ROADMAP.md NEW file for agents tracking ✅ Complete Total new content: ~7,600 words | Total files touched: 11 Part 2: Cross-Reference Map Chapter 19: Accessibility Agents (Hub Document) Links OUT to: ✅ Appendix L: Agents Reference - "All 80 agents organized by team" ✅ Appendix K: Copilot Reference - "Platform features and MCP" ✅ Appendix M: Accessibility Standards - "WCAG 2.2 AA reference" (existing) ✅ Appendix AA: Installation & Setup - "Platform-specific installation guide (NEW)" ✅ Appendix AB: Advanced Patterns - "Subagents, hooks, skills (NEW)" ✅ Appendix AC: Document & Developer Tools - "Specialized agents (NEW)" ✅ admin/AGENTS_ROADMAP.md - "Version history and learning pathways (NEW)" Section 3A content includes: ✅ Platform comparison table (5 platforms) ✅ Links to installation guide per platform ✅ Decision tree for platform selection ✅ Screen reader/low vision/keyboard guidance Learning cards include: ✅ Screen reader workflow ✅ Low vision workflow ✅ Keyboard-only workflow ✅ Sighted mouse workflow Appendix K: Copilot Reference Links OUT to: ✅ Appendix L: Agents Reference - "Agent list and capabilities" ✅ Appendix AA: Installation & Setup - "Platform-specific setup" ✅ Chapter 19: Accessibility Agents - "Agent introduction" ✅ admin/AGENTS_ROADMAP.md - "Version tracking" New Section 4B (MCP Servers) includes: ✅ 30+ tools organized by category (web, document, markdown, compliance, CI/CD) ✅ Usage examples for each platform ✅ GitHub Actions CI/CD example with YAML ✅ Learning cards for all audience types Appendix L: Agents Reference Links OUT to: ✅ Appendix K: Copilot Reference - "Copilot features" ✅ Chapter 19: Accessibility Agents - "Agents introduction" ✅ Appendix AA: Installation & Setup - "Getting started" ✅ Accessibility Agents Repository - "Canonical source for 80 agents" Updated tables include: ✅ Team 1: 40 agents (26 web + 14 document) ✅ Team 2: 20 agents (GitHub Workflow) ✅ Team 3: 18 agents (Developer Tools) ✅ Platforms table with "When to Use" column ✅ Skills section (25+ bundled skills) ✅ MCP tools section (30+ tools) Appendix AA: Agent Installation & Setup (NEW) Links OUT to: ✅ Appendix L: Agents Reference - "All agents" ✅ Chapter 19: Accessibility Agents - "Agent overview" ✅ Accessibility Agents Repository - "Official source" Platform-specific sections cover: ✅ GitHub Copilot (VS Code) - section with detailed steps ✅ Claude Code - section with CLI setup ✅ Gemini CLI - section with free tier info ✅ Claude Desktop - section with MCP configuration ✅ Codex CLI - section with TOML setup Cross-platform guidance includes: ✅ System requirements table ✅ Version checking commands ✅ Troubleshooting by platform ✅ Learning cards (SR/LV/keyboard/sighted) Appendix AB: Advanced Agent Patterns (NEW) Links OUT to: ✅ Appendix L: Agents Reference - "Agent list" ✅ Appendix AA: Installation & Setup - "Setup reference" ✅ Chapter 19: Accessibility Agents - "Agent context" ✅ Accessibility Agents Repository - "Source for skills and hooks" Advanced topics covered: ✅ Subagent delegation with examples ✅ Skills (25+ library overview) ✅ Hooks (lifecycle automation) with JSON examples ✅ Browser tools catalog ✅ Orchestration patterns ✅ Custom skills authoring ✅ Continuous evaluation setup Appendix AC: Document & Developer Tool Agents (NEW) Links OUT to: ✅ Appendix L: Agents Reference - "Complete agent list" ✅ Appendix AB: Advanced Patterns - "Advanced techniques" ✅ Appendix AA: Installation & Setup - "Setup guide" Specialized content covers: ✅ 15 document agents (Word, Excel, PowerPoint, PDF, EPUB) ✅ Office accessibility p"
+ "body": "Cross-Reference Validation & Organization Summary Date: May 13, 2026 Curriculum Version: 2.0 (Agents 5.0.0+) Status: All Priority 1-5 Tasks Complete Part 1: Files Created & Modified New Files Created (4) File Type Size Status docs/appendix-aa-agent-installation-setup.md Reference guide 1,200+ words Complete docs/appendix-ab-advanced-agent-patterns.md Reference guide 1,500+ words Complete docs/appendix-ac-document-developer-tools.md Reference guide 1,200+ words Complete admin/AGENTS_ROADMAP.md Admin reference 800+ words Complete Existing Files Modified (7) File Changes Status docs/00-pre-workshop-setup.md Added version requirements table Complete docs/19-accessibility-agents.md Expanded intro, added section 3A, updated prerequisites Complete docs/appendix-k-copilot-reference.md Added MCP Server section 4B Complete docs/appendix-l-agents-reference.md Expanded to 80 agents, added skills, updated platforms Complete .github/copilot-instructions.md Added agents-specific guidance section Complete https://lp.csedesigns.com/ggg/PODCASTS.html Added episodes 41-43, regeneration notes Complete admin/AGENTS_ROADMAP.md NEW file for agents tracking Complete Total new content: ~7,600 words | Total files touched: 11 Part 2: Cross-Reference Map Chapter 19: Accessibility Agents (Hub Document) Links OUT to: Appendix L: Agents Reference - "All 80 agents organized by team" Appendix K: Copilot Reference - "Platform features and MCP" Appendix M: Accessibility Standards - "WCAG 2.2 AA reference" (existing) Appendix AA: Installation & Setup - "Platform-specific installation guide (NEW)" Appendix AB: Advanced Patterns - "Subagents, hooks, skills (NEW)" Appendix AC: Document & Developer Tools - "Specialized agents (NEW)" admin/AGENTS_ROADMAP.md - "Version history and learning pathways (NEW)" Section 3A content includes: Platform comparison table (5 platforms) Links to installation guide per platform Decision tree for platform selection Screen reader/low vision/keyboard guidance Learning cards include: Screen reader workflow Low vision workflow Keyboard-only workflow Sighted mouse workflow Appendix K: Copilot Reference Links OUT to: Appendix L: Agents Reference - "Agent list and capabilities" Appendix AA: Installation & Setup - "Platform-specific setup" Chapter 19: Accessibility Agents - "Agent introduction" admin/AGENTS_ROADMAP.md - "Version tracking" New Section 4B (MCP Servers) includes: 30+ tools organized by category (web, document, markdown, compliance, CI/CD) Usage examples for each platform GitHub Actions CI/CD example with YAML Learning cards for all audience types Appendix L: Agents Reference Links OUT to: Appendix K: Copilot Reference - "Copilot features" Chapter 19: Accessibility Agents - "Agents introduction" Appendix AA: Installation & Setup - "Getting started" Accessibility Agents Repository - "Canonical source for 80 agents" Updated tables include: Team 1: 40 agents (26 web + 14 document) Team 2: 20 agents (GitHub Workflow) Team 3: 18 agents (Developer Tools) Platforms table with "When to Use" column Skills section (25+ bundled skills) MCP tools section (30+ tools) Appendix AA: Agent Installation & Setup (NEW) Links OUT to: Appendix L: Agents Reference - "All agents" Chapter 19: Accessibility Agents - "Agent overview" Accessibility Agents Repository - "Official source" Platform-specific sections cover: GitHub Copilot (VS Code) - section with detailed steps Claude Code - section with CLI setup Gemini CLI - section with free tier info Claude Desktop - section with MCP configuration Codex CLI - section with TOML setup Cross-platform guidance includes: System requirements table Version checking commands Troubleshooting by platform Learning cards (SR/LV/keyboard/sighted) Appendix AB: Advanced Agent Patterns (NEW) Links OUT to: Appendix L: Agents Reference - "Agent list" Appendix AA: Installation & Setup - "Setup reference" Chapter 19: Accessibility Agents - "Agent context" Accessibility Agents Repository - "Source for skills and hooks" Advanced topics covered: Subagent delegation with examples Skills (25+ library overview) Hooks (lifecycle automation) with JSON examples Browser tools catalog Orchestration patterns Custom skills authoring Continuous evaluation setup Appendix AC: Document & Developer Tool Agents (NEW) Links OUT to: Appendix L: Agents Reference - "Complete agent list" Appendix AB: Advanced Patterns - "Advanced techniques" Appendix AA: Installation & Setup - "Setup guide" Specialized content covers: 15 document agents (Word, Excel, PowerPoint, PDF, EPUB) Office accessibility patterns with common issues/fixes PDF/UA standard compliance 8 developer tools agents (Python, wxPython, CI/CD, desktop) Code examples for access"
},
{
"id": "admin/DAY1_AGENDA.html",
@@ -153,19 +153,19 @@
"id": "admin/FACILITATOR_GUIDE.html",
"title": "The Complete Facilitator Guide",
"url": "admin/FACILITATOR_GUIDE.html",
- "body": "The Complete Facilitator Guide Running GitHub Classroom Workshops for Blind and Low-Vision Students This is your comprehensive guide to facilitate a two-day GitHub workshop. It covers everything from initial GitHub Classroom setup through post-workshop follow-up, with special attention to accessibility and student success in an open-enrollment environment. 🎯 Quick Navigation Just starting? → Go to GitHub Classroom Setup Workshop is tomorrow? → Go to Pre-Workshop Checklist Workshop is happening now? → Go to Live Workshop Operations Student got stuck? → Go to Troubleshooting Guide Need hands-on details? → Go to FACILITATOR_OPERATIONS.md About This Workshop What: A two-day hybrid workshop where blind and low-vision students learn GitHub through hands-on collaboration. Who: You're facilitating for students with varying GitHub experience (zero to intermediate). You won't know ahead of time exactly who will join. Where: Hybrid — video call + individual GitHub Classroom repositories. Why It Matters: GitHub is a critical skill for modern tech careers. This workshop makes GitHub accessible through: Hybrid delivery (people can join sync or async) Individual private repos (safe practice space) Automated feedback (Gandalf bot) Progressive challenges (no overwhelming leaps) Peer community (students help each other) Main Goal: Every student merges their first pull request and experiences successful collaboration. 👥 Your Facilitation Team This workshop is designed for 2 co-facilitators who can split roles: Lead Facilitator -- Owns messaging, demos, and orchestration Co-Facilitator -- Monitors chat, watches dashboard, helps individuals If you're solo: Recruit a volunteer (TA, peer mentor, or co-instructor) Pre-record demos for asynchronous watching Use GitHub Discussions more heavily for async Q&A 🚀 GitHub Classroom Setup (Before Day 1) This section is for someone (probably you!) setting up GitHub Classroom for the first time. If your Classroom is already configured, skip to Pre-Workshop Checklist . What is GitHub Classroom? GitHub Classroom is a free service that automatically creates private repositories for students. When a student clicks an invite link, GitHub Classroom: Creates a repo from your template Assigns it to that student Sets permissions (student owns it, you can see it) Returns them to their new repo You get a dashboard showing all students' progress without manual intervention. Prerequisites Before setting up Classroom, you need: A GitHub Organization (free plan works) — used to hold student repos Create at https://github.com/organizations/new (or use existing one) Add both facilitators as owners At least one template repository in that organization Template includes: Challenge 1 issue, PR template, README See classroom/README.md for template structure GitHub Classroom is linked to your organization (automatic if you're an org owner) Step 1: Create Your First Assignment in GitHub Classroom Go to https://classroom.github.com Click "New Classroom" Select your Organization Give it a name: learning-room-day1 (or similar) Click "Create" Step 2: Add Your Co-Facilitator In the new classroom, click "Settings" Under "Organization admins," add your co-facilitator's GitHub username Save Step 3: Create Your First Assignment Click "New Assignment" Enter title: Day 1: GitHub Basics Select "Individual" (not group) Under "Add your starter template repository," select your template repo Under "Add auto-grading tests," skip this for Day 1 (optional for later challenges) Click "Create assignment" Copy the invite link and save it somewhere safe This link is what you'll share with students. It never expires. Step 4: Create Your Second Assignment (for Day 2) Repeat Step 3 but title it Day 2: Advanced Skills Save both invite links in a safe place (notes, email yourself, password manager). Step 5: Test the Automation Accept your own invite link (as if you were a student) You should be asked to select your name from the roster GitHub Classroom creates a repo for you Verify: Challenge 1 issue exists in your repo Gandalf bot is configured (check Actions tab) Student Progression bot can create new issues when you close one Test creating and merging a PR to ensure: Gandalf bot comments within 30 seconds Merging closes the issue Next challenge issue appears If anything is missing, see Troubleshooting GitHub Classroom Setup below. ⚠️ Known Gotchas "The invite link isn't working" Make sure your Organization is created Make sure the assignment is published (green checkmark in Classroom) Make sure students have GitHub accounts (free account works) "No one in my organization can accept the invite" Students don't need to be org members They just need a GitHub account If issue persists, check if Classroom link was copied correctly "Gandalf bot isn't commenting on PRs" Verify Gand"
+ "body": "The Complete Facilitator Guide Running GitHub Classroom Workshops for Blind and Low-Vision Students This is your comprehensive guide to facilitate a two-day GitHub workshop. It covers everything from initial GitHub Classroom setup through post-workshop follow-up, with special attention to accessibility and student success in an open-enrollment environment. Quick Navigation Just starting? → Go to GitHub Classroom Setup Workshop is tomorrow? → Go to Pre-Workshop Checklist Workshop is happening now? → Go to Live Workshop Operations Student got stuck? → Go to Troubleshooting Guide Need hands-on details? → Go to FACILITATOR_OPERATIONS.md About This Workshop What: A two-day hybrid workshop where blind and low-vision students learn GitHub through hands-on collaboration. Who: You're facilitating for students with varying GitHub experience (zero to intermediate). You won't know ahead of time exactly who will join. Where: Hybrid — video call + individual GitHub Classroom repositories. Why It Matters: GitHub is a critical skill for modern tech careers. This workshop makes GitHub accessible through: Hybrid delivery (people can join sync or async) Individual private repos (safe practice space) Automated feedback (Gandalf bot) Progressive challenges (no overwhelming leaps) Peer community (students help each other) Main Goal: Every student merges their first pull request and experiences successful collaboration. Your Facilitation Team This workshop is designed for 2 co-facilitators who can split roles: Lead Facilitator -- Owns messaging, demos, and orchestration Co-Facilitator -- Monitors chat, watches dashboard, helps individuals If you're solo: Recruit a volunteer (TA, peer mentor, or co-instructor) Pre-record demos for asynchronous watching Use GitHub Discussions more heavily for async Q&A GitHub Classroom Setup (Before Day 1) This section is for someone (probably you!) setting up GitHub Classroom for the first time. If your Classroom is already configured, skip to Pre-Workshop Checklist . What is GitHub Classroom? GitHub Classroom is a free service that automatically creates private repositories for students. When a student clicks an invite link, GitHub Classroom: Creates a repo from your template Assigns it to that student Sets permissions (student owns it, you can see it) Returns them to their new repo You get a dashboard showing all students' progress without manual intervention. Prerequisites Before setting up Classroom, you need: A GitHub Organization (free plan works) — used to hold student repos Create at https://github.com/organizations/new (or use existing one) Add both facilitators as owners At least one template repository in that organization Template includes: Challenge 1 issue, PR template, README See classroom/README.md for template structure GitHub Classroom is linked to your organization (automatic if you're an org owner) Step 1: Create Your First Assignment in GitHub Classroom Go to https://classroom.github.com Click "New Classroom" Select your Organization Give it a name: learning-room-day1 (or similar) Click "Create" Step 2: Add Your Co-Facilitator In the new classroom, click "Settings" Under "Organization admins," add your co-facilitator's GitHub username Save Step 3: Create Your First Assignment Click "New Assignment" Enter title: Day 1: GitHub Basics Select "Individual" (not group) Under "Add your starter template repository," select your template repo Under "Add auto-grading tests," skip this for Day 1 (optional for later challenges) Click "Create assignment" Copy the invite link and save it somewhere safe This link is what you'll share with students. It never expires. Step 4: Create Your Second Assignment (for Day 2) Repeat Step 3 but title it Day 2: Advanced Skills Save both invite links in a safe place (notes, email yourself, password manager). Step 5: Test the Automation Accept your own invite link (as if you were a student) You should be asked to select your name from the roster GitHub Classroom creates a repo for you Verify: Challenge 1 issue exists in your repo Gandalf bot is configured (check Actions tab) Student Progression bot can create new issues when you close one Test creating and merging a PR to ensure: Gandalf bot comments within 30 seconds Merging closes the issue Next challenge issue appears If anything is missing, see Known Gotchas below. Known Gotchas "The invite link isn't working" Make sure your Organization is created Make sure the assignment is published (green checkmark in Classroom) Make sure students have GitHub accounts (free account works) "No one in my organization can accept the invite" Students don't need to be org members They just need a GitHub account If issue persists, check if Classroom link was copied correctly "Gandalf bot isn't commenting on PRs" Verify Gandalf bot is installed in your Organiza"
},
{
"id": "admin/FACILITATOR_OPERATIONS.html",
"title": "Facilitator Operations Guide",
"url": "admin/FACILITATOR_OPERATIONS.html",
- "body": "Facilitator Operations Guide Real-Time Workshop Management Procedures This guide provides step-by-step procedures for facilitators during the workshop. Use this alongside FACILITATOR_GUIDE.md for the big picture and FACILITATOR_CLASSROOM_TROUBLESHOOTING.md for problem-solving. Pre-Workshop Setup (3 Hours Before) Facilitator Workstation Setup Physical Setup: Primary monitor: GitHub Classroom dashboard Secondary monitor (or browser tab): Student repo template / demo repo Laptop: Video call software tested Phone: Audio dial-in number saved Notepad: For tracking student issues in real-time Water/coffee within reach Noise-canceling headphones (optional but helpful) Software Setup: GitHub Classroom dashboard open and logged in URL: https://classroom.github.com Bookmark this for quick access Test student repo open in a tab (your repo you created during setup) GitHub Discussions / chat channel open Timer or stopwatch ready (for tracking session times) Email client visible (for student emails) Communication Setup: Co-facilitator has your phone number You have their phone number Both have chat channel open Backup communication method agreed on (Slack, Discord, etc.) Dashboard Orientation Open classroom.github.com : Click your classroom → You see: Assignment name Number of students who've accepted List of all students + their repo status Recent commit activity Key columns to watch: ✓ Accept status — Click to see if student repo was created Last commit time — When they last pushed code Autograding status — Pass/fail on any tests Filter by status: Accepted → Students who have repos Pending → Students who haven't accepted yet (you might need to follow up) Favorite this page — You'll visit it constantly Notification Setup Ask GitHub or chat platform to notify you of: GitHub Discussions (if using for questions) Mentions in chat (@facilitator) Direct messages from students Test notifications: Have your co-facilitator ping you to confirm alerts work. Starting Day 1 (15 Minutes Before Call Starts) Final Checklist (5 min before start) Yourself: Bathroom break done, water nearby, headphones on Software: All tabs open, no unexpected pop-ups Dashboard: Refreshed, showing latest data Co-facilitator: Online and confirmed in chat Students: Should be joining now — check incoming attendees Recording: If recording, make sure it's recording Slides: If using slides, they're visible and tested First 60 Seconds on Call Welcome message to chat: Welcome to the GitHub Workshop ! 👋 If you can see this message , you ' re connected . Video or audio - only ? Both are fine . Screen reader users : All of GitHub . com is accessible . Questions ? Ask in chat anytime ! Monitor arrivals: Watch participant list Greet people by name as they join "Hi [name], welcome! Glad you made it!" Quick accessibility check: "If your screen reader is working and you can hear me, say so in chat" Confirm at least 70% have confirmed If issues: "Let's get those fixed. Chat or email me." Settle the room: "We'll start in about 5 minutes. Get comfortable, grab water, etc." During Hour 1: Welcome and Orientation 0:00-0:05: Your Opening Talking points (say these out loud): "Welcome everyone. I'm [name], and this is [co-facilitator name]. We're going to spend the next two days learning GitHub together. [Pause for acknowledgment] This is a completely accessible workshop. We've tested it with NVDA, JAWS, and VoiceOver. If something doesn't work for your screen reader, tell us immediately and we'll fix it. [Pause] Over the next two days, every single one of you is going to merge your first pull request. That might not sound like a big deal, but it is. It means you've collaborated with another person to improve code. That's a real developer skill. [Pause] We're hybrid, so you can work at your own pace. Some will finish fast, some will take time, and both are completely valid. No pressure. [Pause] Questions? Ask in chat anytime. That's what we're here for. Let's get started." 0:05-0:15: Getting Into Repos Step 1: Share the invite link In chat, post: Here's your Day 1 invite link: [PASTE YOUR INVITE LINK] Click it and GitHub will ask you to pick your name from a list . Accept and GitHub creates your repo. Step 2: Monitor the Classroom dashboard Refresh every 30 seconds Watch for new acceptances Count them out loud: "I see 3... 5... 10 people joining..." Step 3: Guide through the process In chat as things happen: Great! I see people accepting the invite. You should now be in your private repo. Look for "Challenge 1" in your Issues tab . When you see it , say so in chat! Step 4: Help people who are stuck After 5 minutes, if someone hasn't said they found Challenge 1: Message them directly: "Hey @[name], did you find your Challenge 1? Let me know if you need help." Check dashboard: Did their repo get created? If repo creat"
+ "body": "Facilitator Operations Guide Real-Time Workshop Management Procedures This guide provides step-by-step procedures for facilitators during the workshop. Use this alongside FACILITATOR_GUIDE.md for the big picture and FACILITATOR_CLASSROOM_TROUBLESHOOTING.md for problem-solving. Pre-Workshop Setup (3 Hours Before) Facilitator Workstation Setup Physical Setup: Primary monitor: GitHub Classroom dashboard Secondary monitor (or browser tab): Student repo template / demo repo Laptop: Video call software tested Phone: Audio dial-in number saved Notepad: For tracking student issues in real-time Water/coffee within reach Noise-canceling headphones (optional but helpful) Software Setup: GitHub Classroom dashboard open and logged in URL: https://classroom.github.com Bookmark this for quick access Test student repo open in a tab (your repo you created during setup) GitHub Discussions / chat channel open Timer or stopwatch ready (for tracking session times) Email client visible (for student emails) Communication Setup: Co-facilitator has your phone number You have their phone number Both have chat channel open Backup communication method agreed on (Slack, Discord, etc.) Dashboard Orientation Open classroom.github.com : Click your classroom → You see: Assignment name Number of students who've accepted List of all students + their repo status Recent commit activity Key columns to watch: ✓ Accept status — Click to see if student repo was created Last commit time — When they last pushed code Autograding status — Pass/fail on any tests Filter by status: Accepted → Students who have repos Pending → Students who haven't accepted yet (you might need to follow up) Favorite this page — You'll visit it constantly Notification Setup Ask GitHub or chat platform to notify you of: GitHub Discussions (if using for questions) Mentions in chat (@facilitator) Direct messages from students Test notifications: Have your co-facilitator ping you to confirm alerts work. Starting Day 1 (15 Minutes Before Call Starts) Final Checklist (5 min before start) Yourself: Bathroom break done, water nearby, headphones on Software: All tabs open, no unexpected pop-ups Dashboard: Refreshed, showing latest data Co-facilitator: Online and confirmed in chat Students: Should be joining now — check incoming attendees Recording: If recording, make sure it's recording Slides: If using slides, they're visible and tested First 60 Seconds on Call Welcome message to chat: Welcome to the GitHub Workshop! If you can see this message, you're connected. Video or audio-only? Both are fine. Screen reader users: All of GitHub.com is accessible. Questions? Ask in chat anytime! Monitor arrivals: Watch participant list Greet people by name as they join "Hi [name], welcome! Glad you made it!" Quick accessibility check: "If your screen reader is working and you can hear me, say so in chat" Confirm at least 70% have confirmed If issues: "Let's get those fixed. Chat or email me." Settle the room: "We'll start in about 5 minutes. Get comfortable, grab water, etc." During Hour 1: Welcome and Orientation 0:00-0:05: Your Opening Talking points (say these out loud): "Welcome everyone. I'm [name], and this is [co-facilitator name]. We're going to spend the next two days learning GitHub together. [Pause for acknowledgment] This is a completely accessible workshop. We've tested it with NVDA, JAWS, and VoiceOver. If something doesn't work for your screen reader, tell us immediately and we'll fix it. [Pause] Over the next two days, every single one of you is going to merge your first pull request. That might not sound like a big deal, but it is. It means you've collaborated with another person to improve code. That's a real developer skill. [Pause] We're hybrid, so you can work at your own pace. Some will finish fast, some will take time, and both are completely valid. No pressure. [Pause] Questions? Ask in chat anytime. That's what we're here for. Let's get started." 0:05-0:15: Getting Into Repos Step 1: Share the invite link In chat, post: Here's your Day 1 invite link: [PASTE YOUR INVITE LINK] Click it and GitHub will ask you to pick your name from a list. Accept and GitHub creates your repo. Step 2: Monitor the Classroom dashboard Refresh every 30 seconds Watch for new acceptances Count them out loud: "I see 3... 5... 10 people joining..." Step 3: Guide through the process In chat as things happen: Great! I see people accepting the invite. You should now be in your private repo. Look for "Challenge 1" in your Issues tab. When you see it, say so in chat! Step 4: Help people who are stuck After 5 minutes, if someone hasn't said they found Challenge 1: Message them directly: "Hey @[name], did you find your Challenge 1? Let me know if you need help." Check dashboard: Did their repo get created? If repo created but they can't"
},
{
"id": "admin/FACILITATOR_RESOURCES.html",
"title": "Facilitator Resource Index",
"url": "admin/FACILITATOR_RESOURCES.html",
- "body": "Facilitator Resource Index Complete Guide to Running GitHub Classroom Workshops Welcome, facilitator! This page helps you navigate all the documentation for running an accessible GitHub workshop for blind and low-vision students. 🎯 Start Here Based on Your Situation "I've Never Run This Workshop Before" → Read in this order: FACILITATOR_GUIDE.md — GitHub Classroom Setup section FACILITATOR_GUIDE.md — Pre-Workshop Checklist FACILITATOR_OPERATIONS.md — For hands-on procedures "Workshop Is Tomorrow" → Quick tasks: FACILITATOR_GUIDE.md — Pre-Workshop Checklist (all boxes) FACILITATOR_OPERATIONS.md — 3-Hour Prep FACILITATOR_OPERATIONS.md — Day-Of Checklist "Workshop Is Happening Right Now" → Reference: FACILITATOR_OPERATIONS.md — Hour-by-hour procedures FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — When things break "A Student Got Stuck" → Go to: FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — Student-level scenarios Then FACILITATOR_OPERATIONS.md — For how to respond "Something Technical Broke" → Check: FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — Emergency protocols Then FACILITATOR_GUIDE.md — Quick reference "Workshop Just Ended, What's Next?" → See: FACILITATOR_GUIDE.md — Post-workshop tasks FACILITATOR_OPERATIONS.md — Detailed post-workshop procedures 📚 Complete Resource Reference Primary Documents FACILITATOR_GUIDE.md (33 KB) The complete workshop bible. Everything from GitHub Classroom setup through post-workshop follow-up. Main sections: GitHub Classroom Setup (first-time setup) Pre-Workshop Checklist (48 hours before) Day 1 Live Operations (hour-by-hour) Day 2 Live Operations (hour-by-hour) Post-Workshop Tasks (week after) Quick Troubleshooting Reference Appendices (templates, keyboard shortcuts) When to use: First-time workshop setup Planning a cohort During workshop (overview reference) FACILITATOR_OPERATIONS.md (18 KB) Real-time, hands-on procedures. Step-by-step what to do during each hour of the workshop. Main sections: Pre-Workshop Workstation Setup Hour-by-Hour Procedures Dashboard Monitoring Routines Chat Response Templates Emergency Procedures Facilitator Self-Care When to use: During workshop (follow procedures hour-by-hour) Preparing facilitator workstation Real-time student support FACILITATOR_CLASSROOM_TROUBLESHOOTING.md (18 KB) Problem-solving guide. Specific issues and their solutions. Main sections: Emergency Scenarios (bots down, video call broken, etc.) Student-Level Issues (can't find repo, confused by feedback, etc.) Specific Technical Scenarios (merge conflicts, autograder failures, etc.) GitHub Platform Issues (GitHub down, Actions slow, etc.) Facilitator Mistakes & Recovery Prevention Strategies When to use: Something is broken and you need to fix it Student is confused or stuck Automation failed Supporting Documents FACILITATOR_CHALLENGES.md (11.6 KB) Operations guide for managing the challenge system and student progression during a live cohort. Covers: How the challenge system works Monitoring student progress Responding to help requests Common issue patterns When to use: Understanding the challenge flow Monitoring student progression Identifying stuck students FACILITATOR_ASSESSMENT.md (0.4 KB) Assessment rubric and grading guidance (brief reference). Covers: How to assess student work What "success" looks like When to use: Providing meaningful feedback to students Deciding if student meets learning goals 🎓 Typical Workflow Weeks 1-2 Before Workshop Read FACILITATOR_GUIDE.md GitHub Classroom Setup Create your GitHub Classroom and assignments Follow setup checklist in FACILITATOR_GUIDE.md 48 Hours Before Complete FACILITATOR_GUIDE.md checklist Test everything one more time Read FACILITATOR_OPERATIONS.md overview Day Before Final checklist items Setup workstation per FACILITATOR_OPERATIONS.md Message co-facilitator: "Ready for tomorrow?" Day 1 During Follow FACILITATOR_OPERATIONS.md hour-by-hour Keep FACILITATOR_CLASSROOM_TROUBLESHOOTING.md open in another tab Reference FACILITATOR_GUIDE.md for overview Day 2 During Same as Day 1, but reference FACILITATOR_GUIDE.md Day 2 section Be ready for harder scenarios and more independence from students After Workshop Follow FACILITATOR_GUIDE.md post-workshop tasks Note what worked and what didn't Update this guide for next time 🔧 How to Use These Documents During Workshop: Have These Open Browser tabs: FACILITATOR_OPERATIONS.md (current section) FACILITATOR_CLASSROOM_TROUBLESHOOTING.md (troubleshooting reference) Your GitHub Classroom dashboard GitHub Discussions / chat with students Physical: Print FACILITATOR_GUIDE.md or have on second monitor Notepad for tracking issues Quick Reference: Keyboard Shortcuts Jump to sections fast: In your browser: Ctrl+F (or Cmd+F on Mac) Then search for: ### Hour — Jump to specific hour procedures **Student Says** "... — Jump to chat response template **Symptom:** ... → Jump to troubleshooting scenario Get"
+ "body": "Facilitator Resource Index Complete Guide to Running GitHub Classroom Workshops Welcome, facilitator! This page helps you navigate all the documentation for running an accessible GitHub workshop for blind and low-vision students. Start Here Based on Your Situation "I've Never Run This Workshop Before" → Read in this order: FACILITATOR_GUIDE.md — GitHub Classroom Setup section FACILITATOR_GUIDE.md — Pre-Workshop Checklist FACILITATOR_OPERATIONS.md — For hands-on procedures "Workshop Is Tomorrow" → Quick tasks: FACILITATOR_GUIDE.md — Pre-Workshop Checklist (all boxes) FACILITATOR_OPERATIONS.md — 3-Hour Prep FACILITATOR_OPERATIONS.md — Day-Of Checklist "Workshop Is Happening Right Now" → Reference: FACILITATOR_OPERATIONS.md — Hour-by-hour procedures FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — When things break "A Student Got Stuck" → Go to: FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — Student-level scenarios Then FACILITATOR_OPERATIONS.md — For how to respond "Something Technical Broke" → Check: FACILITATOR_CLASSROOM_TROUBLESHOOTING.md — Emergency protocols Then FACILITATOR_GUIDE.md — Quick reference "Workshop Just Ended, What's Next?" → See: FACILITATOR_GUIDE.md — Post-workshop tasks FACILITATOR_OPERATIONS.md — Detailed post-workshop procedures Complete Resource Reference Primary Documents FACILITATOR_GUIDE.md (33 KB) The complete workshop bible. Everything from GitHub Classroom setup through post-workshop follow-up. Main sections: GitHub Classroom Setup (first-time setup) Pre-Workshop Checklist (48 hours before) Day 1 Live Operations (hour-by-hour) Day 2 Live Operations (hour-by-hour) Post-Workshop Tasks (week after) Quick Troubleshooting Reference Appendices (templates, keyboard shortcuts) When to use: First-time workshop setup Planning a cohort During workshop (overview reference) FACILITATOR_OPERATIONS.md (18 KB) Real-time, hands-on procedures. Step-by-step what to do during each hour of the workshop. Main sections: Pre-Workshop Workstation Setup Hour-by-Hour Procedures Dashboard Monitoring Routines Chat Response Templates Emergency Procedures Facilitator Self-Care When to use: During workshop (follow procedures hour-by-hour) Preparing facilitator workstation Real-time student support FACILITATOR_CLASSROOM_TROUBLESHOOTING.md (18 KB) Problem-solving guide. Specific issues and their solutions. Main sections: Emergency Scenarios (bots down, video call broken, etc.) Student-Level Issues (can't find repo, confused by feedback, etc.) Specific Technical Scenarios (merge conflicts, autograder failures, etc.) GitHub Platform Issues (GitHub down, Actions slow, etc.) Facilitator Mistakes & Recovery Prevention Strategies When to use: Something is broken and you need to fix it Student is confused or stuck Automation failed Supporting Documents FACILITATOR_CHALLENGES.md (11.6 KB) Operations guide for managing the challenge system and student progression during a live cohort. Covers: How the challenge system works Monitoring student progress Responding to help requests Common issue patterns When to use: Understanding the challenge flow Monitoring student progression Identifying stuck students FACILITATOR_ASSESSMENT.md (0.4 KB) Assessment rubric and grading guidance (brief reference). Covers: How to assess student work What "success" looks like When to use: Providing meaningful feedback to students Deciding if student meets learning goals Typical Workflow Weeks 1-2 Before Workshop Read FACILITATOR_GUIDE.md GitHub Classroom Setup Create your GitHub Classroom and assignments Follow setup checklist in FACILITATOR_GUIDE.md 48 Hours Before Complete FACILITATOR_GUIDE.md checklist Test everything one more time Read FACILITATOR_OPERATIONS.md overview Day Before Final checklist items Setup workstation per FACILITATOR_OPERATIONS.md Message co-facilitator: "Ready for tomorrow?" Day 1 During Follow FACILITATOR_OPERATIONS.md hour-by-hour Keep FACILITATOR_CLASSROOM_TROUBLESHOOTING.md open in another tab Reference FACILITATOR_GUIDE.md for overview Day 2 During Same as Day 1, but reference FACILITATOR_GUIDE.md Day 2 section Be ready for harder scenarios and more independence from students After Workshop Follow FACILITATOR_GUIDE.md post-workshop tasks Note what worked and what didn't Update this guide for next time How to Use These Documents During Workshop: Have These Open Browser tabs: FACILITATOR_OPERATIONS.md (current section) FACILITATOR_CLASSROOM_TROUBLESHOOTING.md (troubleshooting reference) Your GitHub Classroom dashboard GitHub Discussions / chat with students Physical: Print FACILITATOR_GUIDE.md or have on second monitor Notepad for tracking issues Quick Reference: Keyboard Shortcuts Jump to sections fast: In your browser: Ctrl+F (or Cmd+F on Mac) Then search for: ### Hour — Jump to specific hour procedures **Student Says** "... — Jump to chat response template **Symptom:** ... → Jump to troubleshooting scenario Getting Help If"
},
{
"id": "admin/FAQ.html",
@@ -231,7 +231,7 @@
"id": "admin/QUICK_REFERENCE.html",
"title": "Quick Reference Guide",
"url": "admin/QUICK_REFERENCE.html",
- "body": "Quick Reference Guide Essential Commands, Shortcuts, and File Locations Screen Reader Commands for GitHub NVDA (Windows) Task Command Jump to navigation D Jump to search/main content D (cycle through landmarks) Read next heading H Navigate by heading level 1 - 6 (headings), T (table), B (button), L (list) Open Focus Mode NVDA+Space (then navigate) Announce current line NVDA+Up Read all from cursor NVDA+Down Stop reading Control Go to link list NVDA+F7 Switch to Browse Mode NVDA+Space (in a page) JAWS (Windows) Task Command Virtual cursor browse Spacebar Navigate headings H or Numpad 5 Navigate by level 1 - 6 Open navigation bar Insert+F5 List links Insert+Ctrl+L List headings Insert+F6 Toggle Focus Mode Enter (on a page) Announce all text Insert+Down Stop reading Control VoiceOver (macOS) Task Command Navigate web rotor VO+U Next/previous heading VO+Down , VO+Up Next/previous link VO+Right , VO+Left (with Quick Nav) Activate element VO+Space Read from cursor VO+A Stop reading Control Headings rotor VO+U → H (then navigate) Form controls rotor VO+U → F GitHub Navigation Shortcuts (All Browsers) Action Keyboard Open command palette Cmd+. (macOS) / Ctrl+. (Windows) Jump to Issues G then I Jump to Pull Requests G then P Jump to Projects G then B Open issue/PR O then Enter Navigate PR tabs (Conversation/Commits/Files) ← / → Arrow keys Focus on search S or / Go to code G then C VS Code Keyboard Shortcuts Action Windows/Linux macOS Open Copilot Chat Ctrl+Shift+I Cmd+Shift+I Open terminal Ctrl+ ` Ctrl+ ` Open file search Ctrl+P Cmd+P Find in file Ctrl+F Cmd+F Replace in file Ctrl+H Cmd+H Open command palette Ctrl+Shift+P Cmd+Shift+P Extensions Ctrl+Shift+X Cmd+Shift+X Reload window (see command palette) (see command palette) Accessible Diff Viewer F7 F7 Accessible View Alt+F2 Option+F2 Format document Shift+Alt+F Shift+Option+F Git Commands (Terminal) Repository Setup git clone https://github.com/[USERNAME]/[REPO].git # Clone your fork cd [REPO] # Enter folder git remote -v # View remotes git remote add upstream https://github.com/[ORIGINAL] # Add upstream Branch Workflow git checkout -b [branch-name] # Create and switch to branch git branch -a # List all branches git branch -d [branch-name] # Delete local branch git push origin [branch-name] # Push branch to GitHub Staging and Committing git status # See what changed git add [file] # Stage specific file git add . # Stage all changes git commit -m "message" # Commit with message git push origin [branch-name] # Push commits Pulling Updates git pull origin main # Pull latest from your fork git pull upstream main # Pull latest from upstream git fetch upstream # Fetch without merging File Locations Reference Template & Agent Files .github/ ├── ISSUE_TEMPLATE/ │ ├── accessibility-bug .yml ← Accessibility issue template │ ├── bug-report-template .yml │ └── feature-request .yml ├── agents/ │ ├── daily-briefing .agent .md │ ├── issue-tracker .agent .md │ ├── pr-review .agent .md │ ├── analytics .agent .md │ ├── insiders-a11y-tracker .agent .md │ └── template-builder .agent .md ← The agent for building templates ├── pull_request_template .md ← Default PR template ├── workflows/ │ ├── learning-room-pr-bot .yml │ ├── skills-progression .yml │ └── student-grouping .yml └── data/ ├── challenge-progression .json └── student-roster.json Documentation Files docs/ ├── 00 -pre-workshop-setup. md ← Start here ├── 02 -understanding-github. md ├── 05 -working-with-issues. md ← File issues ├── 06 -working-with-pull-requests. md ← Review PRs ├── 15 -code-review. md ← Day 2 manual skill ├── 17 -issue-templates. md ← Design templates (manual) ├── 19 -accessibility-agents. md ← Automate with agents └── appendix-a-glossary. md ← Term definitions YAML Template Structure (Quick Template) name: Your Template Name description: One line description title: "[TAG] " labels: [ "label1" , "label2" ] body: - type: markdown attributes: value: | ## Before you begin Please search for existing issues. - type: input id: version attributes: label: Version Number placeholder: "e.g., v2.4.1" validations: required: true - type: textarea id: description attributes: label: Description description: Explain what happened placeholder: "I was trying to... then..." validations: required: true - type: dropdown id: browser attributes: label: Browser options: - Chrome - Firefox - Safari validations: required: true - type: checkboxes id: checks attributes: label: Before Submitting options: - label: I searched for existing issues required: true Accessibility Testing Checklist (Quick) All form labels announced by screen reader Required fields marked and announced as required Dropdown options readable and selectable No labels skipped (heading hierarchy: 1→2→3, not 1→3) Link text is descriptive (not "click here") Color not the only way to convey information Tested on: NVDA JAWS VoiceOver Common YAML Errors & Fixes Error Cause Fix Red squiggles on c"
+ "body": "Quick Reference Guide Essential Commands, Shortcuts, and File Locations Screen Reader Commands for GitHub NVDA (Windows) Task Command Jump to navigation D Jump to search/main content D (cycle through landmarks) Read next heading H Navigate by heading level 1 - 6 (headings), T (table), B (button), L (list) Open Focus Mode NVDA+Space (then navigate) Announce current line NVDA+Up Read all from cursor NVDA+Down Stop reading Control Go to link list NVDA+F7 Switch to Browse Mode NVDA+Space (in a page) JAWS (Windows) Task Command Virtual cursor browse Spacebar Navigate headings H or Numpad 5 Navigate by level 1 - 6 Open navigation bar Insert+F5 List links Insert+Ctrl+L List headings Insert+F6 Toggle Focus Mode Enter (on a page) Announce all text Insert+Down Stop reading Control VoiceOver (macOS) Task Command Navigate web rotor VO+U Next/previous heading VO+Down , VO+Up Next/previous link VO+Right , VO+Left (with Quick Nav) Activate element VO+Space Read from cursor VO+A Stop reading Control Headings rotor VO+U → H (then navigate) Form controls rotor VO+U → F GitHub Navigation Shortcuts (All Browsers) Action Keyboard Open command palette Cmd+. (macOS) / Ctrl+. (Windows) Jump to Issues G then I Jump to Pull Requests G then P Jump to Projects G then B Open issue/PR O then Enter Navigate PR tabs (Conversation/Commits/Files) ← / → Arrow keys Focus on search S or / Go to code G then C VS Code Keyboard Shortcuts Action Windows/Linux macOS Open Copilot Chat Ctrl+Shift+I Cmd+Shift+I Open terminal Ctrl+ ` Ctrl+ ` Open file search Ctrl+P Cmd+P Find in file Ctrl+F Cmd+F Replace in file Ctrl+H Cmd+H Open command palette Ctrl+Shift+P Cmd+Shift+P Extensions Ctrl+Shift+X Cmd+Shift+X Reload window (see command palette) (see command palette) Accessible Diff Viewer F7 F7 Accessible View Alt+F2 Option+F2 Format document Shift+Alt+F Shift+Option+F Git Commands (Terminal) Repository Setup git clone https://github.com/[USERNAME]/[REPO].git # Clone your fork cd [REPO] # Enter folder git remote -v # View remotes git remote add upstream https://github.com/[ORIGINAL] # Add upstream Branch Workflow git checkout -b [branch-name] # Create and switch to branch git branch -a # List all branches git branch -d [branch-name] # Delete local branch git push origin [branch-name] # Push branch to GitHub Staging and Committing git status # See what changed git add [file] # Stage specific file git add . # Stage all changes git commit -m "message" # Commit with message git push origin [branch-name] # Push commits Pulling Updates git pull origin main # Pull latest from your fork git pull upstream main # Pull latest from upstream git fetch upstream # Fetch without merging File Locations Reference Template & Agent Files .github/ ├── ISSUE_TEMPLATE/ │ ├── accessibility-bug.yml ← Accessibility issue template │ ├── bug-report-template.yml │ └── feature-request.yml ├── agents/ │ ├── daily-briefing.agent.md │ ├── issue-tracker.agent.md │ ├── pr-review.agent.md │ ├── analytics.agent.md │ ├── insiders-a11y-tracker.agent.md │ └── template-builder.agent.md ← The agent for building templates ├── pull_request_template.md ← Default PR template ├── workflows/ │ ├── learning-room-pr-bot.yml │ ├── skills-progression.yml │ └── student-grouping.yml └── data/ ├── challenge-progression.json └── student-roster.json Documentation Files docs/ ├── 00-pre-workshop-setup.md ← Start here ├── 02-understanding-github.md ├── 05-working-with-issues.md ← File issues ├── 06-working-with-pull-requests.md ← Review PRs ├── 15-code-review.md ← Day 2 manual skill ├── 17-issue-templates.md ← Design templates (manual) ├── 19-accessibility-agents.md ← Automate with agents └── appendix-a-glossary.md ← Term definitions YAML Template Structure (Quick Template) name: Your Template Name description: One line description title: "[TAG] " labels: [ "label1" , "label2" ] body: - type: markdown attributes: value: | ## Before you begin Please search for existing issues. - type: input id: version attributes: label: Version Number placeholder: "e.g., v2.4.1" validations: required: true - type: textarea id: description attributes: label: Description description: Explain what happened placeholder: "I was trying to... then..." validations: required: true - type: dropdown id: browser attributes: label: Browser options: - Chrome - Firefox - Safari validations: required: true - type: checkboxes id: checks attributes: label: Before Submitting options: - label: I searched for existing issues required: true Accessibility Testing Checklist (Quick) All form labels announced by screen reader Required fields marked and announced as required Dropdown options readable and selectable No labels skipped (heading hierarchy: 1→2→3, not 1→3) Link text is descriptive (not "click here") Color not the only way to convey information Tested on: NVDA JAWS VoiceOver Common YAML Errors & Fixes Error Cause Fix Red squiggles on colons Missing colon after key Add :"
},
{
"id": "admin/QUICK_START_SETUP.html",
@@ -313,9 +313,9 @@
},
{
"id": "admin/classroom admin access.html",
- "title": "classroom admin access",
+ "title": "GitHub Classroom Admin Access",
"url": "admin/classroom admin access.html",
- "body": "https://classroom.github.com/classrooms/263509777-git-going-with-github Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. File Overview: GitHub Docs, home , GitHub Changelog"
+ "body": "GitHub Classroom Admin Access Facilitators with admin access manage the workshop classroom at this address: https://classroom.github.com/classrooms/263509777-git-going-with-github Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. File Overview: GitHub Docs, home , GitHub Changelog"
},
{
"id": "admin/planning/2026-07-06-a11y-report-dedup-and-grouping-plan.html",
@@ -363,7 +363,7 @@
"id": "admin/planning/SHIP-CHECKLIST.html",
"title": "Stage 3 Cutover - Ship Checklist",
"url": "admin/planning/SHIP-CHECKLIST.html",
- "body": "Stage 3 Cutover - Ship Checklist Generated by the Stage 3 pre-flight on the current main branch. Everything below has been dry-run verified . The actual cutover is one explicit go away. Pre-cutover state (verified) Stage 2 gate: 5/5 PASS ( scripts/run-stage2-gate.ps1 ). Map: docs/EPISODE_MAP.json validates against schema 1.0.0; 79 episodes (58 ep + 16 cc + 5 cc-bonus); UUIDs stable; track_number drives ordering. Audio inventory: 79 mp3 files present in podcasts/audio/kokoro-am_liam-af_jessica/ ; 58 need rename, 21 already in new scheme. Working tree dirty: 522 uncommitted files from prior Stage 1-2 work. Recommend committing or stashing these before Stage 3. Built tools (this session) Step Tool Status 3.1 podcasts/tools/dry_run_rename.py Dry-run PASS 3.2 podcasts/tools/rename_audio.py (--apply, --finalize-map, --chapters-dir) Preview PASS, preflight clean 3.5 scripts/rewrite-cross-links.ps1 (-Apply) Dry-run PASS, 8 files / 509 reps Dry-run summary Stage 3 . 1 - rename plan 58 mp3 renames (e.g. ch- 00 -welcome.mp3 -> ch- 00 -welcome.mp3) 21 no-op (current_filename == filename) CSV : tmp-proposed-rename.csv Stage 3 . 5 - cross-link rewrite (with .history, snapshots, transcripts excluded) 8 files, 509 replacements Largest : admin\\PODCASTS.md ( 174 ), quality_triage_report.csv/.md ( 224 total), listening -order.json ( 58 ), validate-report.json ( 44 ) Report : tmp-crosslink-rewrite-report.txt Fire sequence (locally reversible up through step 5) Run these commands in order. Each step is a separate commit so any single step can be reverted in isolation. 0. Clean slate cd c:\\code\\git -going-with-github git checkout -b cutover -20260518 git add -A git commit -m "Pre-cutover state: Stage 1-2 work product + Stage 3 tooling" 1. Rename audio + parallel chapter JSON (Stage 3.2) python podcasts\\tools\\rename_audio.py --apply --finalize-map git add -A git commit -m "Stage 3.2: rename audio to topic-prefixed filenames + finalize map" Effect: 58 mp3 files renamed, 58 chapter JSON files renamed, map's current_filename / current_slug updated to match filename . 2. Retag ID3 (Stage 3.3) python podcasts\\tools\\tag_id3.py python podcasts\\tools\\verify_id3.py git add -A git commit -m "Stage 3.3: retag ID3 frames on renamed audio" Effect: TIT2, TRCK, TXXX:TOPIC updated; CHAP/CTOC untouched. Idempotent. 3. Cross-link rewrite (Stage 3.5) powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\re write-cross -links .ps1 -Repo c:\\code\\git -going-with-github -Apply git add -A git commit -m "Stage 3.5: rewrite cross-links to new filename scheme" Effect: 509 replacements across 8 files (listening-order.json, PODCASTS.md, quality_triage_report.*, validate-report.json, etc.). 4. Re-run Stage 2 gate powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\run -stage2-gate .ps1 Must return 5/5 PASS. If not, halt and investigate. 5. Mirror to deploy repo (Stage 3.6) robocopy podcasts\\audio\\kokoro -am_liam-af_jessica c:\\code\\ggg\\site\\media *.mp3 /MIR Confirm file counts match: (Get-ChildItem c:\\code\\ggg\\site\\media\\*.mp3).Count . 6. Regenerate feed + site (Stages 3.7 - 3.8) cd c:\\code\\ggg node generator\\generate -site .js node generator\\validate -feed .js Spot-check c:\\code\\ggg\\site\\feed.xml . Confirm <enclosure url> points to the new filenames. (Cover art piece intentionally omitted per project constraint.) --- IRREVERSIBLE LINE --- Steps below affect remote systems. Confirm step 6 looks correct before proceeding. 7. Deploy (Stage 3.9) c:\\code\\ggg\\ deploy-ggg .ps1 -Backup c:\\code\\ggg\\ deploy-ggg .ps1 -DryRun # review the rsync delta c:\\code\\ggg\\ deploy-ggg .ps1 # live 8. Smoke-test remote curl -I https://lp.csedesigns.com/ggg/feed.xml -> 200 Three sample enclosure URLs -> 200 Three episode pages -> 200 9. Tag (Stage 3.10) cd c:\\code\\git -going-with-github git checkout main git merge --no-ff cutover -20260518 git tag v2 -renumbered-20260518 git push origin main --tags cd c:\\code\\ggg git tag v2 -renumbered-20260518 git push origin main --tags Rollback (steps 1-5) Any of steps 1-5 can be reverted with: git reset --hard HEAD~ 1 For audio rename specifically, tmp-rename-audit.log records every old -> new pair so a reverse rename script can be reconstructed. What's intentionally excluded Cover art ( <itunes:image> in feed) - skipped per project constraint. .history/ files - VS Code Local History snapshots, not rewritten. podcasts/_snapshot-pre-*/ - intentional historical reference. podcasts/transcripts/ - workflow artifacts that key off old slug names in their own filename scheme; do not need rewrite for cutover. Notes All 522 currently-uncommitted files come from prior Stage 1-2 sessions. They have been validated by the Stage 2.8 gate. Committing them in step 0 is the cleanest restore point. The cutover branch should be cutover-20260518 per the REORG-PLAN.md specification. Authoritative Sources Use these official references when you need the current source of truth for t"
+ "body": "Stage 3 Cutover - Ship Checklist Generated by the Stage 3 pre-flight on the current main branch. Everything below has been dry-run verified . The actual cutover is one explicit go away. Pre-cutover state (verified) Stage 2 gate: 5/5 PASS ( scripts/run-stage2-gate.ps1 ). Map: docs/EPISODE_MAP.json validates against schema 1.0.0; 79 episodes (58 ep + 16 cc + 5 cc-bonus); UUIDs stable; track_number drives ordering. Audio inventory: 79 mp3 files present in podcasts/audio/kokoro-am_liam-af_jessica/ ; 58 need rename, 21 already in new scheme. Working tree dirty: 522 uncommitted files from prior Stage 1-2 work. Recommend committing or stashing these before Stage 3. Built tools (this session) Step Tool Status 3.1 podcasts/tools/dry_run_rename.py Dry-run PASS 3.2 podcasts/tools/rename_audio.py (--apply, --finalize-map, --chapters-dir) Preview PASS, preflight clean 3.5 scripts/rewrite-cross-links.ps1 (-Apply) Dry-run PASS, 8 files / 509 reps Dry-run summary Stage 3.1 - rename plan 58 mp3 renames (e.g. ch-00-welcome.mp3 -> ch-00-welcome.mp3) 21 no-op (current_filename == filename) CSV: tmp-proposed-rename.csv Stage 3.5 - cross-link rewrite (with .history, snapshots, transcripts excluded) 8 files, 509 replacements Largest: admin\\PODCASTS.md (174), quality_triage_report.csv/.md (224 total), listening-order.json (58), validate-report.json (44) Report: tmp-crosslink-rewrite-report.txt Fire sequence (locally reversible up through step 5) Run these commands in order. Each step is a separate commit so any single step can be reverted in isolation. 0. Clean slate cd c:\\code\\git -going-with-github git checkout -b cutover -20260518 git add -A git commit -m "Pre-cutover state: Stage 1-2 work product + Stage 3 tooling" 1. Rename audio + parallel chapter JSON (Stage 3.2) python podcasts\\tools\\rename_audio.py --apply --finalize-map git add -A git commit -m "Stage 3.2: rename audio to topic-prefixed filenames + finalize map" Effect: 58 mp3 files renamed, 58 chapter JSON files renamed, map's current_filename / current_slug updated to match filename . 2. Retag ID3 (Stage 3.3) python podcasts\\tools\\tag_id3.py python podcasts\\tools\\verify_id3.py git add -A git commit -m "Stage 3.3: retag ID3 frames on renamed audio" Effect: TIT2, TRCK, TXXX:TOPIC updated; CHAP/CTOC untouched. Idempotent. 3. Cross-link rewrite (Stage 3.5) powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\re write-cross -links .ps1 -Repo c:\\code\\git -going-with-github -Apply git add -A git commit -m "Stage 3.5: rewrite cross-links to new filename scheme" Effect: 509 replacements across 8 files (listening-order.json, PODCASTS.md, quality_triage_report.*, validate-report.json, etc.). 4. Re-run Stage 2 gate powershell -NoProfile -ExecutionPolicy Bypass -File scripts\\run -stage2-gate .ps1 Must return 5/5 PASS. If not, halt and investigate. 5. Mirror to deploy repo (Stage 3.6) robocopy podcasts\\audio\\kokoro -am_liam-af_jessica c:\\code\\ggg\\site\\media *.mp3 /MIR Confirm file counts match: (Get-ChildItem c:\\code\\ggg\\site\\media\\*.mp3).Count . 6. Regenerate feed + site (Stages 3.7 - 3.8) cd c:\\code\\ggg node generator\\generate -site .js node generator\\validate -feed .js Spot-check c:\\code\\ggg\\site\\feed.xml . Confirm <enclosure url> points to the new filenames. (Cover art piece intentionally omitted per project constraint.) --- IRREVERSIBLE LINE --- Steps below affect remote systems. Confirm step 6 looks correct before proceeding. 7. Deploy (Stage 3.9) c:\\code\\ggg\\ deploy-ggg .ps1 -Backup c:\\code\\ggg\\ deploy-ggg .ps1 -DryRun # review the rsync delta c:\\code\\ggg\\ deploy-ggg .ps1 # live 8. Smoke-test remote curl -I https://lp.csedesigns.com/ggg/feed.xml -> 200 Three sample enclosure URLs -> 200 Three episode pages -> 200 9. Tag (Stage 3.10) cd c:\\code\\git -going-with-github git checkout main git merge --no-ff cutover -20260518 git tag v2 -renumbered-20260518 git push origin main --tags cd c:\\code\\ggg git tag v2 -renumbered-20260518 git push origin main --tags Rollback (steps 1-5) Any of steps 1-5 can be reverted with: git reset --hard HEAD~ 1 For audio rename specifically, tmp-rename-audit.log records every old -> new pair so a reverse rename script can be reconstructed. What's intentionally excluded Cover art ( <itunes:image> in feed) - skipped per project constraint. .history/ files - VS Code Local History snapshots, not rewritten. podcasts/_snapshot-pre-*/ - intentional historical reference. podcasts/transcripts/ - workflow artifacts that key off old slug names in their own filename scheme; do not need rewrite for cutover. Notes All 522 currently-uncommitted files come from prior Stage 1-2 sessions. They have been validated by the Stage 2.8 gate. Committing them in step 0 is the cleanest restore point. The cutover branch should be cutover-20260518 per the REORG-PLAN.md specification. Authoritative Sources Use these official references when you need the current source of truth for this checklist. Reor"
},
{
"id": "admin/planning/SITE-IA.html",
@@ -675,19 +675,19 @@
"id": "docs/appendix-aa-agent-installation-setup.html",
"title": "Appendix AA: Agent Installation & Setup Across All Platforms",
"url": "docs/appendix-aa-agent-installation-setup.html",
- "body": "Appendix AA: Agent Installation & Setup Across All Platforms Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference Authoritative source: Accessibility Agents Repository | System Requirements Installation, Configuration, and Troubleshooting for All Five Platforms This appendix covers the step-by-step installation process for Accessibility Agents on GitHub Copilot (VS Code), Claude Code, Gemini CLI, Claude Desktop, and Codex CLI, plus system requirements, version checking, and troubleshooting for each platform. Table of Contents System Requirements Version Checking Commands Platform-Specific Installation Post-Installation Verification Troubleshooting Compatibility Issues Keeping Tools Updated 1. System Requirements Critical: Tool Currency Accessibility Agents requires the latest versions of all tools. Older versions miss accessibility features, API capabilities, and bug fixes that agents depend on. Version baseline (May 2026): VS Code: 1.113 or later (stable or Insiders) GitHub Copilot: Latest from VS Code Marketplace Node.js: v18.0.0 or higher Python: 3.8+ Operating Systems: Windows 10/11, macOS 10.15+, or Linux (Ubuntu 20.04+) Operating System Requirements OS Minimum Version Supported Architectures Notes Windows Windows 10 Build 1909+ x64, Arm64 (preview) PowerShell 5.1+ required for command-line tools macOS 10.15 (Catalina) Intel, Apple Silicon (M1/M2+) Requires command-line tools (run xcode-select --install ) Linux Ubuntu 20.04 LTS+ x64 (primary), ARM64 Debian, Fedora, RHEL derivatives supported Per-Platform System Requirements Platform Min RAM Disk Space Network Notes GitHub Copilot (VS Code) 4 GB 2 GB available Required Inline suggestions, chat, Accessible View Claude Code 4 GB 1 GB available Required Direct code generation and editing Gemini CLI 2 GB 500 MB available Required Fast iteration, Google Search integration Claude Desktop 4 GB 1 GB available Required Extended context windows, longer sessions Codex CLI 2 GB 500 MB available Optional for local mode Experimental roles and TOML configuration Required Tools by Platform GitHub Copilot (VS Code) VS Code 1.113+ - GitHub Copilot extension (latest) - GitHub Copilot Chat extension (latest) Node.js 18.0.0+ (for Playwright, axe-core, other tools) Git 2.20+ (for repository operations) Claude Code Claude Code CLI (latest) - Installation: https://docs.anthropic.com/en/docs/claude-code Claude subscription (Pro, Max, or Team) Gemini CLI Gemini CLI (latest) - Installation: https://github.com/google-gemini/gemini-cli Google AI Studio API Key (free: https://ai.google.dev/) Claude Desktop Claude Desktop (latest) - Download: https://claude.ai/download Claude subscription (Pro, Max, or Team) MCP server configuration (`.mcp.json`) Codex CLI Codex CLI (latest) - Installation: npm install -g @codex-cli/core Node.js 18.0.0+ required for npm 2. Version Checking Commands Use these commands to verify your installed versions before starting. GitHub Copilot (VS Code) # Check VS Code version code --version # Verify GitHub Copilot extension is installed code --list-extensions | grep -i copilot # Check Node.js (used by Copilot and accessibility tools) node --version npm --version # Verify Git git --version Expected output: 1 . 113 . 0 or higher (VS Code) github .copilot v18 . 0 . 0 or higher (Node.js) v2 . 20 . 0 or higher (Git) Claude Code # Check Claude Code CLI version claude code --version # Verify you have an active subscription claude code whoami # Check Node.js node --version Gemini CLI # Check Gemini CLI version gemini --version # Verify API key is configured gemini config show # Check Node.js node --version Claude Desktop Check inside the application: Settings → About to see the current version. Codex CLI # Check Codex CLI version codex --version # Check Node.js node --version npm --version 3. Platform-Specific Installation GitHub Copilot (VS Code) - Recommended for Most Workshops Step 1: Install VS Code Download from code.visualstudio.com Run installer Open VS Code and verify it starts Step 2: Install GitHub Copilot Extensions Open Extensions panel: Ctrl+Shift+X (or View → Extensions ) Search for "GitHub Copilot" Install both: GitHub Copilot (by GitHub) GitHub Copilot Chat (by GitHub) Sign in with your GitHub account when prompted Step 3: Install Node.js (for accessibility tools) Download from nodejs.org (v18 LTS or later) Run installer Verify: node --version and npm --version Step 4: Clone Accessibility Agents Repository cd /path/to/projects git clone https://github.com/Community-Access/accessibility-agents.git cd accessibility-agents Step 5: Open in VS Code code . Step 6: Verify Agents Load Open Copilot Chat: Ctrl+Alt+I Type @ and look for agent autocomplete suggestions Verify .github/agents/ folder exists in the repository Step 7: (Optional) Install Global Tools # For accessibility scanning npm install -g @axe-core/cli pa11y # For Playwright testing npm install -g playwright Claude Code Step 1: Install Claude Code CLI"
+ "body": "Appendix AA: Agent Installation & Setup Across All Platforms Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference Authoritative source: Accessibility Agents Repository | System Requirements Installation, Configuration, and Troubleshooting for All Five Platforms This appendix covers the step-by-step installation process for Accessibility Agents on GitHub Copilot (VS Code), Claude Code, Gemini CLI, Claude Desktop, and Codex CLI, plus system requirements, version checking, and troubleshooting for each platform. Table of Contents System Requirements Version Checking Commands Platform-Specific Installation Post-Installation Verification Troubleshooting Compatibility Issues Keeping Tools Updated 1. System Requirements Critical: Tool Currency Accessibility Agents requires the latest versions of all tools. Older versions miss accessibility features, API capabilities, and bug fixes that agents depend on. Version baseline (May 2026): VS Code: 1.113 or later (stable or Insiders) GitHub Copilot: Latest from VS Code Marketplace Node.js: v18.0.0 or higher Python: 3.8+ Operating Systems: Windows 10/11, macOS 10.15+, or Linux (Ubuntu 20.04+) Operating System Requirements OS Minimum Version Supported Architectures Notes Windows Windows 10 Build 1909+ x64, Arm64 (preview) PowerShell 5.1+ required for command-line tools macOS 10.15 (Catalina) Intel, Apple Silicon (M1/M2+) Requires command-line tools (run xcode-select --install ) Linux Ubuntu 20.04 LTS+ x64 (primary), ARM64 Debian, Fedora, RHEL derivatives supported Per-Platform System Requirements Platform Min RAM Disk Space Network Notes GitHub Copilot (VS Code) 4 GB 2 GB available Required Inline suggestions, chat, Accessible View Claude Code 4 GB 1 GB available Required Direct code generation and editing Gemini CLI 2 GB 500 MB available Required Fast iteration, Google Search integration Claude Desktop 4 GB 1 GB available Required Extended context windows, longer sessions Codex CLI 2 GB 500 MB available Optional for local mode Experimental roles and TOML configuration Required Tools by Platform GitHub Copilot (VS Code) VS Code 1.113+ - GitHub Copilot extension (latest) - GitHub Copilot Chat extension (latest) Node.js 18.0.0+ (for Playwright, axe-core, other tools) Git 2.20+ (for repository operations) Claude Code Claude Code CLI (latest) - Installation: https://docs.anthropic.com/en/docs/claude-code Claude subscription (Pro, Max, or Team) Gemini CLI Gemini CLI (latest) - Installation: https://github.com/google-gemini/gemini-cli Google AI Studio API Key (free: https://ai.google.dev/) Claude Desktop Claude Desktop (latest) - Download: https://claude.ai/download Claude subscription (Pro, Max, or Team) MCP server configuration (`.mcp.json`) Codex CLI Codex CLI (latest) - Installation: npm install -g @codex-cli/core Node.js 18.0.0+ required for npm 2. Version Checking Commands Use these commands to verify your installed versions before starting. GitHub Copilot (VS Code) # Check VS Code version code --version # Verify GitHub Copilot extension is installed code --list-extensions | grep -i copilot # Check Node.js (used by Copilot and accessibility tools) node --version npm --version # Verify Git git --version Expected output: 1.113.0 or higher (VS Code) github.copilot v18.0.0 or higher (Node.js) v2.20.0 or higher (Git) Claude Code # Check Claude Code CLI version claude code --version # Verify you have an active subscription claude code whoami # Check Node.js node --version Gemini CLI # Check Gemini CLI version gemini --version # Verify API key is configured gemini config show # Check Node.js node --version Claude Desktop Check inside the application: Settings → About to see the current version. Codex CLI # Check Codex CLI version codex --version # Check Node.js node --version npm --version 3. Platform-Specific Installation GitHub Copilot (VS Code) - Recommended for Most Workshops Step 1: Install VS Code Download from code.visualstudio.com Run installer Open VS Code and verify it starts Step 2: Install GitHub Copilot Extensions Open Extensions panel: Ctrl+Shift+X (or View → Extensions ) Search for "GitHub Copilot" Install both: GitHub Copilot (by GitHub) GitHub Copilot Chat (by GitHub) Sign in with your GitHub account when prompted Step 3: Install Node.js (for accessibility tools) Download from nodejs.org (v18 LTS or later) Run installer Verify: node --version and npm --version Step 4: Clone Accessibility Agents Repository cd /path/to/projects git clone https://github.com/Community-Access/accessibility-agents.git cd accessibility-agents Step 5: Open in VS Code code . Step 6: Verify Agents Load Open Copilot Chat: Ctrl+Alt+I Type @ and look for agent autocomplete suggestions Verify .github/agents/ folder exists in the repository Step 7: (Optional) Install Global Tools # For accessibility scanning npm install -g @axe-core/cli pa11y # For Playwright testing npm install -g playwright Claude Code Step 1: Install Claude Code CLI npm install "
},
{
"id": "docs/appendix-ab-advanced-agent-patterns.html",
"title": "Appendix AB: Advanced Agent Patterns & Skills",
"url": "docs/appendix-ab-advanced-agent-patterns.html",
- "body": "Appendix AB: Advanced Agent Patterns & Skills Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference | Appendix AA: Installation & Setup Authoritative source: Accessibility Agents Repository - Skills | Skills Documentation Architecture, Skills, Hooks, and Advanced Patterns for AI Agents This appendix covers how to build sophisticated agent workflows using subagent delegation, lifecycle hooks, reusable skills, and browser automation tools. These patterns scale beyond single-agent use to orchestrate complex accessibility audits and remediation workflows. Table of Contents Architecture: Agents and Subagents Skills: Reusable Multi-Step Workflows Hooks: Lifecycle Automation Browser Tools for Behavioral Scanning Orchestration: Delegation Patterns Advanced Techniques 1. Architecture: Agents and Subagents What Are Subagents? An agent is a standalone AI system (like @aria-specialist ) that understands one domain (ARIA patterns). A subagent is an agent invoked by another agent to delegate work. Example workflow: User : @web - accessibility - wizard [audit this page] ↓ (orchestrates multiple specialists) ├─→ @aria - specialist ( check ARIA roles) ├─→ @contrast - master ( check colors) ├─→ @keyboard - navigator ( check tab order ) ├─→ @alt - text - headings ( check images and headings) └─→ @tables - specialist ( check table markup) ↓ (aggregates results) Output: [consolidated audit report] How to Use Subagents In your agent's instructions or a custom prompt, invoke subagents with the runSubagent() function: <!-- In your .agent.md or .prompt.md file --> ## Use Subagents for Deep Audits When you need to audit multiple aspects of a page, use subagents: ```javascript // Pseudo-code - how agents invoke subagents const results = await runSubagent({ agentName: '@aria-specialist', prompt: 'Check this component for ARIA compliance: <component HTML>', description: 'ARIA pattern review' }); const contrastResults = await runSubagent({ agentName: '@contrast-master', prompt: 'Audit these colors: <CSS rules>', description: 'Color contrast verification' }); When to Use Subagents Scenario Primary Agent Subagents Benefit Full page audit @web-accessibility-wizard All specialists Parallel scanning, consolidated report Code review @web-issue-fixer @aria-specialist , @contrast-master Verify fixes across multiple domains Document audit @document-accessibility-wizard Platform-specific agents Single entry point for Word/PDF/Excel Markdown audit @markdown-a11y-assistant @link-checker Cross-check link text and heading hierarchy Subagent Architecture Principles Delegation over monoliths: One agent calls specialists; specialists don't call other specialists (avoid infinite loops) Error recovery: If a subagent fails, the parent agent logs it and continues with other subagents Context preservation: Parent passes full context (HTML, CSS, document) to subagents Result aggregation: Parent collects results and produces a single consolidated report 2. Skills: Reusable Multi-Step Workflows What Are Skills? A skill is a reusable, multi-step workflow bundled with reference files, templates, and automation scripts. Skills are invoked by agents or directly by users via slash commands. Example: The web-scanning skill contains: Step-by-step crawling logic URL inventory templates Browser automation code Reference documentation Example: The report-generation skill contains: Severity scoring algorithms Scorecard templates CSV export logic WCAG mapping reference data The 25+ Core Skills Accessibility Agents includes a library of reusable skills organized by capability: Skill Category Skills Purpose Web Scanning web-scanning , web-severity-scoring Page inventory, audit scope, severity calculation Web Remediation web-issue-fixer , web-csv-reporter Apply fixes, export findings to CSV Document Scanning document-scanning , document-accessibility-rules Audit Word/Excel/PDF/EPUB; map to WCAG Document Remediation document-remediation , document-csv-reporter Fix documents; generate compliance reports Markdown markdown-accessibility , markdown-fixer , markdown-csv-reporter Audit .md files; fix links, headings, emoji CI/CD Integration lighthouse-scanner , github-accessibility-scanner Parse CI reports; track regressions Framework Specifics framework-accessibility , react-patterns , vue-patterns Framework-specific accessibility patterns Python Dev Tools python-fact-grounded-coding , pylance-refactoring Python code analysis, accessibility linting Testing testing-coach , accessibility-testing-setup Screen reader testing, test automation, CI/CD setup Compliance wcag-guide , accessibility-rules-reference , help-url-reference WCAG 2.2 AA reference, remediation links How to Use a Skill From Copilot Chat: /web-scanning [URL] /report-generation [findings JSON] /python-fact-grounded-coding my_script.py From a Custom Agent: ## Invoke Skills When you need to audit"
+ "body": "Appendix AB: Advanced Agent Patterns & Skills Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference | Appendix AA: Installation & Setup Authoritative source: Accessibility Agents Repository - Skills | Skills Documentation Architecture, Skills, Hooks, and Advanced Patterns for AI Agents This appendix covers how to build sophisticated agent workflows using subagent delegation, lifecycle hooks, reusable skills, and browser automation tools. These patterns scale beyond single-agent use to orchestrate complex accessibility audits and remediation workflows. Table of Contents Architecture: Agents and Subagents Skills: Reusable Multi-Step Workflows Hooks: Lifecycle Automation Browser Tools for Behavioral Scanning Orchestration: Delegation Patterns Advanced Techniques 1. Architecture: Agents and Subagents What Are Subagents? An agent is a standalone AI system (like @aria-specialist ) that understands one domain (ARIA patterns). A subagent is an agent invoked by another agent to delegate work. Example workflow: User: @web-accessibility-wizard [audit this page] ↓ (orchestrates multiple specialists) ├─→ @aria-specialist (check ARIA roles) ├─→ @contrast-master (check colors) ├─→ @keyboard-navigator (check tab order) ├─→ @alt-text-headings (check images and headings) └─→ @tables-specialist (check table markup) ↓ (aggregates results) Output: [consolidated audit report] How to Use Subagents In your agent's instructions or a custom prompt, invoke subagents with the runSubagent() function: <!-- In your .agent.md or .prompt.md file --> ## Use Subagents for Deep Audits When you need to audit multiple aspects of a page, use subagents: ```javascript // Pseudo-code - how agents invoke subagents const results = await runSubagent({ agentName: '@aria-specialist', prompt: 'Check this component for ARIA compliance: <component HTML>', description: 'ARIA pattern review' }); const contrastResults = await runSubagent({ agentName: '@contrast-master', prompt: 'Audit these colors: <CSS rules>', description: 'Color contrast verification' }); When to Use Subagents Scenario Primary Agent Subagents Benefit Full page audit @web-accessibility-wizard All specialists Parallel scanning, consolidated report Code review @web-issue-fixer @aria-specialist , @contrast-master Verify fixes across multiple domains Document audit @document-accessibility-wizard Platform-specific agents Single entry point for Word/PDF/Excel Markdown audit @markdown-a11y-assistant @link-checker Cross-check link text and heading hierarchy Subagent Architecture Principles Delegation over monoliths: One agent calls specialists; specialists don't call other specialists (avoid infinite loops) Error recovery: If a subagent fails, the parent agent logs it and continues with other subagents Context preservation: Parent passes full context (HTML, CSS, document) to subagents Result aggregation: Parent collects results and produces a single consolidated report 2. Skills: Reusable Multi-Step Workflows What Are Skills? A skill is a reusable, multi-step workflow bundled with reference files, templates, and automation scripts. Skills are invoked by agents or directly by users via slash commands. Example: The web-scanning skill contains: Step-by-step crawling logic URL inventory templates Browser automation code Reference documentation Example: The report-generation skill contains: Severity scoring algorithms Scorecard templates CSV export logic WCAG mapping reference data The 25+ Core Skills Accessibility Agents includes a library of reusable skills organized by capability: Skill Category Skills Purpose Web Scanning web-scanning , web-severity-scoring Page inventory, audit scope, severity calculation Web Remediation web-issue-fixer , web-csv-reporter Apply fixes, export findings to CSV Document Scanning document-scanning , document-accessibility-rules Audit Word/Excel/PDF/EPUB; map to WCAG Document Remediation document-remediation , document-csv-reporter Fix documents; generate compliance reports Markdown markdown-accessibility , markdown-fixer , markdown-csv-reporter Audit .md files; fix links, headings, emoji CI/CD Integration lighthouse-scanner , github-accessibility-scanner Parse CI reports; track regressions Framework Specifics framework-accessibility , react-patterns , vue-patterns Framework-specific accessibility patterns Python Dev Tools python-fact-grounded-coding , pylance-refactoring Python code analysis, accessibility linting Testing testing-coach , accessibility-testing-setup Screen reader testing, test automation, CI/CD setup Compliance wcag-guide , accessibility-rules-reference , help-url-reference WCAG 2.2 AA reference, remediation links How to Use a Skill From Copilot Chat: /web-scanning [URL] /report-generation [findings JSON] /python-fact-grounded-coding my_script.py From a Custom Agent: ## Invoke Skills When you need to audit a webpage, use the web"
},
{
"id": "docs/appendix-ac-document-developer-tools.html",
"title": "Appendix AC: Document & Developer Tool Agents",
"url": "docs/appendix-ac-document-developer-tools.html",
- "body": "Appendix AC: Document & Developer Tool Agents Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference | Appendix AB: Advanced Patterns Authoritative source: Accessibility Agents Repository - Document Team | Developer Tools Team Specialized Agents for Office Documents, PDFs, and Developer Tools This appendix covers the 15 agents dedicated to document accessibility (Word, Excel, PowerPoint, PDF, EPUB) and developer tools (Python, wxPython, NVDA, CI/CD). Learn how to audit and remediate documents, build accessible applications, and integrate accessibility into development workflows. Table of Contents Document Accessibility Team (15 Agents) Microsoft Office Accessibility PDF & EPUB Accessibility Developer Tools Team (8 Agents) Python & wxPython Accessibility Desktop & NVDA Development CI/CD Integration for Accessibility 1. Document Accessibility Team (15 Agents) Document Agents Overview The Document Accessibility Team provides specialized agents for scanning, remediating, and enforcing accessibility standards in business documents. Agent Purpose Input Output @word-accessibility Audit Microsoft Word documents .docx file Findings (headings, alt text, hyperlinks) @excel-accessibility Audit Excel spreadsheets .xlsx file Findings (table headers, merged cells, formulas) @powerpoint-accessibility Audit PowerPoint presentations .pptx file Findings (slide structure, alt text, animations) @pdf-accessibility Audit tagged PDF documents .pdf file Findings (PDF/UA compliance, tagging) @epub-accessibility Audit EPUB digital publications .epub file Findings (structure, reading order) @office-scan-config Configure Office scanning rules JSON config Updated scan profile @office-remediator Fix Word/Excel/PowerPoint issues .docx/.xlsx/.pptx Remediated document with changelog @pdf-remediator Fix PDF accessibility issues .pdf file Remediated PDF with tags and bookmarks @pdf-scan-config Configure PDF scanning rules JSON config Updated scan profile @epub-scan-config Configure EPUB scanning rules JSON config Updated scan profile @document-accessibility-wizard Guided audit for any document type File upload Severity report + fix checklist @cross-document-analyzer Compare accessibility across document versions Multiple files Trend report + improvement suggestions @document-inventory List all documents in a folder Folder path Document manifest with audit status @document-csv-reporter Export document findings to CSV Audit JSON CSV report with WCAG mappings @document-remediation-coach Guide users through remediation steps Document + findings Step-by-step fix instructions 2. Microsoft Office Accessibility Word Document Accessibility Common issues in Word documents: Issue Cause Fix No document title/heading Missing Heading 1 style Apply Heading 1 to title; set document properties Broken heading hierarchy Mixed heading levels (e.g., H1 → H3 → H2) Restructure to H1, H2, H3... in order Untagged images No alt text provided Select image → right-click → Edit Alt Text Hyperlinks "Click here" Non-descriptive link text Edit link text to describe destination Merged table cells Layout cells merged without description Use rows/columns instead; add scope attributes Color-only formatting Information conveyed by color alone Add text label or icon in addition to color Missing language tag Screen readers don't know language File → Options → Language Using @word-accessibility : User: @word-accessibility audit my-report.docx Agent response: 1. Scans document structure 2. Checks heading hierarchy 3. Validates image alt text 4. Checks table tagging 5. Reports: - 3 errors: Broken heading hierarchy, 5 images without alt text - 2 warnings: Merge cells in table, unclear hyperlinks - Severity: 72/100 (C grade) Using @office-remediator : User : @office-remediator fix-word my-report.docx Agent response : 1. Auto-fixes : - Restructures heading hierarchy - Removes merged cells (converts to simple rows) - Adds placeholder alt text for images (reviewer must replace) 2. Creates changelog : - "Fixed: Heading hierarchy (H1, H2, H3)" - "Added: Alt text placeholders (5 images)" 3. Returns : my-report-remediated.docx Excel Spreadsheet Accessibility Common issues in Excel: Issue Cause Fix No header row designated First row not marked as table header Format as Table → options → Table Header Row Merged cells in table Data layout split across merged areas Unmerge cells; use sub-headers instead Hidden columns/rows Columns/rows hidden for layout reasons Unhide all; use filters instead Color-only data Information by color (e.g., red = error) Add conditional formatting with icons/symbols Complex formulas without explanation Formula logic unclear to screen readers Add named ranges; document in separate column Multiple tables on one sheet Screens readers confused about scope Separate into different sheets; use clear headers Using @excel-accessibility : User : @excel-accessibility audit sales-data.xlsx Agent res"
+ "body": "Appendix AC: Document & Developer Tool Agents Reference companion to: Chapter 19: Accessibility Agents | Appendix L: Agents Reference | Appendix AB: Advanced Patterns Authoritative source: Accessibility Agents Repository - Document Team | Developer Tools Team Specialized Agents for Office Documents, PDFs, and Developer Tools This appendix covers the 15 agents dedicated to document accessibility (Word, Excel, PowerPoint, PDF, EPUB) and developer tools (Python, wxPython, NVDA, CI/CD). Learn how to audit and remediate documents, build accessible applications, and integrate accessibility into development workflows. Table of Contents Document Accessibility Team (15 Agents) Microsoft Office Accessibility PDF & EPUB Accessibility Developer Tools Team (8 Agents) Python & wxPython Accessibility Desktop & NVDA Development CI/CD Integration for Accessibility 1. Document Accessibility Team (15 Agents) Document Agents Overview The Document Accessibility Team provides specialized agents for scanning, remediating, and enforcing accessibility standards in business documents. Agent Purpose Input Output @word-accessibility Audit Microsoft Word documents .docx file Findings (headings, alt text, hyperlinks) @excel-accessibility Audit Excel spreadsheets .xlsx file Findings (table headers, merged cells, formulas) @powerpoint-accessibility Audit PowerPoint presentations .pptx file Findings (slide structure, alt text, animations) @pdf-accessibility Audit tagged PDF documents .pdf file Findings (PDF/UA compliance, tagging) @epub-accessibility Audit EPUB digital publications .epub file Findings (structure, reading order) @office-scan-config Configure Office scanning rules JSON config Updated scan profile @office-remediator Fix Word/Excel/PowerPoint issues .docx/.xlsx/.pptx Remediated document with changelog @pdf-remediator Fix PDF accessibility issues .pdf file Remediated PDF with tags and bookmarks @pdf-scan-config Configure PDF scanning rules JSON config Updated scan profile @epub-scan-config Configure EPUB scanning rules JSON config Updated scan profile @document-accessibility-wizard Guided audit for any document type File upload Severity report + fix checklist @cross-document-analyzer Compare accessibility across document versions Multiple files Trend report + improvement suggestions @document-inventory List all documents in a folder Folder path Document manifest with audit status @document-csv-reporter Export document findings to CSV Audit JSON CSV report with WCAG mappings @document-remediation-coach Guide users through remediation steps Document + findings Step-by-step fix instructions 2. Microsoft Office Accessibility Word Document Accessibility Common issues in Word documents: Issue Cause Fix No document title/heading Missing Heading 1 style Apply Heading 1 to title; set document properties Broken heading hierarchy Mixed heading levels (e.g., H1 → H3 → H2) Restructure to H1, H2, H3... in order Untagged images No alt text provided Select image → right-click → Edit Alt Text Hyperlinks "Click here" Non-descriptive link text Edit link text to describe destination Merged table cells Layout cells merged without description Use rows/columns instead; add scope attributes Color-only formatting Information conveyed by color alone Add text label or icon in addition to color Missing language tag Screen readers don't know language File → Options → Language Using @word-accessibility : User: @word-accessibility audit my-report.docx Agent response: 1. Scans document structure 2. Checks heading hierarchy 3. Validates image alt text 4. Checks table tagging 5. Reports: - 3 errors: Broken heading hierarchy, 5 images without alt text - 2 warnings: Merge cells in table, unclear hyperlinks - Severity: 72/100 (C grade) Using @office-remediator : User: @office-remediator fix-word my-report.docx Agent response: 1. Auto-fixes: - Restructures heading hierarchy - Removes merged cells (converts to simple rows) - Adds placeholder alt text for images (reviewer must replace) 2. Creates changelog: - "Fixed: Heading hierarchy (H1, H2, H3)" - "Added: Alt text placeholders (5 images)" 3. Returns: my-report-remediated.docx Excel Spreadsheet Accessibility Common issues in Excel: Issue Cause Fix No header row designated First row not marked as table header Format as Table → options → Table Header Row Merged cells in table Data layout split across merged areas Unmerge cells; use sub-headers instead Hidden columns/rows Columns/rows hidden for layout reasons Unhide all; use filters instead Color-only data Information by color (e.g., red = error) Add conditional formatting with icons/symbols Complex formulas without explanation Formula logic unclear to screen readers Add named ranges; document in separate column Multiple tables on one sheet Screens readers confused about scope Separate into different sheets; use clear headers Using @excel-accessibility : User: @excel-accessibility audit sales-data.xlsx Agent response:"
},
{
"id": "docs/appendix-b-screen-reader-cheatsheet.html",
@@ -879,13 +879,13 @@
"id": "docs/solutions/solution-04-branch-out.html",
"title": "Solution Reference: Challenge 4 -- Branch Out",
"url": "docs/solutions/solution-04-branch-out.html",
- "body": "Solution Reference: Challenge 4 -- Branch Out This shows how to create a branch from each tool. You only needed to use one. On github.com Go to the repository's Code tab Open the branch dropdown (it says "main"; a screen reader reads it as "main branch") Type a new branch name like fix/welcome-todo in the text field that opens. The same field filters existing branches and names a new one, so "no branches found" is expected Select "Create branch: fix/welcome-todo from main". With a keyboard, press Tab until you reach it (usually two presses, past the Tags tab), then press Enter or Space The branch now exists on GitHub and is active. You can switch to it using the same dropdown. In VS Code (with Git) git checkout - b fix/welcome-todo Or use the Source Control sidebar: click the branch name in the bottom-left status bar, then select "Create new branch." In GitHub Desktop Click the Current Branch dropdown Click "New Branch" Enter the name fix/welcome-todo Confirm it is based on main With GitHub CLI gh repo clone <workshop-org>/learning-room-<your-username> cd learning-room git checkout -b fix/welcome-todo Branch naming Good branch names are short and descriptive: fix/welcome-todo -- fixing a TODO in welcome.md feature/add-schedule-link -- adding a new link docs/update-readme -- documentation change All of these are valid. The convention type/description is common but not required. What matters The learning objective is understanding that branches let you work in isolation without affecting main. If you created any branch with any name, you completed this challenge. Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. On github.com: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests In VS Code (with Git): GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests In GitHub Desktop: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests With GitHub CLI: GitHub Docs, home , GitHub Changelog , GitHub Copilot docs , Custom instructions support matrix , About custom agents Branch naming: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests What matters: GitHub Docs, home , GitHub Changelog"
+ "body": "Solution Reference: Challenge 4 -- Branch Out This shows how to create a branch from each tool. You only needed to use one. On github.com Go to the repository's Code tab Open the branch dropdown (it says "main"; a screen reader reads it as "main branch") Type a new branch name like fix/welcome-todo in the text field that opens. The same field filters existing branches and names a new one, so "no branches found" is expected Select "Create branch: fix/welcome-todo from main". With a keyboard, press Tab until you reach it (usually two presses, past the Tags tab), then press Enter or Space The branch now exists on GitHub and is active. You can switch to it using the same dropdown. In VS Code (with Git) git checkout -b fix/welcome-todo Or use the Source Control sidebar: click the branch name in the bottom-left status bar, then select "Create new branch." In GitHub Desktop Click the Current Branch dropdown Click "New Branch" Enter the name fix/welcome-todo Confirm it is based on main With GitHub CLI gh repo clone <workshop-org>/learning-room-<your-username> cd learning-room git checkout -b fix/welcome-todo Branch naming Good branch names are short and descriptive: fix/welcome-todo -- fixing a TODO in welcome.md feature/add-schedule-link -- adding a new link docs/update-readme -- documentation change All of these are valid. The convention type/description is common but not required. What matters The learning objective is understanding that branches let you work in isolation without affecting main. If you created any branch with any name, you completed this challenge. Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. On github.com: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests In VS Code (with Git): GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests In GitHub Desktop: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests With GitHub CLI: GitHub Docs, home , GitHub Changelog , GitHub Copilot docs , Custom instructions support matrix , About custom agents Branch naming: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests What matters: GitHub Docs, home , GitHub Changelog"
},
{
"id": "docs/solutions/solution-05-make-your-mark.html",
"title": "Solution Reference: Challenge 5 -- Make Your Mark",
"url": "docs/solutions/solution-05-make-your-mark.html",
- "body": "Solution Reference: Challenge 5 -- Make Your Mark This shows an example edit and commit. Your changes will be different. Example edit File: docs/welcome.md Before (line 15): <!-- TODO: add link to workshop schedule --> After: See the [ workshop schedule ]( https://github.com/Community-Access/git-going-with-github/blob/main/admin/DAY1_AGENDA.md ) for session times. Example commit message docs: replace TODO with workshop schedule link Resolves the placeholder on line 15 of welcome . md by adding a link to the schedule file . What makes a good commit message First line: Short summary (50 characters or less is ideal), starts with the type of change Blank line: Separates summary from body Body (optional): Explains what changed and why Simpler alternatives that are also fine Fix TODO in welcome. md Add schedule link to welcome page Both are clear and descriptive. The more structured format is a convention, not a requirement. Alternate approaches github.com: Click the pencil icon on the file, make the edit, fill in the commit message at the bottom github.dev: Press . to open the editor, edit the file, use the Source Control sidebar to commit VS Code: Edit locally, stage with git add , commit with git commit GitHub Desktop: Edit in your preferred editor, return to Desktop, write the message, click Commit What matters The learning objective is making a meaningful change and describing it in a commit message. Any clear edit with any descriptive message is a success. Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. Example edit: GitHub Docs, home , GitHub Changelog Example commit message: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests Alternate approaches: GitHub Docs, home , GitHub Changelog What matters: GitHub Docs, home , GitHub Changelog"
+ "body": "Solution Reference: Challenge 5 -- Make Your Mark This shows an example edit and commit. Your changes will be different. Example edit File: docs/welcome.md Before (line 15): <!-- TODO: add link to workshop schedule --> After: See the [ workshop schedule ]( https://github.com/Community-Access/git-going-with-github/blob/main/admin/DAY1_AGENDA.md ) for session times. Example commit message docs: replace TODO with workshop schedule link Resolves the placeholder on line 15 of welcome.md by adding a link to the schedule file. What makes a good commit message First line: Short summary (50 characters or less is ideal), starts with the type of change Blank line: Separates summary from body Body (optional): Explains what changed and why Simpler alternatives that are also fine Fix TODO in welcome.md Add schedule link to welcome page Both are clear and descriptive. The more structured format is a convention, not a requirement. Alternate approaches github.com: Click the pencil icon on the file, make the edit, fill in the commit message at the bottom github.dev: Press . to open the editor, edit the file, use the Source Control sidebar to commit VS Code: Edit locally, stage with git add , commit with git commit GitHub Desktop: Edit in your preferred editor, return to Desktop, write the message, click Commit What matters The learning objective is making a meaningful change and describing it in a commit message. Any clear edit with any descriptive message is a success. Authoritative Sources Use these official references when you need the current source of truth for facts in this chapter. GitHub Docs, home GitHub Changelog Section-Level Source Map Use this map to verify facts for each major section in this file. Example edit: GitHub Docs, home , GitHub Changelog Example commit message: GitHub Docs, home , GitHub Changelog , About Git , GitHub flow , About pull requests Alternate approaches: GitHub Docs, home , GitHub Changelog What matters: GitHub Docs, home , GitHub Changelog"
},
{
"id": "docs/solutions/solution-06-first-pr.html",
diff --git a/html/search.html b/html/search.html
index 0d5eeb06..5c903b93 100644
--- a/html/search.html
+++ b/html/search.html
@@ -65,7 +65,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/html/styles/custom.css b/html/styles/custom.css
index 44e8b841..22a18a5a 100644
--- a/html/styles/custom.css
+++ b/html/styles/custom.css
@@ -35,7 +35,6 @@
.quick-jumps-list a:focus {
background: #eaeef2;
text-decoration: underline;
- outline: none;
}
@media (prefers-color-scheme: dark) {
.quick-jumps { background: #161b22; border-color: #30363d; }
diff --git a/html/work.html b/html/work.html
index a8b33ec8..8edd6cd7 100644
--- a/html/work.html
+++ b/html/work.html
@@ -62,7 +62,6 @@
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/scripts/build-html.js b/scripts/build-html.js
index 961c9e8b..e05c608f 100644
--- a/scripts/build-html.js
+++ b/scripts/build-html.js
@@ -684,7 +684,6 @@ const htmlTemplate = (content, title, relativePath) => {
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
@@ -1030,7 +1029,6 @@ function setupStyles(outputDir) {
.quick-jumps-list a:focus {
background: #eaeef2;
text-decoration: underline;
- outline: none;
}
@media (prefers-color-scheme: dark) {
.quick-jumps { background: #161b22; border-color: #30363d; }
@@ -1966,7 +1964,6 @@ function buildSearchPage(outputDir) {
name="q"
placeholder="Search docs…"
autocomplete="off"
- aria-label="Search documentation"
>
diff --git a/scripts/docs-accessibility-baseline.json b/scripts/docs-accessibility-baseline.json
index 7ef05fc0..2e0c7c84 100644
--- a/scripts/docs-accessibility-baseline.json
+++ b/scripts/docs-accessibility-baseline.json
@@ -1,118 +1,8 @@
{
"description": "Known findings from scripts/check-docs-accessibility.js, counted per file and rule. Counts may only go down. Lower a count when you fix a finding; never raise one to let a new barrier in.",
"files": {
- "BATCH.md": {
- "code-fence-language": 5
- },
- "CONTRIBUTING.md": {
- "code-fence-language": 3
- },
- "README.md": {
- "code-fence-language": 2
- },
- "admin/ACCESSIBILITY_TESTING.md": {
- "code-fence-language": 4
- },
- "admin/AGENTS_ROADMAP.md": {
- "code-fence-language": 4
- },
- "admin/CURRICULUM_2.0_ORGANIZATION.md": {
- "emoji": 123
- },
- "admin/DAY2_AGENDA.md": {
- "code-fence-language": 1
- },
- "admin/FACILITATOR_CHALLENGES.md": {
- "code-fence-language": 2
- },
- "admin/FACILITATOR_GUIDE.md": {
- "emoji": 26,
- "code-fence-language": 1
- },
- "admin/FACILITATOR_OPERATIONS.md": {
- "code-fence-language": 4,
- "emoji": 3
- },
- "admin/FACILITATOR_RESOURCES.md": {
- "emoji": 20
- },
- "admin/FAQ.md": {
- "code-fence-language": 2
- },
- "admin/GITHUB_PROPOSAL.md": {
- "code-fence-language": 2
- },
- "admin/QUICK_REFERENCE.md": {
- "code-fence-language": 2
- },
- "admin/TROUBLESHOOTING.md": {
- "code-fence-language": 1
- },
- "admin/classroom admin access.md": {
- "heading-single-h1": 1
- },
- "admin/planning/SHIP-CHECKLIST.md": {
- "code-fence-language": 1
- },
- "admin/planning/SITE-IA.md": {
- "code-fence-language": 1
- },
- "docs/05-working-with-issues.md": {
- "code-fence-language": 1
- },
- "docs/07-merge-conflicts.md": {
- "code-fence-language": 2
- },
- "docs/15-code-review.md": {
- "code-fence-language": 3
- },
- "docs/16-github-copilot.md": {
- "code-fence-language": 1
- },
- "docs/17-issue-templates.md": {
- "code-fence-language": 1
- },
- "docs/19-accessibility-agents.md": {
- "code-fence-language": 2
- },
- "docs/appendix-aa-agent-installation-setup.md": {
- "code-fence-language": 2
- },
- "docs/appendix-ab-advanced-agent-patterns.md": {
- "code-fence-language": 7
- },
- "docs/appendix-ac-document-developer-tools.md": {
- "code-fence-language": 16
- },
"docs/appendix-c-markdown-reference.md": {
"link-text": 3
- },
- "docs/appendix-e-advanced-git.md": {
- "code-fence-language": 5
- },
- "docs/appendix-f-git-security.md": {
- "code-fence-language": 1
- },
- "docs/appendix-h-github-desktop.md": {
- "code-fence-language": 1
- },
- "docs/appendix-k-copilot-reference.md": {
- "code-fence-language": 1
- },
- "docs/appendix-l-agents-reference.md": {
- "code-fence-language": 1
- },
- "docs/appendix-t-community-and-social.md": {
- "code-fence-language": 1
- },
- "docs/solutions/solution-04-branch-out.md": {
- "code-fence-language": 2
- },
- "docs/solutions/solution-05-make-your-mark.md": {
- "code-fence-language": 3
- },
- "docs/solutions/solution-07-merge-conflict.md": {
- "code-fence-language": 3
}
}
}