Agent skill

Accessibility Selenium Testing

by fugazi in fugazi/test-automation-skills-agents

Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine.

MITAuto-check passedFrontend & Design

Install Accessibility Selenium Testing

skills CLI
$ npx skills add fugazi/test-automation-skills-agents --skill accessibility-selenium-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fugazi/test-automation-skills-agents accessibility-selenium-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fugazi/test-automation-skills-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/accessibility-selenium-testing .claude/skills/accessibility-selenium-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
accessibility-selenium-testing
GitHub stars
247
Token cost
~2.5k tokens
SKILL.md length
852 words
Files
13 (incl. scripts, references)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine.

  • Works in 4 steps: Add dependency to pom.xml → Create AccessibilityHelper utility → Add scan after page loads → …
  • Asked to validate WCAG 2.2 AA compliance
  • SKILL.md covers First Questions to Ask, Prerequisites, Axe-Core Tools Reference and Step-by-Step Workflows, plus 7 more sections
  • Runs Java scripts from its folder; calls mvn

What it does

Accessibility Selenium Testing is an agent skill from fugazi/test-automation-skills-agents. Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine. Use when asked to validate WCAG 2.2 AA compliance, scan pages or components for a11y violations, test keyboard navigation, audit color contrast, check ARIA semantics, generate accessibility reports, filter axe rules, debug screen reader issues, or implement POUR principles (perceivable, operable, understandable, robust).

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including scripts and reference files (for example `references/axe-api-reference.md`, `references/axe-patterns-helper-processing.md` and `references/axe-patterns-helper-scanning.md`).

It sits in Frontend & Design, covering Accessibility. It works with Selenium and Java. The repository describes itself as: A practical library of agents, instructions, and skills designed specifically for QA Automation Engineers, focusing on production-oriented solutions. The licence is MIT.

When your agent uses it

  • Asked to validate WCAG 2.2 AA compliance
  • Components for a11y violations
  • Test keyboard navigation
  • Audit color contrast

Example prompts

  • “/accessibility-selenium-testing”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Add dependency to pom.xml
  2. Create AccessibilityHelper utility
  3. Add scan after page loads
  4. Run and review violations

What it can do on your machine

Read from SKILL.md and the folder at commit 65a72d5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Java), which the agent can run.

    Shell commands in SKILL.md call:

    • mvn

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • w3.org
    • dequeuniversity.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Accessibility Selenium Testing loads about 2.5k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 112 tokens; SKILL.md has 852 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~112
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~14k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from fugazi/test-automation-skills-agents at commit 65a72d5, republished under its MIT licence (© fugazi). 852 words, ~2,475 tokens.

Download SKILL.mdSave it as .claude/skills/accessibility-selenium-testing/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
accessibility-selenium-testing
description
Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine. Use when asked to validate WCAG 2.2 AA compliance, scan pages or components for a11y violations, test keyboard navigation, audit color contrast, check ARIA semantics, generate accessibility reports, filter axe rules, debug screen reader issues, or implement POUR principles (perceivable, operable, understandable, robust).
license
Complete terms in LICENSE.txt

Accessibility Testing with Selenium WebDriver & Axe Core

This skill enables automated accessibility analysis within the Selenium WebDriver framework using the axe-core engine to detect WCAG violations and best practice issues directly in the browser.

Activation: This skill is triggered when you need to validate WCAG compliance, scan for accessibility violations, test keyboard navigation, audit ARIA semantics, or generate a11y reports.

First Questions to Ask

  • What app URL(s) or user flows are in scope (and what is explicitly out of scope)?
  • Is there an existing Selenium setup and how is CI run?
  • Which standard is the target (WCAG 2.2 AA by default), and are there org-specific policies?
  • Which pages/components are highest risk (auth, checkout, forms, modals, navigation)?
  • Are there known constraints (legacy markup, third-party widgets) that require exceptions?

Prerequisites

