Navigating Repositories
Listen to Episode 3: Navigating Repositories - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.
Related appendices: Appendix A: Glossary | Appendix B: Screen Reader Cheat Sheet
Authoritative sources: GitHub Docs: About repositories | GitHub Accessibility Guide: Repositories
A Screen Reader Guide to GitHub Repositories
This guide covers everything you need to explore a GitHub repository using your keyboard and screen reader. No mouse required.
Official GitHub Accessibility Guide: GitHub publishes an NVDA-focused guide for navigating repositories with a screen reader at Using GitHub Repositories with a Screen Reader. This chapter covers the same material with additional perspectives (VoiceOver, low vision, CLI) and workshop-specific guidance. Use the official guide as a companion reference.
Workshop Recommendation (Chapter 3)
Chapter 3 is a confidence-building orientation chapter.
- Challenge count: none
- Automation check: none
- Why: this chapter teaches navigation foundations that are practiced in later issue and PR chapters.
Safety-First Learning Pattern
Use this sequence before moving to graded chapters:
- Learn the page structure (heading, landmarks, tabs).
- Practice orientation (
1, D, heading list).
- Confirm readiness with a peer or facilitator.
- Move to Chapter 4 for Learning Room orientation, then Chapter 5 for issue-based, traceable challenges.
About Learning Cards in This Chapter
This chapter provides learning cards: expandable blocks that offer perspective-specific guidance for different ways of working. Not every card appears at every step. Open the ones that match how you work.
The following table describes the four learning card types used in this chapter.
| Card |
Who it helps |
What it covers |
| Visual / mouse |
Sighted users navigating with a mouse or trackpad |
Click targets, visual cues, layout orientation |
| Low vision |
Users with magnification, zoom, or high-contrast themes |
Zoom-friendly navigation, locating controls at high magnification |
| Screen reader (NVDA / JAWS) |
Screen reader users on Windows |
Keystroke sequences, Focus and Browse mode, landmark navigation |
| Screen reader (VoiceOver) |
Screen reader users on macOS |
VO key sequences, rotor usage, interaction model |
What Is a Repository Page?
When you navigate to a GitHub repository (e.g., https://github.com/owner/repo-name), you land on the repository home page (also called the Code tab). This page has several distinct regions:
Description
GitHub can change visual placement based on viewport width, account features, repository settings, and product rollout. The dependable structure is the set of named regions and controls: the global navigation, the repository H1 heading, the Repository navigation landmark, the Code tab, the branch selector, the file list, optional repository sidebar information, and the rendered README.md when present.
On a wide desktop layout, these often appear in a familiar order: global navigation, repository header, repository tabs, file/code panel, optional sidebar, and rendered README. Teach that order as a map, not as a guarantee. When the visual order differs, use headings, landmarks, tab names, and keyboard shortcuts to re-orient.
Landing on a Repository - What to Expect
When you first navigate to a repo URL:
- The page title is announced with the format:
owner/repo-name: Short description - GitHub
- First heading (
1 key) will navigate to the repo name: "owner/repo-name"
- The tab bar is a landmark labeled "Repository navigation"
Orientation sequence (do this on every new repo)
Step 1: Press 1 - hear the repo name
Step 2: Press D - navigate through landmarks to learn page structure
Step 3: Press NVDA+F7 (or VO+U) - scan headings to understand what's on the page
Key landmark names you will hear with D: Repository pages have three main landmark sections: "Repository Navigation" (the tab bar), "Main" (the file tree, branch selector, repo details, and contributors), and "Repository Files Navigation" (the rendered README content). Within each landmark, press H or 2 to navigate subsections - most are organized under heading level 2.
Navigating the Repository Tabs
The main tabs are: Code, Issues, Pull Requests, Discussions, Actions, Projects, Wiki, Security, Insights, and Settings (Settings only visible to maintainers). Not all tabs appear on every repository - Discussions, Wiki, and Projects must be enabled by the repository owner.
How to reach the tabs
Visual / mouse users
The tab bar is visible just below the repository name. Click the tab you want - Code, Issues, Pull requests, etc. The active tab is underlined. The number next to a tab (e.g., "Issues · 14") shows how many open items are in that section.
Low vision users (zoom, high contrast)
The tab bar is just below the repository name. At 200% browser zoom or higher:
- The tabs may wrap to two lines. Each tab remains a standard link.
- The active tab is indicated by an underline. In Windows High Contrast mode, the underline uses the system accent color.
- Tab counts ("Issues · 14") appear as part of each tab's text and remain readable at high magnification.
- If tabs are hard to click at high zoom, press
Tab from the repo heading to cycle through each tab link sequentially.
- Keyboard shortcut: Press
G then I to jump directly to Issues, or G then P for Pull requests. These two-key shortcuts work from any page in the repository.
Screen reader users (NVDA / JAWS)
- Press
D to jump to the "Repository navigation" landmark
- Press
K or Tab to navigate between the tab links
Screen reader users (VoiceOver)
VO+U → Landmarks rotor → navigate to "Repository navigation"
VO+Right to move through items in the landmark
Reading the tab labels
Each tab link reads with its name and the count of items: "Issues, 14 open" or "Pull requests, 3 open." The active tab is marked with aria-selected="true" - your screen reader will announce it as "selected" or "current."
The Files Table
See also: Appendix B: Screen Reader Cheat Sheet lists the keyboard shortcuts for navigating repository file trees.
The files table is the core of the Code tab - it shows every file and folder in the repo.
Reaching the files table
Visual / mouse users
The file table is the main panel of the Code tab, showing folders and files with their most recent commit message and how long ago each was changed. It’s visible immediately below the branch selector. Click any folder name to open it, or click a file name to view the file.
Low vision users (zoom, high contrast)
The file table occupies the main content area of the Code tab. At high magnification:
- The table has three columns: Name, Message (last commit), and Date. At 200%+ zoom, the Message and Date columns may be truncated. Hover over truncated text to see the full message in a tooltip.
- Folder icons appear before folder names; file icons appear before file names. In Windows High Contrast mode, these icons use system colors with visible outlines.
- Click any folder or file name to navigate into it. The names are standard links with hover underlines.
- Use
Ctrl+F (browser Find) to search for a specific file name rather than scrolling a long file list at high zoom.
- The Go to file button (
T keyboard shortcut) opens a search-as-you-type file finder. This is the fastest way to navigate to a specific file at any zoom level.
Screen reader users
Press T to jump to the next table on the page. The first table you will hit is usually the files table. NVDA will announce: “Table with [N] rows and 3 columns.”
The three columns are:
- Name - file or folder name
- Message - the most recent commit message that changed this file
- Age - how long ago that commit happened
Navigating the files table
| Goal |
Keys (NVDA/JAWS) |
Keys (VoiceOver) |
| Move down one row (next file) |
Ctrl+Alt+↓ |
VO+Shift+↓ |
| Move up one row |
Ctrl+Alt+↑ |
VO+Shift+↑ |
| Move right one column |
Ctrl+Alt+→ |
VO+Shift+→ |
| Move left one column |
Ctrl+Alt+← |
VO+Shift+← |
| Open a file or folder |
Enter (on the Name column) |
VO+Space |
Reading a row
Navigate to the Name column, hear the filename, then move right to read the commit message, then right again for the age. For example: "docs/ | Add accessibility guide | 3 days ago"
Folder vs file
- Folders end with a
/ in the Name column
- When you open a folder, the page reloads showing the contents of that folder
- Press the back button or use the breadcrumb links to go back up
Learning Cards: The Files Table
Screen reader users
- Press
T in Browse Mode to jump to the files table; NVDA announces "Table with N rows and 3 columns"
- Navigate rows with
Ctrl+Alt+Down Arrow; each row reads: filename, last commit message, age
- Press
Enter on the Name column to open a file or folder; press Alt+Left Arrow in your browser to go back
Low vision users
- The files table uses alternating row shading; switch to a high-contrast GitHub theme if rows blend together at your zoom level
- Folder icons (small triangle) appear before folder names; file icons (small document) appear before file names
- If the commit message column is truncated at high zoom, hover over it to see the full message in a tooltip
Sighted users
- The files table is the large panel in the center of the Code tab, listing folders first (alphabetically), then files
- The rightmost column shows relative timestamps like "3 days ago"; hover to see the exact date and time
- Click a folder name to drill into it; breadcrumb links above the table let you navigate back up the path
The Branch Selector
The branch selector button sits just above the files table. It lets you switch which branch you are viewing.
How to open the branch selector
Visual / mouse users
Mouse users see the current branch name as a button with a dropdown arrow (e.g., main ▼) just above the file table. Click it to open the branch list. Type to filter branches, then click a branch name to switch.
Low vision users (zoom, high contrast)
The branch selector button shows the current branch name (e.g., "main") with a dropdown arrow. It sits just above the file table.
- At high magnification, the button may wrap next to other controls. It is a standard button with visible border and text.
- Click it to open a dropdown with a search field and branch list. Type part of a branch name to filter the list.
- In the dropdown, branch names can be long. At high zoom, they may truncate. Hover for the full name.
- In Windows High Contrast mode, the currently active branch is highlighted with the system selection color.
- Alternative: Press
W to open the branch/tag picker directly from the keyboard. This avoids needing to find and click the button.
Screen reader users (NVDA / JAWS)
- After reaching the repository navigation landmark, press
B to navigate to buttons
- The branch button reads: “[branch-name] branch” (e.g., “main branch”)
- Press
Enter to open the dropdown
Screen reader users (VoiceOver)
Tab to the branch button (it will be labeled with the current branch name)
VO+Space to open
Inside the branch dropdown
Step 1: The dropdown panel opens - it is a live region
Step 2: A search field appears - you can type to filter branches
Step 3: Press Tab to move to the results list
Step 4: Press ↓/↑ or Tab/Shift+Tab to navigate the list of branches
Step 5: Press Enter to switch to the selected branch
Step 6: Press Escape to close without switching
To return to the search field from the list: navigate to the tabs control at the top of the dropdown ("Branches" and "Tags" tabs), then use Shift+Tab.
VoiceOver: After activating the button, VO+Down to interact with the dropdown → VO+Right to navigate items.
Switching to a tag
Tags mark specific releases or versions. The branch dropdown also provides tag navigation:
- Open the branch button (same steps as above)
- Inside the dropdown, navigate to the tabs control at the top (reads as "Branches tab" and "Tags tab")
- Use
←/→ to switch to the Tags tab
Tab to move to the tags list
- Navigate with
↑/↓ and press Enter to select a tag
The repository page reloads showing the code at that tagged version.
Cloning a Repository
Cloning copies the repository to your local machine so you can work with it in VS Code or the terminal.
Visual / mouse users
- On the repository’s main page (Code tab), find and click the green Code button above the file table
- A popover opens showing HTTPS, SSH, and GitHub CLI tabs
- Click the HTTPS tab (default) and click the copy icon next to the URL
- Open your terminal,
cd to where you want the folder, and run git clone <pasted-URL>
- Alternatively, click Download ZIP to get a one-time archive without Git
Screen reader users
- Press
1 or Shift+1 to navigate to the repository h1 heading
- Press
B to navigate to the next button - look for the “Code” button
- Press
Enter or Space to open the Code flyout panel
- The flyout has tabs: HTTPS, SSH, GitHub CLI
Tab to the HTTPS tab or SSH tab according to your preference
Tab to the “Copy url to clipboard” button and press Enter
- The URL is now in your clipboard - paste it into VS Code or your terminal
Alternative: Tab further to find Download ZIP if you want a one-time copy without Git.
VoiceOver: After activating the Code button, interact with the flyout panel with VO+Shift+Down. Use VO+Right to move to HTTPS/SSH tabs and VO+Space to select.
GitHub CLI (gh) alternative
Clone a repository with one command using the GitHub CLI:
gh repo clone community-access/git-going-with-github
gh repo clone community-access/git-going-with-github && cd git-going-with-github
Or with standard Git
git clone https://github.com/community-access/git-going-with-github.git
cd git-going-with-github
Setup: Install the GitHub CLI from cli.github.com and authenticate with gh auth login. See Appendix D for details.
Learning Cards: Cloning a Repository
Screen reader users
- Navigate to the green "Code" button with
B (Browse Mode), press Enter to open the flyout, then Tab to reach the HTTPS URL and the "Copy url to clipboard" button
- After cloning in VS Code's terminal, press
Ctrl+Shift+E to focus the Explorer panel; the cloned repository's file tree appears there
- If the clone fails with an authentication error, VS Code will open a browser tab for OAuth sign-in; press
Alt+Tab to switch back after approving
Low vision users
- The green "Code" button is above the file table on the right side; at high zoom it may shift below the branch selector
- The clone URL in the flyout panel uses small monospace text; use the copy button (clipboard icon) instead of trying to select the text manually
- After cloning, VS Code's Explorer panel shows the folder tree on the left; zoom VS Code independently with
Ctrl+= if needed
Sighted users
- The green "Code" dropdown shows three tabs: HTTPS (default), SSH, and GitHub CLI, each with a one-click copy button
- After cloning, look for a notification in VS Code's bottom-right corner asking "Would you like to open the cloned repository?"; click "Open"
- The Source Control icon in VS Code's Activity Bar shows a badge number when there are uncommitted changes in your clone
github.com (browser):
- Click the green Code button above the file table.
- Copy the HTTPS URL.
- You will paste this into your local tool of choice below.
github.dev (web editor):
No clone needed. Press . on any repository page to open it in the browser-based editor instantly.
VS Code Desktop:
- Press
Ctrl+Shift+P, type Git: Clone, press Enter.
- Paste the HTTPS URL and choose a local folder.
- Click Open when prompted.
GitHub Desktop:
- File > Clone Repository (or
Ctrl+Shift+O).
- Paste the URL or select from your GitHub account list.
- Choose a local path and click Clone.
Git CLI (terminal):
git clone https://github.com/owner/repo.git
cd repo
Fork vs. Clone vs. Branch - What Is the Difference?
These three concepts are related but serve different purposes. Students often confuse them, so here is a side-by-side comparison.
The following table compares forks, clones, and branches across six dimensions.
| Dimension |
Fork |
Clone |
Branch |
| What it creates |
A new repository on GitHub under your account |
A local copy of a repository on your computer |
A named pointer to a line of commits within the same repository |
| Where it lives |
On GitHub (your account) |
On your local machine |
Inside any repository (local or remote) |
| Relationship to original |
Linked (GitHub tracks the "parent" repo) |
Independent copy (but has origin remote pointing to GitHub) |
Part of the same repository |
| When to use it |
Contributing to a repo where you do not have write access (most open source) |
Working locally with Git and VS Code |
Creating an isolated workspace for a feature, fix, or experiment |
| How to contribute back |
Open a pull request from your fork to the original (upstream) repo |
Push your branch to the remote, then open a PR |
Open a pull request from your branch to main |
| Workshop usage |
Not required for the Learning Room (you have direct write access) |
Optional in Block 0 (for local Git work in Ch11+) |
Required from Chapter 6 onward (feature branches for every PR) |
In this workshop, you will primarily use branches (Chapter 6 onward) and optionally clone the Learning Room for local work (Chapter 11). Forking is the standard workflow when contributing to repositories where you are not a collaborator, which is covered in Contributing to Open Source.
Learning Cards: Fork vs. Clone vs. Branch
Screen reader users
- Fork: press
B to find the "Fork" button on any repo page, then Enter; the fork creation page opens with fields for owner and name
- Clone: use the green "Code" button or run
gh repo clone owner/repo in VS Code's terminal (Ctrl+`)
- Branch: you will create branches starting in Chapter 6; the branch selector (
W shortcut in Focus Mode) lists all branches in the current repo
Low vision users
- The Fork button shows a count (e.g., "Fork 8") in the top-right of the repo page near Watch and Star
- After forking, your fork's URL changes to
github.com/your-username/repo-name; check the address bar to confirm you are on your fork
- Branches are listed in the branch selector dropdown; the currently active branch is highlighted with your theme's selection color
Sighted users
- Fork, Watch, and Star buttons are grouped in the top-right corner of the repository page, right-aligned below the global nav
- A forked repo shows "forked from owner/repo" in small text just below the repository name
- Branches appear in the branch dropdown (click the branch name above the file tree); the default branch is usually labeled "main" or "master"
Watching, Starring, and Forking
These three actions let you follow, bookmark, or copy a repository.
Watching (subscribe to notifications)
Visual / mouse users
The Watch, Star, and Fork buttons are at the top-right of the repository page, just below the global navigation bar. Click Watch to open a dropdown of subscription options: Participating and @mentions, All Activity, or Ignore. Select your preference and click Apply.
Screen reader users
- Press
L to navigate through list items to reach the Main landmark
- Continue pressing
L until you find the Watch button (reads as “Watch this repository”)
- Press
Enter to open the subscription submenu
- Press
↑/↓ to browse options: Participating, All Activity, Ignore, Custom
- Press
Enter to confirm
- If you choose Custom, a dialog opens with checkboxes for specific activity types (Issues, Pull requests, Releases, Discussions, Security alerts). Check the boxes you want and activate the Apply button.
Forking (create your own copy)
Visual / mouse users
Click the Fork button (top-right, next to Watch and Star). A page opens asking you to choose the owner and repository name for your fork. Fill in the details and click Create fork.
Screen reader users
- Press
L to navigate list items in the Main landmark
- Press
I to navigate individual list items until you find “Fork your own copy”
- Press
Enter to start the fork workflow
- The fork creation page lets you choose the owner and repository name
- Tab to “Create fork” and press
Enter
Starring (bookmarking)
Visual / mouse users
Click the Star button (top-right). The button changes to Starred with a filled star icon to confirm. Click it again to unstar.
Screen reader users
- Press
L to navigate list items in the Main landmark
- Press
I to navigate individual list items until you find “Star this repository”
- Press
Enter or Space to star
- The button text changes to “Unstar” on the next focus
Tip: If the Watch/Fork/Star area is not immediately found with L, press D to navigate to the Main landmark first, then use I to browse list items within that region.
Viewing a Single File
When you open a file from the files table, the page shows the rendered content (for Markdown files) or the raw code (for code files).
File page landmarks
D → "Repository navigation" - repo tab bar
D → "Repository header" - file breadcrumb path
D → "Main" - the file content area
D → "Repository files navigation" - contains: Raw, Blame, History buttons
Reading a Markdown file (like README.md)
The README renders with full heading structure. Use:
H - navigate headings within the README
T - find any tables
L - find lists
K - navigate links
Reading a code file
Code files render as a table where each row is one line of code. Content is read line by line.
| Goal |
Keys |
| Read the file content |
↓ to read line by line |
| Jump to a specific line |
Open Raw view (R button), then use browser Ctrl+F |
| View in Focus Mode |
NVDA+Space, then ↓ arrows through lines |
Above the file content, there are buttons:
- Raw - view the file as plain text in a new page
- Blame - see which commit changed each line (see below)
- History - see the full commit history for this file
- Edit (pencil) - edit the file directly on GitHub (if you have write access or it's your fork)
Press B from within the file area, OR use D to navigate to the "Repository files navigation" landmark.
Editing a file
Visual / mouse users
- Open the file you want to edit
- Click the pencil icon (Edit file) in the top-right of the file content area
- The file opens in a web editor - click in the content area and edit
- When done, scroll down to “Commit changes”, type a commit message, and click the green Commit changes button
- Choose “Commit directly to
main” (or your branch) and confirm
Screen reader users
- Open the file you want to edit
- Press
K to navigate links until you find the “Edit file” link (may be labeled with a pencil icon description)
- Press
Enter to activate the link - the page opens in edit mode with a code editor textarea
- Switch to Focus Mode: press
NVDA+Space (NVDA) or Insert+Z (JAWS)
- Make your changes using standard text editing keys
- When done, press
Escape to exit the textarea
- Press
Shift+Tab to navigate backwards to the “Commit Changes” button
- Press
Enter to open the commit dialog
- Type your commit message in the dialog, then Tab to the confirm button and press
Enter
Note: Switch back to Browse Mode after step 6 (NVDA+Space) to use Shift+Tab more reliably to reach the commit button.
Learning Cards: Viewing a Single File
Screen reader users
- On a Markdown file, the rendered content has full heading structure; press
H to navigate headings within the file, T for tables, K for links
- On a code file, content reads as a table with one line per row; press
Down Arrow in Focus Mode to read line by line
- The action buttons (Raw, Blame, History, Edit) are above the file content; press
B or navigate to the "Repository files navigation" landmark with D to find them
Low vision users
- Markdown files render with styled headings and formatted text; code files render with syntax highlighting in a monospace font
- The Edit button (pencil icon) is in the top-right corner of the file content area; at high zoom it appears above the first line of the file
- Use the Raw button to view files as plain text in a new page, which can be easier to read at high zoom without the GitHub page chrome
Sighted users
- The file action buttons (Raw, Blame, History, pencil icon for Edit) are in a toolbar row above the file content
- Line numbers appear on the left side of code files; click a line number to highlight that line and generate a permalink URL
- The breadcrumb path above the file (e.g., "repo > docs > README.md") is clickable; each segment navigates to that folder level
The Blame View
Blame shows you who changed each line of a file, in what commit, and when. It is useful for tracing why a particular change was made.
Navigating Blame
- From a file page, activate the "Blame" button
- The page reloads in Blame view
- The content is a table: left column = commit info (who, when, message), right column = the line of code
T - jump to the blame table
Ctrl+Alt+→ - move from commit info column to code column
Ctrl+Alt+↓ - move to the next line
K - navigate the commit links (opens that commit's detail page)
Commit History
Two ways to view history:
- Repo-level history: On the Code tab, find the "commits" link near the top (it shows a number like "1,234 commits"). Press
K and navigate links to find it.
- File-level history: From any file page, activate the "History" button.
Reading the Commits List Page
H or 3 - navigate by date headings (commits are grouped by date)
I - navigate individual commit list items
K - navigate commit links (SHA hashes, short descriptions)
Enter - open a commit to see its diff
Reading a Commit Page
A commit page shows:
- The commit message (heading)
- Author and date
- Parent commit link
- A diff for every file changed
1 - go to commit message heading
H or 3 - navigate file headings in the diff
T - navigate to the stats table (files changed, lines added/deleted)
+ - skip table navigation and read file diffs by line
Searching for a File
The "Go to file" shortcut is extremely useful when you know what you are looking for.
How to use Go to File
- Make sure you are on the Code tab of a repository
- If hovercards are off, no navigation penalty - just navigate normally
- Find the search box: press
F or E to jump to the next edit field - look for one labeled "Go to file" or "Filter files by name"
- Type the filename or partial path
- Results appear as a dropdown - use
↓ to navigate, Enter to open
GitHub keyboard shortcut: T - opens the Go to File dialog.
Screen reader conflict warning: T normally means "next table" in NVDA/JAWS Browse Mode. GitHub's T shortcut conflicts with this. To use GitHub's T shortcut:
- Option 1: Switch to Focus Mode first (
Insert+Space for NVDA, Insert+Z for JAWS)
- Option 2: Use
F key to find the "Go to file" or "Find file" edit field instead
- Recommended: Option 2 is more reliable and doesn't require mode switching.
Learning Cards: Searching for a File
Screen reader users
- Press
F or E in Browse Mode to jump to the "Go to file" search field; type a filename and results appear as a dropdown navigable with Down Arrow
- The GitHub
T shortcut also opens the file finder, but it conflicts with the "next table" key in Browse Mode; switch to Focus Mode first (NVDA+Space) or use F instead
- After selecting a result and pressing
Enter, the file page loads; press 1 to hear the file name, then H to navigate its headings
Low vision users
- The "Go to file" button is near the top of the Code tab, above the file table; it opens a search overlay in the center of the screen
- Search results highlight matching characters in bold; at high zoom the overlay may cover part of the file table underneath
- Use browser
Ctrl+F as a fallback to search for a filename visible in the file table without opening the overlay
Sighted users
- The "Go to file" button (or press
T) opens a search-as-you-type overlay showing matching file paths as you type
- Results show the full file path with matching characters highlighted in bold; press
Enter on a result to open the file
- Fuzzy matching works: typing "readme" matches "README.md" and "docs/readme.txt" and any other file with those characters in order
GitHub Shortcuts for Repository Navigation - Spotlight
These are the GitHub built-in shortcuts you will use most on repository pages. They work by sending keystrokes directly to GitHub's JavaScript, so enable Focus Mode first (NVDA: NVDA+Space, JAWS: Insert+Z).
| Shortcut |
What it does |
When you need it |
? |
Show all shortcuts for this page |
Any time - get the full context-specific list |
G C |
Jump to the Code tab |
You're on Issues or PRs and want the file tree |
G I |
Jump to the Issues tab |
You're browsing code and spot a bug to report |
G P |
Jump to the Pull Requests tab |
You want to review open PRs |
G A |
Jump to Actions / workflow runs |
You want to check CI status |
G G |
Jump to Discussions |
You want to participate in project conversations |
G W |
Jump to Wiki |
You want to view the repository wiki |
How to use: Press G, release it, then press the second letter. For example: press G, release, press C (not G+C together).
| . or > | Open repository in github.dev (VS Code in browser) | You want to edit a file or read code with VS Code shortcuts |
| W | Switch branch or tag | You want to browse a different branch of the code |
| Y | Expand URL to permanent canonical link | You want a link that always points to this exact commit |
Press ? now on any GitHub repository page to see the live shortcut list for that specific context.
Screen reader tip - reading the shortcut dialog: When the ? dialog opens it is a modal overlay. Press NVDA+Space (NVDA) or ensure JAWS Virtual Cursor is active to browse the dialog content with H for headings and ↓ to read each shortcut. The dialog is context-aware - the shortcuts listed change based on the page you are on. Press Escape to close.
For the full shortcut system including issues, PRs, comments, and notifications, see Screen Reader Cheat Sheet - GitHub Shortcuts section.
The sidebar (on desktop-width windows) contains:
- About - the repo description and topics
- Releases - recent published releases
- Packages - Docker/npm packages attached to the repo
- Contributors - the top contributors
- Languages - the percentage breakdown of programming languages
The sidebar content is inside the "Main" landmark, after the files table and README. After the README, press H or 2 to reach "About" and the sidebar section headings.
VoiceOver: Navigate past the README section with VO+Right - the sidebar elements follow sequentially in the reading order.
The Repository About Section
Quick way to check the project description, website link, and topics:
- Press
D to walk through landmarks
- Look for a heading "About" in the sidebar
2 or H to jump to that "About" heading
- Then
↓ to read the description, URL, and topics
Practical Scenarios
Scenario A: "I want to find out what this project does"
- Navigate to the repo URL
- Press
1 - hear the repo name
↓ - read the description (announced as a paragraph after the heading)
- Navigate to README:
D → "Repository files navigation" → H within the README
Scenario B: "I want to find a good file to edit"
- Open the files table with
T
- Navigate rows with
Ctrl+Alt+↓
- Move right with
Ctrl+Alt+→ to read the commit message (what's been changing recently)
- When found, press
Enter on the Name column to open the file
Scenario C: "I want to know who has been working on this file recently"
- Open the file
- Activate the "Blame" button (
B from the Repository files navigation landmark)
- Navigate the blame table to see authors
Scenario D: "I want to understand what changed in the last release"
- Navigate to the sidebar "Releases" section (
H or 2)
- Activate the latest release link
- Read the release notes (rendered Markdown with headings and lists)
Scenario E: "I want to contribute - where do I start?"
- Navigate to the Code tab
- Look for
CONTRIBUTING.md in the files table
- Open it and read the contributing guidelines
- Then go to Issues tab and filter by
good first issue
If You Get Stuck
| Problem |
What to do |
| Clone fails with "authentication required" |
You need to sign in. See Appendix D for HTTPS authentication setup. |
| Cannot find the Code button for cloning |
Press B to cycle buttons. The green "Code" button is above the file table. On narrow screens it may be hidden behind a "..." overflow menu. |
File finder (T shortcut) does not open |
Ensure you are in Focus Mode (NVDA: NVDA+Space). The T shortcut only works in the repository Code tab. |
| Forking creates a repo I did not expect |
By default, forking copies only the default branch. Go to your fork's settings if you need to adjust. The original repo is untouched. |
G I or G P shortcuts do not work |
These require two separate key presses (G, release, then I or P), not simultaneous. Ensure Focus Mode is active first. |
| Everything else |
Post a comment on your challenge issue describing what you tried. A facilitator or buddy will help. |
Try It: The Five-Tab Tour
Time: 3 minutes | What you need: Browser with screen reader, signed in to GitHub
Navigate to the Accessibility Agents repository and do this:
- Code tab - Press
D to the "Repository navigation" landmark, then K to find "Code". Press Enter. You're on the file list.
- Issues tab - Press
G then I (Focus Mode first: NVDA+Space). How many open issues are there? Press 3 to jump through issue titles.
- Pull Requests tab - Press
G then P. Are there any open PRs?
- Find a file - Press
T (in Focus Mode) to open the file finder. Type README and press Enter. You just navigated straight to a file without scrolling.
- Read the README - Press
1 to find the page title, then 2 to scan sections.
You're done. You just toured a real repository using only your keyboard.
What success feels like: You visited four tabs and opened a file without touching a mouse. Every repository on GitHub has this same layout - you now know how to navigate all of them.
Day 2 Amplifier - Accessibility Agents: @daily-briefing
Navigate every folder of accessibility-agents manually today before using any agent. Find .github/agents/, open a .agent.md file, and read it - that file is how an agent knows what to do. You must understand the structure before you can evaluate whether an agent understood it correctly.
Once you have mastered manual repository navigation:
- In VS Code -
@daily-briefing morning briefing sweeps every repository you have access to and delivers one prioritized document: open issues, PR status, CI results, security alerts, community reactions - all without opening a browser tab
- In your repo - Fork accessibility-agents and the
.github/agents/ folder travels with every clone; every collaborator on your fork has access to the same agents you do
- In the cloud - GitHub Agentic Workflows can generate daily status reports on a schedule, running inside GitHub Actions and posting digests to a designated issue thread - no VS Code, no local setup required
An agent's output only makes sense when you already know what it is describing. You are building that knowledge right now.
Next Step: Move on to Chapter 04: The Learning Room to understand where we'll be practicing our new skills.
Next: Chapter 04: The Learning Room
Back: Chapter 02: Understanding GitHub
Related appendices: Appendix B: Screen Reader Cheat Sheet
Authoritative Sources
Use these official references when you need the current source of truth for facts in this chapter.
Section-Level Source Map
Use this map to verify facts for each major section in this file.
- A Screen Reader Guide to GitHub Repositories: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Workshop Recommendation (Chapter 3): GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- What Is a Repository Page?: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Landing on a Repository - What to Expect: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Navigating the Repository Tabs: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- The Files Table: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- The Branch Selector: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Cloning a Repository: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Or with standard Git: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Fork vs. Clone vs. Branch - What Is the Difference?: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Watching, Starring, and Forking: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Viewing a Single File: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- The Blame View: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Commit History: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- Searching for a File: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests
- GitHub Shortcuts for Repository Navigation - Spotlight: GitHub Docs, home, GitHub Changelog, About Git, GitHub flow, About pull requests