Skip to content

Commit 4a31de2

Browse files
authored
Update README.md
1 parent 7235f39 commit 4a31de2

File tree

1 file changed

+63
-32
lines changed

1 file changed

+63
-32
lines changed

README.md

Lines changed: 63 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1-
# continuous-ai-for-accessibility-scanner
1+
# AI-powered Accessibility Scanner
22

3-
This repo contains code for a GitHub Actions action named `github-community-projects/continuous-ai-for-accessibility-scanner` (“scanner”, for short). The scanner finds potential accessibility gaps for a provided list of URLs, files GitHub issues to track them, and attempts to fix them with Copilot.
3+
The AI-powered Accessibility Scanner (a11y scanner) is a GitHub Action that detects accessibility barriers across your digital products, creates trackable issues, and leverages Copilot for AI-powered fixes.
44

5-
For an introduction to GitHub Actions, check out [“Understanding GitHub Actions” (GitHub Docs)](https://docs.github.com/en/actions/get-started/understand-github-actions).
5+
The a11y scanner helps teams:
66

7-
## Getting started
7+
- 🔍 Scan websites, files, repositories, and dynamic content for accessibility issues
8+
- 📝 Create actionable GitHub issues that can be assigned to Copilot
9+
- 🤖 Propose fixes with Copilot, with humans reviewing before merging
810

9-
### Adding a workflow file
11+
> ⚠️ The a11y scanner is currently in beta. It can help identify accessibility gaps but cannot guarantee fully accessible code suggestions. Always review before merging.
1012
11-
To use the scanner, create a GitHub Actions workflow (for example, a file named `scan.yml`) in the `.github/workflows` directory of one of your repositories, commit it, and push the commit.
13+
---
1214

13-
For general workflow authoring tips, check out [“Writing workflows” (GitHub Docs)](https://docs.github.com/en/actions/how-tos/write-workflows); specifics are below.
15+
## Getting Started
1416

15-
The contents of the workflow file should look similar to the example below:
17+
### 1. Add a Workflow File
18+
19+
Create a workflow file in `.github/workflows/` (e.g., `a11y-scan.yml`) in your repository:
1620

1721
```YAML
1822
name: Continuous Accessibility Scanner
@@ -40,49 +44,76 @@ jobs:
4044
token: ${{ secrets.GH_TOKEN }} # This token must have write access to the repo above (contents, issues, and PRs); more information below. Note: GitHub Actions’ `GITHUB_TOKEN` (https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) cannot be used here.
4145
```
4246
43-
All instances of `REPLACE_THIS` must be replaced before the workflow will run. For more information, check out the [`urls` input’s documentation](#urls) and the [`repository` input’s documentation](#repository).
47+
> Update all `REPLACE_THIS` placeholders with your actual values. See [Action Inputs](#action-inputs) for more details.
4448

45-
### Creating tokens and adding secrets
49+
Required Permissions:
50+
- Write access to add or update workflows
51+
- Admin access to add repository secrets
4652

47-
Create two tokens, then add them as repository secrets named `GH_COMMUNITY_PROJECTS_TOKEN` and `GH_TOKEN`, respectively.
53+
📚 [Understanding GitHub Actions](https://docs.github.com/en/actions/get-started/understand-github-actions) | [Managing GitHub Actions settings](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository) | [Writing workflows](https://docs.github.com/en/actions/how-tos/write-workflows)
4854

49-
- `GH_COMMUNITY_PROJECTS_TOKEN` should be a fine-grained personal access token (PAT) with the `contents: read` and `metadata: read` permission for the `github-community-projects/continuous-ai-for-accessibility-scanner` repository.
55+
---
5056

51-
- `GH_TOKEN` should be a fine-grained PAT with `contents: write`, `issues: write`, `pull-requests: write`, and `metadata: read` for the repository referenced in your workflow (the `repository` input).
57+
### 2. Create Tokens and Add Secrets
5258

53-
Check out [“Creating a fine-grained personal access token” (GitHub Docs)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) and [“Creating secrets for a repository” (GitHub Docs)](https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#creating-secrets-for-a-repository) for step-by-step guidance.
59+
The a11y scanner requires two Personal Access Tokens (PATs) as repository secrets:
5460

55-
### Scanning your website
61+
#### The `GH_COMMUNITY_PROJECTS_TOKEN` is a fine-grained PAT with:
62+
- `contents: read`
63+
- `metadata: read`
64+
- Scope: [`github-community-projects/continuous-ai-for-accessibility-scanner`](https://github.com/github-community-projects/continuous-ai-for-accessibility-scanner)
5665

57-
Run your newly-added workflow, by following the instructions in [“Running a workflow” (GitHub Docs)](https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manually-run-a-workflow#running-a-workflow).
66+
#### The `GH_TOKEN` is a fine-grained PAT with:
67+
- `contents: write`
68+
- `issues: write`
69+
- `pull-requests: write`
70+
- `metadata: read`
71+
- Scope: Your target repository (where issues and PRs will be created)
5872

59-
## Configuring the action
73+
> GitHub Actions' default `GITHUB_TOKEN` cannot be used here.
6074

61-
### Inputs
75+
📚 [Creating a fine-grained PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) | [Creating repository secrets](https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#creating-secrets-for-a-repository)
6276

63-
#### `urls`
77+
---
6478

65-
**Required** Newline-delimited list of URLs to check for accessibility issues. For example:
79+
### 3. Run Your First Scan
6680

67-
```txt
68-
https://primer.style
69-
https://primer.style/octicons/
70-
```
81+
Trigger the workflow, either manually or automatically based on your configuration. The a11y scanner will:
7182

72-
#### `repository`
83+
- 🔎 Analyze your target URLs, files, or repos
84+
- 📝 File issues for accessibility findings
85+
- 🤖 Optionally assign issues to Copilot to create PRs with proposed fixes
7386

74-
**Required** Repository (with owner) to file issues in. For example: `primer/primer-docs`.
87+
📚 [Running a workflow manually](https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manually-run-a-workflow#running-a-workflow)
7588

76-
#### `token`
89+
---
7790

78-
**Required** Personal access token (PAT) with fine-grained permissions `contents: write`, `issues: write`, `pull-requests: write`, and `metadata: read`.
91+
## Action Inputs
7992

80-
#### `cache_key`
93+
| Input | Required | Description | Example |
94+
|-------|----------|-------------|---------|
95+
| `urls` | Yes | Newline-delimited list of URLs to scan | `https://primer.style`<br>`https://primer.style/octicons` |
96+
| `repository` | Yes | Repository (with owner) for issues and PRs | `primer/primer-docs` |
97+
| `token` | Yes | PAT with write permissions (see above) | `${{ secrets.GH_TOKEN }}` |
98+
| `cache_key` | No | Custom key for caching findings across runs<br>Allowed: `A-Za-z0-9._/-` | `cached_findings-main-primer.style.json` |
8199

82-
**Optional** Custom key for caching findings across runs. Allowed characters are `A-Za-z0-9._/-`. For example: `cached_findings-main-primer.style.json`.
100+
---
83101

84102
## Configuring Copilot
85103

86-
The scanner leverages Copilot coding agent, which can be configured by providing custom instructions. Check out [“Adding repository custom instructions for GitHub Copilot”](https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions) to learn how to get started with custom instructions.
104+
The a11y scanner leverages Copilot coding agent, which can be configured with custom instructions:
105+
106+
- Repository-wide: `.github/copilot-instructions.md`
107+
- Directory/file-scoped: `.github/instructions/*.instructions.md`
108+
109+
📚 [Adding repository custom instructions](https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions) | [Copilot .instructions.md support](https://github.blog/changelog/2025-07-23-github-copilot-coding-agent-now-supports-instructions-md-custom-instructions/)
110+
111+
---
112+
113+
## Feedback
114+
115+
Beta participants have direct contact for questions and suggestions. A public feedback form will be available once the project is open-sourced.
116+
117+
---
87118

88-
As announced in [“GitHub Copilot coding agent now supports .instructions.md custom instructions” (GitHub Blog)](https://github.blog/changelog/2025-07-23-github-copilot-coding-agent-now-supports-instructions-md-custom-instructions/), Copilot coding agent—and, by extension, this scanner action—supports custom instructions provided in `.github/copilot-instructions.md` _and_ `.instructions.md` files stored under `.github/instructions` (which can be scoped to specific files or directories).
119+
*Last updated: 2025-08-28*

0 commit comments

Comments
 (0)