ComponentVersionPurpose
Java JDK21+Runtime with modern features
Maven3.9+Dependency management
Selenium WebDriver4.xBrowser automation
axe-core-selenium4.10+Deque axe-core integration
JUnit 55.10+Test framework
AssertJ3.xFluent assertions for readable failures
Allure2.xReporting with a11y violation attachments

Note: Use com.deque.html.axe-core:selenium Maven dependency for axe integration.


Target: WCAG 2.2 AA (wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22a, wcag22aa). See WCAG 2.2 spec.

Do NOT Use For
  • Playwright/TypeScript accessibility testing (use a11y-playwright-testing).
  • Authoring Selenium functional UI tests (use webapp-selenium-testing).
  • Full conformance sign-off — automated axe scans catch ~30-50% of issues; manual audit + assistive-tech testing is still required.

Axe-Core Tools Reference

AxeBuilder Configuration
MethodPurposeExample
new AxeBuilder()Create scanner instanceEntry point
.withTags(List<String>)Filter by WCAG tagswcag2aa, wcag21aa, wcag22aa
.include(String)Scan specific selector#main-content
.exclude(String)Skip selector from scan.third-party-widget
.disableRules(List<String>)Disable specific rulescolor-contrast
.withRules(List<String>)Run only specific ruleslabel, button-name
.analyze(WebDriver)Execute the scanReturns Results
Results Object
MethodReturnsPurpose
getViolations()List<Rule>Rules that failed
getPasses()List<Rule>Rules that passed
getIncomplete()List<Rule>Rules needing manual review
getInapplicable()List<Rule>Rules not applicable to page
violationFree()booleanTrue if no violations
Violation Impact Levels
ImpactSeverityCI Action
CriticalBlocks users completelyAlways fail build
SeriousSignificant barrierAlways fail build
ModerateSome difficultyWarn or fail
MinorInconvenienceLog for review

Step-by-Step Workflows

Workflow 1: Add A11y Scan to Existing Test
  1. Add dependency to pom.xml

    xml
    <dependency>
        <groupId>com.deque.html.axe-core</groupId>
        <artifactId>selenium</artifactId>
        <version>4.10.0</version>
    </dependency>
  2. Create AccessibilityHelper utility

  3. Add scan after page loads

    java
    driver.get("https://example.com");
    waitForPageReady();
    AccessibilityHelper.verifyPageAccessibility(driver);
  4. Run and review violations

    bash
    mvn test -Dtest=A11yTest
Workflow 2: Test Specific Component
  1. Navigate to page with component visible

  2. Trigger component state (open modal, show dropdown)

  3. Scan only the component

    java
    Results results = new AxeBuilder()
        .withTags(List.of("wcag2a", "wcag2aa", "wcag22aa"))
        .include("#login-modal")
        .analyze(driver);
  4. Assert and log

Workflow 3: Keyboard Navigation Audit
  1. Identify all interactive elements
  2. Tab through the page programmatically
    java
    element.sendKeys(Keys.TAB);
    WebElement focused = driver.switchTo().activeElement();
  3. Verify focus order is logical
  4. Test Escape closes modals
  5. Verify no keyboard traps
Workflow 4: CI Integration
  1. Configure headless browser

    bash
    mvn test -Dheadless=true -Dgroups=a11y
  2. Set zero-tolerance for Critical/Serious

    java
    long criticalCount = violations.stream()
        .filter(v -> List.of("critical", "serious").contains(v.getImpact()))
        .count();
    assertThat(criticalCount).isZero();
  3. Generate JSON report for tracking


Code Patterns

See references/code-patterns.md for full AxeBuilder scan patterns, violation logging, JUnit 5 integration, and CI/CD YAML.

Key snippet:

java
Results results = new AxeBuilder()
    .withTags(List.of("wcag2a", "wcag2aa", "wcag21a", "wcag21aa", "wcag22a", "wcag22aa"))
    .analyze(driver);
assertThat(results.violationFree()).as("A11y violations").isTrue();
Show full SKILL.md (375 more words)Show less

Troubleshooting

