# GitHub Copilot
>
> **Listen to Episode 14:** [GitHub Copilot](../PODCASTS.md) - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.
## AI-Powered Code Assistance in VS Code
> **Day 2, Block 2-3 Material**
>
> This guide covers GitHub Copilot: inline code suggestions, Copilot Chat (conversational assistance), custom instructions vs custom agents, effective prompting for non-code contributions, and using Accessible View to read AI-generated responses.
>
> **Official GitHub Accessibility Guides:** GitHub publishes two developer guides and an NVDA-focused screen reader guide for Copilot:
>
> - [Using GitHub Copilot in Visual Studio Code with a Screen Reader](https://accessibility.github.com/documentation/guide/github-copilot-vsc/) - NVDA-specific setup, audio cues, inline suggestions, inline chat, chat view, and built-in actions
> - [Optimizing GitHub Copilot for Accessibility with Custom Instructions](https://accessibility.github.com/documentation/guide/copilot-instructions/) - writing effective custom instructions at org, repo, and personal levels
> - [Getting Started with GitHub Copilot Custom Agents for Accessibility](https://accessibility.github.com/documentation/guide/getting-started-with-agents/) - creating and invoking custom agents in VS Code and on GitHub.com
>
> This chapter covers the same material with additional perspectives and workshop context. Use the official guides as companion references.
>
> **Prerequisites:** [VS Code Setup & Accessibility Basics](05-vscode-accessibility.md), [Git & Source Control in VS Code](11-git-source-control.md)
>
> **Mac keyboard shortcuts:** Throughout this chapter, all `Ctrl+` shortcuts use `Cmd+` on Mac, and `Alt+` shortcuts use `Option+` on Mac. Key equivalents: `Ctrl+Shift+I` → `Cmd+Shift+I` (Chat), `Ctrl+I` → `Cmd+I` (inline chat), `Alt+F2` → `Option+F2` (Accessible View), `Ctrl+/` → `Cmd+/` (insert suggestion). See the [Keyboard Shortcuts Reference](#8-keyboard-shortcuts-reference) at the end of this chapter for the complete list.
## Workshop Recommendation (Chapter 13)
> ** Free to Use:** GitHub Copilot Free tier is included with all GitHub accounts at no cost. This workshop uses only the free tier. If you're on an organization with GitHub Enterprise, you may have Copilot Pro included—either way, you're covered.
Chapter 13 introduces **GitHub Copilot** for AI-assisted documentation and writing.
- **Challenge count:** 3 guided challenges
- **Automation check:** none (tool configuration is account-local and account-specific)
- **Evidence:** issue comment with checklist of completed actions
- **Pattern:** install, prompt, apply, reflect
### Chapter 13 Challenge Set
1. **Install GitHub Copilot and sign in** - add the Copilot Chat extension and authenticate.
2. **Ask Copilot to explain a codebase** - clone the sci-fi themes repo and use Copilot Chat to understand it.
3. **Ask Copilot to create something new** - prompt Copilot to generate a custom theme and apply it.
### Challenge 13.1 Step-by-Step: Install and Sign In
**Goal:** Install the GitHub Copilot Chat extension and verify it responds to prompts.
**Where you are working:** VS Code desktop with the [learning-room](https://github.com/Community-Access/learning-room) repository open.
**Estimated time:** 3-5 minutes.
1. Open the Extensions sidebar: `Ctrl+Shift+X` (Mac: `Cmd+Shift+X`).
2. Type `GitHub Copilot` in the search box and press `Enter`.
3. Find **GitHub Copilot** (publisher: GitHub) in the results. Activate **Install**.
4. VS Code may also install **GitHub Copilot Chat** automatically. If not, search for it separately and install it.
5. After installation, VS Code prompts you to sign in. Activate **Sign in to GitHub** and complete the OAuth flow in your browser.
6. Verify Copilot is active: open Copilot Chat with `Ctrl+Shift+I` (Mac: `Cmd+Shift+I`). Type `Hello, are you working?` and press `Enter`. Copilot should respond.
**Screen reader tip:** The Copilot Chat panel opens as a sidebar. Your screen reader announces responses as they stream in. Press `Alt+F2` (Accessible View) to read the full response in a plain text buffer if streaming is hard to follow.
**You are done when:** Copilot Chat responds to a test prompt.
### Challenge 13.2 Step-by-Step: Explain a Codebase
**Goal:** Use Copilot Chat to understand an unfamiliar repository by asking targeted questions.
**Where you are working:** VS Code with the sci-fi themes repository cloned.
**Estimated time:** 10-15 minutes.
1. Open the Command Palette: `Ctrl+Shift+P` (Mac: `Cmd+Shift+P`).
2. Run `Git: Clone` and paste: `https://github.com/community-access/vscode-sci-fi-themes.git`
3. Open the cloned repository when VS Code prompts.
4. Open Copilot Chat: `Ctrl+Shift+I` (Mac: `Cmd+Shift+I`).
5. Ask Copilot: "What does the `chat.agent.thinking.phrases` setting do in VS Code?"
6. Read the response. Use `Alt+F2` (Accessible View) if needed to read the full text.
7. Ask a follow-up: "How do I apply one of these themes to my settings.json?"
8. Follow Copilot's instructions to apply one theme to your `settings.json` file.
**You are done when:** You have asked Copilot at least two questions and applied one setting change.
### Challenge 13.3 Step-by-Step: Create Something New
**Goal:** Use Copilot as a creative collaborator to generate a custom config and apply it.
**Where you are working:** VS Code with Copilot Chat open.
**Estimated time:** 10-15 minutes.
1. Open Copilot Chat: `Ctrl+Shift+I` (Mac: `Cmd+Shift+I`).
2. Type a creative prompt: "Create a custom GitHub Copilot thinking phrases theme for [your favorite universe - Dune, Marvel, Studio Ghibli, Star Trek, etc.]"
3. Read Copilot's generated theme. It should include an array of themed phrases.
4. Copy the generated content: select all text in the Copilot response, then `Ctrl+C` (Mac: `Cmd+C`).
5. Open your `settings.json`: Command Palette, then `Preferences: Open User Settings (JSON)`.
6. Paste the theme configuration into your settings.
7. Save with `Ctrl+S` and reload VS Code: Command Palette, then `Developer: Reload Window`.
8. Test your new theme by asking Copilot a question and watching the thinking phrases.
**Screen reader tip:** Copilot Chat responses can be long. Use `Alt+F2` (Accessible View) to read them in a plain text buffer where you can copy text more easily.
**You are done when:** Your personalized thinking phrases appear when Copilot is processing a response.
### Completing Chapter 13: Submit Your Evidence
Open your **assigned Chapter 13 challenge issue** and post a completion comment:
```text
Chapter 13 completed:
- Copilot installed and signed in: yes / no
- Asked Copilot to explain a setting: yes / no
- Applied a setting from Copilot's suggestion: yes / no
- Created a custom theme: yes / no
- My theme universe: [your choice]
```
Close your Chapter 13 challenge issues when done.
### Expected Outcomes
- Student can install and authenticate GitHub Copilot Chat.
- Student can ask Copilot effective questions about code and settings.
- Student can use Copilot's output to customize their development environment.
- Student understands Copilot as a tool to explain and create, not just autocomplete.
### If You Get Stuck
1. Extension installation fails? Reload VS Code: `Ctrl+Shift+P`, then `Developer: Reload Window`.
2. OAuth sign-in fails? Verify your GitHub account is active in the browser first, close VS Code and retry.
3. Chat panel does not open? Try `Ctrl+Shift+I` (Mac: `Cmd+Shift+I`). If still nothing, check that the Copilot Chat extension is installed (not just the base Copilot extension).
4. Copilot seems unresponsive? Click the model selector at the bottom of Chat panel and confirm you are signed in.
5. Cannot copy from Copilot response? Use `Alt+F2` (Accessible View) to get the text in a copyable buffer.
6. Ask facilitator to verify Copilot is activated and show you one example prompt.
> **Continue learning:** The GitHub Skills courses [Getting Started with GitHub Copilot](https://github.com/skills/getting-started-with-github-copilot) and [Customize Your GitHub Copilot Experience](https://github.com/skills/customize-copilot) cover Copilot setup, prompting, and personalization. See [Appendix Z](appendix-z-github-skills-catalog.md) for the full catalog.
### Learning Moment
AI assistance amplifies clarity. Using Copilot as a brainstorming partner helps you write documentation that others can actually understand. The prompting skill you practiced here - asking specific questions, iterating on responses, applying results - transfers to every AI tool you will use in your career.
### Learning Pattern Used in This Chapter
1. Install the tool and verify it works before starting the task.
2. Use the tool to explore and understand (ask questions, read responses).
3. Use the tool to create something new (generate, customize, apply).
4. Reflect on when the tool helped and when your own judgment was better.
### About Learning Cards in This Chapter
Throughout this chapter, look for expandable "learning cards" that show how to accomplish each task from different perspectives. Not every section has every card - only the cards that add meaningful guidance for that topic are included.
| Card | Who it helps |
| ---- | ------------ |
| Visual / mouse | Sighted users who primarily use a mouse or trackpad |
| Low vision | Users who zoom to 200%+, use high contrast, or increase font sizes |
| NVDA / JAWS (Windows) | Screen reader users on Windows |
| VoiceOver (macOS) | Screen reader users on Mac |
| CLI | Users who prefer the terminal with `gh copilot` commands |
## Table of Contents
1. [What is GitHub Copilot](#1-what-is-github-copilot)
2. [Installing GitHub Copilot](#2-installing-github-copilot)
3. [Inline Suggestions - Ghost Text Completions](#3-inline-suggestions---ghost-text-completions)
4. [GitHub Copilot Chat - Conversational Assistance](#4-github-copilot-chat---conversational-assistance)
5. [Copilot Edits — Making Multi-File Changes](#5-copilot-edits--making-multi-file-changes)
6. [Agent Mode — Let Copilot Drive](#6-agent-mode--let-copilot-drive)
7. [Next Edit Suggestions](#7-next-edit-suggestions)
8. [Copilot on GitHub.com](#8-copilot-on-githubcom)
9. [Effective Prompting for Documentation Work](#9-effective-prompting-for-documentation-work)
10. [Custom Instructions vs Custom Agents](#10-custom-instructions-vs-custom-agents)
11. [Using Accessible View with Copilot Responses](#11-using-accessible-view-with-copilot-responses)
12. [Keyboard Shortcuts Reference](#12-keyboard-shortcuts-reference)
## 1. What is GitHub Copilot
GitHub Copilot is an AI pair programmer that suggests code and text completions as you type. It can:
- Complete lines of code or documentation
- Generate entire functions or sections of text from comments
- Answer questions about code in your workspace
- Explain complex code in plain language
- Draft documentation, issue responses, and commit messages
- Search for files and symbols across your workspace
**For this workshop:** Copilot helps with Markdown documentation, issue triage, PR descriptions, and commit messages - not just code.
**Copilot Free tier:** Available for all GitHub users. Provides access to inline suggestions and Copilot Chat with usage limits. No payment required for this workshop.
**Screen reader support:** Copilot is fully accessible with screen readers. Suggestions are announced via ARIA live regions, and Accessible View provides complete access to Chat responses.
> **Screen reader optimized mode:** Press `Shift+Alt+F1` (Mac: `Shift+Option+F1`) to toggle VS Code's screen reader optimized mode. This adjusts how Copilot suggestions are announced, disables ghost text that cannot be read by screen readers, and routes all suggestion content through Accessible View. If your screen reader is detected at startup, VS Code enables this mode automatically. You can also set it manually in Settings: `editor.accessibilitySupport: "on"`.
## 2. Installing GitHub Copilot
### Installation Steps
1. Open Extensions sidebar: `Ctrl+Shift+X` (Mac: `Cmd+Shift+X`)
2. Search for "GitHub Copilot Chat"
3. Find **GitHub Copilot Chat** (publisher: GitHub)
4. Press `Enter` to open the extension detail page
5. `Tab` to "Install" button → press `Enter`
6. Wait for installation to complete
**One extension, all features:** GitHub Copilot Chat is now the single all-in-one extension. It provides inline code suggestions, the Chat panel (`Ctrl+Shift+I` / Mac: `Cmd+Shift+I`), inline chat (`Ctrl+I` / Mac: `Cmd+I`), and all agent features. The older separate "GitHub Copilot" extension has been deprecated.
### Signing In
After installation:
1. VS Code prompts: "Sign in to use GitHub Copilot"
2. Navigate to the notification or click the Copilot icon in the status bar
3. Select "Sign in to GitHub"
4. Your browser opens for GitHub authentication
5. Authorize the Copilot extension
6. Return to VS Code
#### Verify activation
- Bottom-right status bar shows Copilot icon (looks like `><`)
- Icon should be active (not grayed out)
- If grayed out, click it to sign in
### Checking Subscription Status
#### Command Palette
1. `Ctrl+Shift+P` (Mac: `Cmd+Shift+P`)
2. Type "Copilot: Check Status"
3. Select it to see your subscription tier (Free, Pro, Enterprise)
#### Free tier includes
- Completions and multi-line suggestions
- Copilot Chat
- Limited monthly usage (usually sufficient for documentation work)
## 3. Inline Suggestions - Ghost Text Completions
Copilot suggests completions as you type, displayed as gray "ghost text" after your cursor. In screen reader mode, VS Code announces suggestions rather than showing them visually.
### How Inline Suggestions Work
#### While typing
1. Copilot analyzes your context (file content, cursor position, nearby files)
2. Generates a suggestion
3. Presents the suggestion
Visual / mouse users
The suggestion appears as **gray "ghost text"** after your cursor - a preview of what Copilot thinks you want to type next. It's there but not inserted; press `Tab` to accept it or `Escape` to dismiss.
Low vision users (zoom, high contrast, enlarged fonts)
Ghost text is intentionally low-contrast (gray on white). At high zoom levels this can be nearly invisible.
- **Increase ghost text contrast:** Open Settings (`Ctrl+,`), search `editorGhostText`, then customize `editor.ghostText.foreground` in your color theme to a darker shade such as `#555555`.
- **Use Accessible View instead:** Press `Alt+F2` when a suggestion appears. The suggestion text renders at your configured font size in a separate pane, making it far easier to read at 200%+ zoom.
- **Word-by-word acceptance** (`Ctrl+Right Arrow`) lets you watch each word appear at full contrast before deciding whether to continue.
- **High Contrast themes** do not automatically restyle ghost text. The color customization above is the most reliable fix.
Screen reader users (NVDA / JAWS / VoiceOver)
Suggestions are **announced via ARIA live regions** - ghost text is not visually meaningful to you so VS Code reads it instead:
- **NVDA/JAWS:** "Suggestion available" (or reads the suggestion text, depending on verbosity settings)
- **VoiceOver:** Announces suggestions in accessible form
Press `Alt+F2` (Mac: `Option+F2`) to open the suggestion in **Accessible View** - this gives you the complete suggestion text in a static, fully readable panel without streaming.
Screen reader users - tuning announcement verbosity
#### If suggestions are announced too frequently or are intrusive
#### NVDA
1. NVDA Menu → Preferences → Settings → Presentation
2. Find "Report dynamic content changes"
3. Reduce verbosity level or set specific delays
#### JAWS
1. Settings Center → HTML/PDF/Accessibility
2. Adjust "Auto Forms Mode" and "ARIA Live Region" settings
#### VoiceOver
1. VoiceOver Utility → Verbosity
2. Reduce "Announcements" level
#### Alternative: Use Accessible View
Press `Alt+F2` (Mac: `Option+F2`) when a suggestion appears to read it in the Accessible View (full text, no streaming).
Visual / mouse users
#### Temporarily disable for current language
- Click the Copilot icon in the status bar (bottom-right `><` icon)
- Select "Disable Completions for [language]"
#### Permanently disable completions
- Open Settings: `Ctrl+,` (Mac: `Cmd+,`) → search "Copilot enable" → uncheck "Enable Inline Suggestions"
Low vision users
The Copilot status bar icon (`><`) can be tiny at standard DPI. Use the Command Palette approach instead:
- `Ctrl+Shift+P` → type "Copilot: Toggle Completions" → press `Enter`
- This toggles inline suggestions on/off without needing to find a small icon.
Screen reader users (NVDA / JAWS / VoiceOver)
#### Temporarily disable via Command Palette
- `Ctrl+Shift+P` (Mac: `Cmd+Shift+P`) → type "Copilot: Disable Completions" → press `Enter`
- Or navigate to the Copilot status bar item and activate it (depends on screen reader and focus)
#### Permanently disable via Settings
- `Ctrl+,` (Mac: `Cmd+,`) → search "inline suggestions" → toggle off "GitHub Copilot: Enable Inline Completions"
Low vision users (zoom, high contrast, enlarged fonts)
At 200%+ zoom the Chat sidebar can squeeze the editor to a narrow column.
- **Use Quick Chat** (`Ctrl+Shift+Alt+I`) instead of the panel - it floats over the editor and closes when you press `Escape`, so you keep your full editor width.
- **Resize the Chat panel** by dragging its left edge or pressing `Ctrl+Shift+P` and running `View: Reset Panel Size`.
- **Increase Chat font size:** Settings (`Ctrl+,`), search `chat.editor.fontSize`, and set it to match your editor font size.
- **Mode and model selectors:** At high zoom the bottom toolbar may wrap to two lines. Tab through the controls - the mode dropdown and model picker are always present even if visually cut off.
CLI users (gh copilot)
If you prefer the terminal, `gh copilot` lets you ask Copilot questions without opening VS Code Chat at all.
**Install the extension (one time):**
```bash
gh extension install github/gh-copilot
```
**Ask a general question:**
```bash
gh copilot suggest "How do I squash the last 3 commits?"
```
Copilot responds with a suggested command you can copy and run.
**Explain a command you don't recognize:**
```bash
gh copilot explain "git rebase -i HEAD~3"
```
Copilot returns a plain-language explanation.
**When to use CLI vs Chat:** Use `gh copilot` when you are already in a terminal session and want a quick answer without switching windows. Use VS Code Chat when you need workspace context (`@workspace`), file references, or multi-turn conversations.
Low vision users - finding the mode and model controls
Both the **mode selector** and **model picker** sit in the toolbar at the bottom of the Chat input area. At 200%+ zoom they may be cropped or wrapped.
- **Keyboard access:** From the Chat input field, press `Tab` repeatedly to move through the toolbar controls. Each control announces its current value (for example, "Ask" for the mode or "Auto" for the model).
- **Opening the dropdown:** Press `Space` or `Enter` on the control, then use `Arrow` keys to browse options. Press `Enter` to select.
- **If the controls are visually hidden at high zoom:** They are still in the Tab order. Keep pressing `Tab` past the Send button and you will reach them.
- **Alternative:** Open the Command Palette (`Ctrl+Shift+P`) and type "Copilot: Select Model" or "Copilot: Change Chat Mode" to access these controls without finding them visually.
. ``` ### Reference and enforce your design system Document which components to use and which are deprecated. Design systems evolve - keep instructions current: ```text Use AccessibleModal from @company/ui-kit@3.x. LegacyDialog MUST NOT be used in any new code. ``` #### Don'ts - Common Instruction Mistakes ##### Don't paste entire WCAG guidelines Copilot is already trained on WCAG. Pasting the full text wastes context space and dilutes your specific instructions. Instead, write concise, actionable rules that give *net-new* information: your team's specific practices, exceptions, and priorities. ##### Don't reference external links By default, Copilot does not access external links in custom instructions - this is a deliberate security feature. A URL like `https://www.w3.org/WAI/WCAG21/` will not be fetched. Write the relevant rule directly. ##### Don't reference private repositories Copilot cannot access private repository content from within custom instructions unless the content is already present in the active repo. #### Additional Guidance **Role-based prompting** - You can give Copilot a persona to shape how it responds: ```text As the lead accessibility expert on your team, your primary focus is ensuring all UI is accessible by default, relying on semantic HTML before ARIA attributes. ``` Be specific about skills and responsibilities; avoid broad personas that may introduce unintended assumptions. **Keep instructions concise.** There is no hard character limit, but overly long instructions reduce precision. Summarize the most important, actionable rules rather than listing every possible guideline. **Contribute effective instructions** to [github.com/github/awesome-copilot](https://github.com/github/awesome-copilot) so others benefit from your organization's work. #### Accessibility Resources for Custom Instructions These resources can help you write better accessibility-focused custom instructions and evaluate Copilot's output: - **A11y LLM Evaluation Report** - GitHub's own evaluation of how well LLMs handle accessibility tasks, with practical benchmarks: [Accessibility LLM Evaluation](https://githubnext.com/projects/a11y-llm-eval) - **Beast Mode Accessibility Prompt** - A community-maintained, comprehensive accessibility prompt that you can adapt for your own instructions: referenced in [github.com/github/awesome-copilot](https://github.com/github/awesome-copilot) - **Markdown Accessibility Review Guidelines** - A practical guide for reviewing Markdown output for accessibility, useful as a reference when writing documentation-focused instructions: [Markdown Accessibility](https://github.com/github/accessibility/blob/main/docs/markdown-accessibility.md) ## 11. Using Accessible View with Copilot Responses Copilot Chat responses stream in token by token. This is visually nice but can fragment screen reader announcements. **Accessible View** provides complete, structured access to generated content. > **Not just for screen readers:** Accessible View is also valuable for low vision users. It renders text at your configured editor font size in a clean pane without the Chat panel's smaller default font, cramped layout, or streaming animation. ### Why Use Accessible View for Copilot #### Without Accessible View - Responses announced in fragments as tokens arrive - Live region updates may interrupt or overlap - Difficult to re-read specific parts - Context can be lost in streaming #### With Accessible View (`Alt+F2` / Mac: `Option+F2`) - Full complete response in a readable pane - Navigate with `Up/Down Arrow` at your own pace - Code blocks properly formatted - Headings and lists structured - No interruptions or live region noise ### Recommended Workflow #### Every time you ask Copilot something 1. Type your prompt in Chat input 2. Press `Ctrl+Enter` (Mac: `Cmd+Enter`) to send 3. Press `Alt+F2` (Mac: `Option+F2`) to open Accessible View - you can open it immediately after sending, before the response finishes 4. Follow along as the response streams in the Accessible View in real-time 5. Read or re-read any section with `Arrow` keys 6. Press `Escape` to close Accessible View and return to Chat > **VS Code December 2025 update:** The Accessible View now updates dynamically as responses stream in. You no longer need to wait for a response to finish before opening it - open `Alt+F2` right after sending and follow the response as it arrives. #### Benefits - Follow responses live without waiting - Navigate and re-read at your own pace - Code blocks and lists are properly structured - Headings are announced correctly ### Accessible View for Inline Suggestions #### When a suggestion appears 1. Don't accept it immediately 2. Press `Alt+F2` (Mac: `Option+F2`) 3. Accessible View shows: "Suggestion: [full text of the suggestion]" 4. Read it completely 5. To insert the suggestion at your cursor: press `Ctrl+/` (Mac: `Cmd+/`) 6. To close without inserting: press `Escape`, then `Tab` to accept or `Escape` to reject **`Ctrl+/` (Mac: `Cmd+/`) inserts the suggestion directly from Accessible View** - you don’t need to close the view first and then press `Tab`. This is the recommended workflow for screen reader users. #### This is especially useful for multi-line suggestions where the ghost text is hard to review ### Code Blocks in Accessible View When Copilot suggests code or Markdown: #### In Accessible View - Code blocks are in `
` elements - Screen readers announce "code block" or "pre-formatted text" - Each line is on its own line (not run together) - Indentation is preserved **NVDA/JAWS:** Use `Arrow` keys to read line by line. Use `Ctrl+Home` to jump to the start. **VoiceOver:** Interact with the code block (`VO+Shift+Down`) to read each line with proper structure. ## 12. Keyboard Shortcuts Reference ### Copilot Inline Suggestions | Action | Windows/Linux | macOS | | -------- | --------------- | ------- | | Accept suggestion | `Tab` | `Tab` | | Reject suggestion | `Escape` | `Escape` | | Accept word-by-word | `Ctrl+Right Arrow` | `Cmd+Right Arrow` | | Next suggestion | `Alt+]` | `Option+]` | | Previous suggestion | `Alt+[` | `Option+[` | | Open suggestions list | `Ctrl+Enter` | `Cmd+Enter` | | Open suggestion in Accessible View | `Alt+F2` | `Option+F2` | | Insert suggestion from Accessible View | `Ctrl+/` | `Cmd+/` | ### Copilot Chat | Action | Windows/Linux | macOS | | -------- | --------------- | ------- | | Open Chat panel | `Ctrl+Shift+I` | `Cmd+Shift+I` | | Inline chat (in-file) | `Ctrl+I` | `Cmd+I` | | Quick chat (floating) | `Ctrl+Shift+Alt+I` | `Cmd+Shift+Ctrl+I` | | Send message | `Ctrl+Enter` | `Cmd+Enter` | | Clear chat | `Ctrl+L` | `Cmd+L` | ### Accessibility | Action | Windows/Linux | macOS | | -------- | --------------- | ------- | | Toggle screen reader optimized mode | `Shift+Alt+F1` | `Shift+Option+F1` | | Open Accessible View | `Alt+F2` | `Option+F2` | | Open Accessible Help | `Alt+H` | `Option+H` | | Close Accessible View | `Escape` | `Escape` | ### VS Code General (Quick Reference) | Action | Windows/Linux | macOS | | -------- | --------------- | ------- | | Command Palette | `Ctrl+Shift+P` | `Cmd+Shift+P` | | Go to file | `Ctrl+P` | `Cmd+P` | | Find in file | `Ctrl+F` | `Cmd+F` | | Settings | `Ctrl+,` | `Cmd+,` | | Source Control | `Ctrl+Shift+G` | `Cmd+Shift+G` | | Explorer | `Ctrl+Shift+E` | `Cmd+Shift+E` | | Terminal | `Ctrl+Backtick` | `Ctrl+Backtick` | ### GitHub.com Shortcuts (Not VS Code) These shortcuts work on GitHub.com in your browser, not inside VS Code. Students sometimes confuse them with Copilot shortcuts because they involve similar key combinations. | Action | Shortcut | What it opens | | ------ | -------- | ------------- | | Open github.dev web editor | `.` (period key) | A lightweight VS Code editor in your browser tab. Read-only for most operations. Copilot is **not** available here. | | Open in a Codespace | `,` (comma key) | A full cloud development environment with a terminal. Copilot **is** available if your account has access. | > **Ctrl+. versus the period key:** On a GitHub repository page, pressing the `.` (period) key alone opens github.dev. This is different from `Ctrl+.` inside VS Code, which opens the Quick Fix menu. If you press `Ctrl+.` on GitHub.com, it opens the GitHub Command Palette, not github.dev. These three actions share similar keys but do completely different things depending on where you press them. > **Screen reader note:** When github.dev opens, your browser tab reloads into a VS Code-like interface. Your screen reader may announce "Visual Studio Code" or "GitHub Dev Editor." This is a web page, not the desktop application. Press `Ctrl+Shift+P` to confirm you are in github.dev by reading the title bar. **Complete keyboard reference:** See [Appendix M: VS Code Accessibility Reference](appendix-m-vscode-accessibility-reference.md) ### Video Tutorials (Screen Reader Demonstrations) GitHub's accessibility team has published screen reader walkthroughs for each major Copilot feature: - [Inline suggestions with a screen reader](https://www.youtube.com/watch?v=SaqemiAR1yk) - accepting, rejecting, and reviewing ghost text suggestions with NVDA - [Inline chat with a screen reader](https://www.youtube.com/watch?v=wJfiVSaq7HA) - using `Ctrl+I` to edit code in place with screen reader feedback - [Chat view with a screen reader](https://www.youtube.com/watch?v=4pGMzWqFnSQ) - navigating the Chat panel, reading responses, and using Accessible View - [Built-in actions with a screen reader](https://www.youtube.com/watch?v=GalGp3kMPKY) - running Copilot commands from the Command Palette > **Tip:** These videos show NVDA with VS Code on Windows. The workflows apply to JAWS and VoiceOver with minor shortcut differences noted in each section above. ## Troubleshooting ### Copilot Not Suggesting Anything **Issue:** No suggestions appear as you type. #### Solutions 1. Check Copilot is active: status bar icon should not be grayed out 2. Click the Copilot icon → verify "Completions enabled" 3. Check subscription status: `Ctrl+Shift+P` → "Copilot: Check Status" 4. Restart VS Code 5. Sign out and sign back in: `Ctrl+Shift+P` → "Copilot: Sign Out" ### Suggestions Are Too Frequent/Distracting **Issue:** Constant interruptions from suggestions. #### Solutions 1. Use word-by-word acceptance: `Ctrl+Right Arrow` 2. Reduce screen reader verbosity (see Section 3) 3. Use Accessible View (`Alt+F2`) to review suggestions without live announcements 4. Disable inline suggestions temporarily: Copilot icon → "Disable Completions" ### Chat Responses Not Announced **Issue:** Screen reader silent when Copilot responds. #### Solutions 1. Wait for response to complete, then press `Alt+F2` for Accessible View 2. Check ARIA live region settings in your screen reader 3. Navigate manually to the response area with `Tab` or `Arrow` keys 4. Use Quick Chat (`Ctrl+Shift+Alt+I`) instead of panel chat ### "Copilot Subscription Required" **Issue:** Extension installed but asks for subscription. #### Solutions 1. Sign in to GitHub: Copilot icon → "Sign in" 2. Verify GitHub account has Copilot access (free tier or paid) 3. Check [github.com/settings/copilot](https://github.com/settings/copilot) for subscription status 4. Free tier users: ensure you haven't exceeded monthly limits ## Try It: Your First Copilot Conversation **Time:** 3 minutes | **What you need:** VS Code with Copilot Chat extension installed 1. **Open Copilot Chat** - Press `Ctrl+Shift+I` (Mac: `Cmd+Shift+I`). Your screen reader announces the chat panel. 2. **Ask a question** - Type: `What does the CONTRIBUTING.md file in this repository say about how to submit a pull request?` Press `Enter`. 3. **Read the response** - Press `Ctrl+Shift+A` to open the Accessible View if your screen reader doesn't read the response automatically. The response appears as plain text you can arrow through. 4. **Try a follow-up** - Type: `Summarize that in 3 bullet points` and press `Enter`. Copilot remembers the context from your first question. **You're done.** You just had a conversation with an AI about your codebase. > **What success feels like:** Copilot answered a real question about real files in your repository. You can use this same pattern to ask about code, documentation, or anything else in the project - and the Accessible View ensures you can always read the response. *Next: [Accessible Code Review](14-accessible-code-review.md)* *Back: [GitHub Pull Requests Extension](12-github-pull-requests-extension.md)* *Related: [VS Code Setup & Accessibility Basics](05-vscode-accessibility.md) | [Appendix M: VS Code Accessibility Reference](appendix-m-vscode-accessibility-reference.md) | [Appendix W: GitHub Copilot Reference](appendix-w-github-copilot-reference.md) | [Appendix X: AI Models Reference](appendix-x-copilot-models.md)*