Learn to scan web applications for WCAG 2.2 accessibility violations using axe-core, IBM Equal Access, and custom Playwright checks.
View the Project on GitHub devopsabcs-engineering/accessibility-scan-workshop
[!NOTE] This workshop is part of the Agentic Accelerator Framework.
| Duration | 30 minutes |
| Level | Beginner |
| Prerequisites | None |
By the end of this lab, you will be able to:
accessibility-scan-demo-app repositoryYou will fork the scanner repository so you have your own copy to work with.
Open a terminal (PowerShell 7+).
Fork and clone the scanner repository using the GitHub CLI:
gh repo fork devopsabcs-engineering/accessibility-scan-demo-app --clone
Change into the cloned directory:
cd accessibility-scan-demo-app
Verify the remote points to your fork:
git remote -v
You should see your GitHub username in the origin URL.
Fork and clone the workshop repository:
gh repo fork devopsabcs-engineering/accessibility-scan-workshop --clone
[!TIP] If you do not have the GitHub CLI installed yet, you will install it in the next exercise. You can also fork via the GitHub web UI and clone manually with
git clone.
You will install the tools used throughout the workshop.
Node.js 20+ — Download from nodejs.org or install via a package manager:
# Windows
winget install OpenJS.NodeJS.LTS
# macOS
brew install node@20
Docker Desktop — Download from docker.com or install via a package manager:
# Windows
winget install Docker.DockerDesktop
GitHub CLI — Install the gh CLI:
# Windows
winget install GitHub.cli
# macOS
brew install gh
Azure CLI — Install az:
# Windows
winget install Microsoft.AzureCLI
# macOS
brew install azure-cli
PowerShell 7+ — Install the latest PowerShell:
# Windows
winget install Microsoft.PowerShell
# macOS
brew install powershell/tap/powershell
Charm freeze — Install the terminal screenshot tool:
# Windows
winget install charmbracelet.freeze
# macOS
brew install charmbracelet/tap/freeze
[!TIP] On Windows, run these commands in an elevated PowerShell terminal. Restart your terminal after installation so the tools are available on your PATH.
You will run version checks to confirm every tool is installed correctly.
Node.js:
node --version
Expected output: v20.x.x or higher.

Docker:
docker --version
Expected output: Docker version 2x.x.x or higher.

GitHub CLI:
gh --version

Azure CLI:
az --version

PowerShell:
$PSVersionTable.PSVersion
Expected output: 7.x.x or higher.

Charm freeze:
freeze --version

[!CAUTION] If any tool fails the version check, resolve the installation issue before proceeding. Later labs depend on all tools being available.
You will install the Node.js dependencies and Playwright browser required by the scanner.
Navigate to the scanner repository root:
cd accessibility-scan-demo-app
Install Node.js dependencies:
npm install
Install the Playwright Chromium browser:
npx playwright install --with-deps chromium
[!NOTE] The Playwright browser download is approximately 150 MB. This browser is used by the scanner to render pages and run accessibility checks.
You will start the accessibility scanner and verify it is running.
Start the scanner using the local start script:
./start-local.ps1
The script starts the Next.js development server on port 3000.
Open your browser and navigate to:
http://localhost:3000
Verify the scanner home page loads with the scan form visible.

Leave the scanner running for use in subsequent labs.
[!TIP] If port 3000 is already in use, stop the conflicting process or run
./stop-local.ps1first. You can also start the scanner with Docker using./start-local.ps1 -Mode docker.
Before proceeding, verify:
npm install completed without errorshttp://localhost:3000Proceed to Lab 01: Explore the Demo Apps and WCAG Violations.