ProblemCauseSolution
Axe returns empty resultsPage not fully loadedAdd explicit wait for page ready state
False positives on contrastDynamic themesTest both light and dark modes
Violations in third-party widgetsCannot modify vendor codeUse .exclude() with documented ticket
Incomplete rulesRequires manual reviewLog for manual audit, don't auto-fail
Different results between runsAsync content loadingEnsure deterministic page state before scan
CI fails but local passesDifferent viewport/browserUse same headless config as CI

Triage by POUR Principles

PrincipleFocus AreasCommon Violations
PerceivableText alternatives, captions, contrast, structureMissing alt text, low contrast, missing labels
OperableKeyboard access, focus order, bypass blocksKeyboard traps, no skip link, focus not visible
UnderstandableLabels, predictable behavior, error handlingUnclear instructions, unexpected changes
RobustValid HTML, ARIA, name/role/valueInvalid ARIA, duplicate IDs, missing roles

Running Tests

Maven Commands
CommandPurpose
mvn test -Dgroups=a11yRun all accessibility tests
mvn test -Dtest=A11yTestRun specific test class
mvn test -Dheadless=trueRun headless (CI mode)
mvn allure:serveView Allure report with violations
CI/CD Integration
yaml
- name: Run Accessibility Tests
  run: mvn test -Dgroups=a11y -Dheadless=true

- name: Upload A11y Report
  uses: actions/upload-artifact@v3
  with:
    name: a11y-report
    path: target/a11y-results/

Red Flags

  • Treating a clean axe scan as full WCAG conformance — automation covers only ~30-50% of criteria.
  • Globally disabling rules instead of scoped .exclude() with a documented remediation ticket.
  • Scanning before the page is fully loaded — async content yields false "0 violations".
  • Failing the build on incomplete rules — those need manual review, not automatic failure.

References


Verification

  • Axe WebDriver audit passes — AxeBuilder.analyze(driver) returns zero critical violations
  • Keyboard accessibility verified — Tab navigation reaches all interactive elements
  • WCAG 2.2 AA compliance — All rules for AA level pass (includes WCAG 2.2 additions: focus-not-obscured, dragging movements, target-size minimum)

© fugazi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts, references) in skills/accessibility-selenium-testing of fugazi/test-automation-skills-agents.

  • SKILL.md
  • LICENSE.txt
  • references/axe-api-reference.md
  • references/axe-patterns-helper-processing.md
  • references/axe-patterns-helper-scanning.md
  • references/axe-patterns-keyboard-and-cicd.md
  • references/axe-patterns-tags-and-tests.md
  • references/code-patterns.md
  • references/wcag21aa-checklist-additions-exceptions.md
  • references/wcag21aa-checklist-perceivable-operable.md
  • references/wcag21aa-checklist-understandable-robust.md
  • scripts/AccessibilityHelper.java
  • scripts/pom-template.xml

Open the folder on GitHubat commit 65a72d5

Compare with similar skills

Accessibility Selenium Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Accessibility Selenium Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Accessibility Selenium Testing this skillfugazi/test-automation-skills-agents247—~2.5kAutomated safety check: PassMIT
Dotnet UInovotnyllc/dotnet-artisan233—~1.3kAutomated safety check: PassMIT
Accessibility Cleanupnwjs/chromium.src160—~1.1kAutomated safety check: PassBSD-3-Clause
Web Interface Guidelines Reviewervercel-labs/openreview1.7k98 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence

