-
Notifications
You must be signed in to change notification settings - Fork 6
appendix j advanced search
Listen to Episode 27: Advanced Search - a conversational audio overview of this chapter. Listen before reading to preview the concepts, or after to reinforce what you learned.
GitHub's search engine is powerful and underused. For screen reader users in particular, using the search bar with precise query syntax is often faster and more accessible than navigating filter dropdowns and checkbox menus. This reference covers the query language so you can filter anything from the keyboard.
- The Search Interface
- Search Scopes
- The Core Query Language
- Searching Issues and Pull Requests
- Searching Code
- Searching Commits
- Searching Repositories
- Searching Users and Organizations
- Practical Queries for This Workshop
- Saving and Reusing Searches
GitHub's search is accessible from nearly any page:
-
Global search bar: At the top of every GitHub page - keyboard shortcut
/to focus it from anywhere (press/, then type) - Issues/PRs list: Each tab has its own search bar pre-scoped to that repository
-
Advanced Search UI:
github.com/search/advanced- a form with individual fields for each filter. Accessible but verbose; query syntax below is faster.
/ → Focus the global search bar (works on most GitHub pages)
Type your query → Enter
→ Results page opens, grouped by type (Code, Issues, PRs, Repositories, etc.)
By default, GitHub searches across all of GitHub. Scope modifiers restrict results:
| Modifier | Scope |
|---|---|
repo:owner/name |
One specific repository |
org:orgname |
All repos in an organization |
user:username |
All repos owned by a user |
in:title |
Only matches in the title field |
in:body |
Only matches in the body field |
in:comments |
Only matches in comments |
Example: repo:community-access/accessibility-agents in:title keyboard finds issues/PRs whose titles mention "keyboard" in the accessibility-agents repo.
| Syntax | Meaning |
|---|---|
word1 word2 |
Both words (implicit AND) |
word1 OR word2 |
Either word |
"exact phrase" |
Exact phrase match |
-word |
Exclude this word |
-label:bug |
Exclude items with this label |
| Qualifier | Meaning |
|---|---|
is:open |
Open items only |
is:closed |
Closed items only |
is:merged |
Merged PRs only |
is:unmerged |
Open or closed but not merged PRs |
is:issue |
Issues only |
is:pr |
Pull requests only |
is:draft |
Draft pull requests only |
label:name |
Items with this label |
no:label |
Items with no labels |
assignee:@me |
Assigned to you |
assignee:username |
Assigned to a specific user |
author:@me |
Created by you |
author:username |
Created by a specific user |
mentions:username |
Mentions a specific user |
involves:@me |
You are author, assignee, mentioned, or commented |
milestone:"Milestone Name" |
In a specific milestone |
no:milestone |
Not in any milestone |
no:assignee |
Not assigned to anyone |
comments:>5 |
More than 5 comments |
reactions:>10 |
More than 10 reactions |
| Qualifier | Meaning |
|---|---|
created:>2025-01-01 |
Created after a date |
created:<2025-01-01 |
Created before a date |
created:2025-01-01..2025-03-31 |
Created in a date range |
updated:>2025-06-01 |
Updated after a date |
closed:>2025-06-01 |
Closed after a date |
GitHub's issue/PR search is at github.com/issues (your issues) or github.com/pulls (your PRs). The search bar there is pre-scoped to "repos you have access to involving you."
org:community-access is:issue is:open label:accessibility no:assignee
is:issue is:open label:"good first issue" no:assignee
is:issue is:open label:"good first issue" language:python no:assignee
is:pr is:open review-requested:@me
is:pr is:open mentions:@me
is:issue is:open author:@me
is:issue is:open repo:owner/name updated:<2024-08-01
Code search operates differently from issue search. As of 2024, GitHub uses an improved code search engine (sometimes called "code search v2") with better indexing.
repo:owner/name language:javascript aria-label
repo:owner/name symbol:handleKeyDown
org:community-access aria-hidden="true"
| Qualifier | Meaning |
|---|---|
language:python |
Filter by programming language |
path:src/ |
Only files under this path |
filename:config.yml |
Only files with this name |
extension:md |
Only files with this extension |
symbol:functionName |
Search for a specific symbol/function name |
content:"exact string" |
Exact string match in file content |
repo:owner/name fix keyboard navigation
repo:owner/name author:username
repo:owner/name committer-date:2025-01-01..2025-03-31
repo:owner/name path:docs/README.md
topic:accessibility stars:>50 is:public
language:typescript topic:screen-reader sort:stars-desc
| Qualifier | Meaning |
|---|---|
stars:>100 |
More than 100 stars |
forks:>10 |
More than 10 forks |
is:public |
Public repos only |
is:private |
Private repos only (requires access) |
topic:topicname |
Repos tagged with this topic |
license:mit |
Repos with an MIT license |
size:<1000 |
Repos smaller than 1000 KB |
pushed:>2025-01-01 |
Repos with recent activity |
type:user location:Seattle followers:>100
type:org topic:accessibility
Bookmark these for use during the hackathon:
repo:community-access/accessibility-agents is:issue is:open label:"good first issue" no:assignee
repo:community-access/accessibility-agents is:issue keyboard navigation
repo:community-access/accessibility-agents is:issue label:accessibility is:open
is:pr is:merged author:@me
repo:community-access/accessibility-agents in:discussions screen reader
GitHub does not have a built-in saved-search feature, but you can:
- Bookmark the URL - every search result page has the query in the URL. Bookmark it in your browser for instant re-run.
- Pin in notifications - if you're watching a repo, set up notification filters
-
Accessibility Agents - use
/my-issuesand/my-prsfor your personal saved-search equivalents without leaving VS Code
https://github.com/issues?q=is%3Aissue+is%3Aopen+assignee%3A%40me
Return to: Resources | Screen Reader Cheat Sheet