Similar skills

  • Dotnet UI

    novotnyllc/dotnet-artisan

    Builds .NET UI apps across Blazor (Server, WASM, Hybrid, Auto), MAUI (XAML, MVVM, Shell, Native AOT), Uno Platform (MVUX, Extensions, Toolkit), WPF (.NET 8+, Fluent theme), WinUI 3 (Windows App SDK…

    233 GitHub stars~1.3k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Accessibility Cleanup

    nwjs/chromium.src

    Finds common violations of the Android accessibility API in the Clank App Java code and attempts to address them (e.g.

    160 GitHub stars~1.1k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 98 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.5k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed

More from fugazi/test-automation-skills-agents

All 10 skills in this repo
  • API Testing

    fugazi/test-automation-skills-agents

    Test REST and GraphQL endpoint contracts using Playwright request fixture (TypeScript) or REST Assured (Java).

    247 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • QA Manual Istqb

    fugazi/test-automation-skills-agents

    Create QA artifacts from requirements: test plans, test conditions/cases, bug reports, regression suites, traceability, and exploratory charters.

    247 GitHub stars~3.6k tokensUpdated 4 days ago
    Auto-check passed
  • Webapp Selenium Testing

    fugazi/test-automation-skills-agents

    Author and maintain versioned Selenium WebDriver tests with Java and JUnit 5.

    247 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check passed
  • A11y Playwright Testing

    fugazi/test-automation-skills-agents

    Accessibility testing for web applications using Playwright (@playwright/test), TypeScript, and axe-core.

    247 GitHub stars~3.2k tokensUpdated 4 days ago
    Auto-check passed
  • Grill Me QA

    fugazi/test-automation-skills-agents

    A guided interview to challenge and validate QA automation plans, test strategies, and framework designs before implementation.

    247 GitHub stars~3.9k tokensUpdated 4 days ago
    Auto-check passed
  • Playwright CLI

    fugazi/test-automation-skills-agents

    Drive a live browser from the CLI with playwright-cli to navigate, interact, snapshot, and capture evidence.

    247 GitHub stars~2.2k tokensUpdated 4 days ago
    Auto-check passed

Works with

Questions about Accessibility Selenium Testing

What does Accessibility Selenium Testing do?

Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine. Accessibility Selenium Testing is an agent skill from fugazi/test-automation-skills-agents. Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine.

When should I use Accessibility Selenium Testing?

Accessibility Selenium Testing fits situations like: asked to validate WCAG 2.2 AA compliance; components for a11y violations; test keyboard navigation; audit color contrast.

How do I install Accessibility Selenium Testing in Claude Code?

Run `npx skills add fugazi/test-automation-skills-agents --skill accessibility-selenium-testing -a claude-code`. Or copy the skill folder (skills/accessibility-selenium-testing in fugazi/test-automation-skills-agents) into .claude/skills/accessibility-selenium-testing in your project. Claude Code loads it when a task matches its description.

How do I install Accessibility Selenium Testing in Codex?

Run `npx skills add fugazi/test-automation-skills-agents --skill accessibility-selenium-testing -a codex`. Or copy the skill folder (skills/accessibility-selenium-testing in fugazi/test-automation-skills-agents) into .agents/skills/accessibility-selenium-testing in your project. Codex loads it when a task matches its description.

Can I use Accessibility Selenium Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fugazi/test-automation-skills-agents --skill accessibility-selenium-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/accessibility-selenium-testing, .gemini/skills/accessibility-selenium-testing, .github/skills/accessibility-selenium-testing and .opencode/skills/accessibility-selenium-testing in your project.

What does Accessibility Selenium Testing need to run?

Going by SKILL.md and its folder, Accessibility Selenium Testing needs Java for the scripts in its folder and the command-line tools its instructions call (mvn).

Does Accessibility Selenium Testing access the network?

SKILL.md names 2 domains. As links in the text: w3.org and dequeuniversity.com. This is read from the text; nothing was executed.

Is Accessibility Selenium Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Accessibility Selenium Testing use?

Accessibility Selenium Testing is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Accessibility Selenium Testing use?

About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Accessibility Selenium Testing?

Skills that share tags, products or a category with Accessibility Selenium Testing: Dotnet UI (novotnyllc/dotnet-artisan, 233 stars), Accessibility Cleanup (nwjs/chromium.src, 160 stars), Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars) and Accessibility Review (markmead/hyperui, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Accessibility Selenium Testing?

fugazi (a GitHub user) maintains it in fugazi/test-automation-skills-agents, which has 247 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 3, 2026.

Source: fugazi/test-automation-skills-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.