ibm-a11y-pr-remediation

Scan and remediate IBM Equal Access Level 1 accessibility violations in PR frontend changes.

154k|10.0k|Updated Feb 8, 2023
One-click install
npx skills add https://github.com/langflow-ai/langflow --skill ibm-a11y-pr-remediation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ibm-a11y-pr-remediation
Source: https://github.com/langflow-ai/langflow/tree/main/.agents/skills/ibm-a11y-pr-remediation
Command: npx skills add https://github.com/langflow-ai/langflow --skill ibm-a11y-pr-remediation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Pull requests frequently introduce accessibility regressions that slip past code review, leaving WCAG/IBM Level 1 violations in production UI. This Skill automatically discovers changed frontend files, maps them to routes and components, runs both axe and IBM Equal Access scanners, and applies fixes until both engines report clean.

Core Features & Use Cases

  • PR-scoped diff analysis: Identifies changed files under src/frontend/** and maps them to routes, components, and interactive states to scan.
  • Dual-engine scanning: Runs axe-core via Jest and IBM Equal Access via Playwright page.runA11yScan and scripts/a11y/a11y_scan.py.
  • Default-fix remediation: Applies semantic HTML, ARIA, focus, and i18n fixes for every in-scope Level 1 violation rather than producing a report-only list.
  • Coverage enforcement: Adds or updates Playwright a11y specs tagged @release plus a domain tag when a fixed state lacks coverage.
  • Use Case: A developer opens a PR that touches a shared TableComponent and several settings pages. Use this Skill to diff the branch, scan every consumer page with both engines, fix the keyboard and ARIA violations, and re-run with RUN_A11Y_ASSERT=true until green.

Quick Start

Scan my current branch for IBM Level 1 accessibility issues and fix every violation in the changed frontend files.

Frequently Asked Questions about ibm-a11y-pr-remediation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an accessibility scan on a pull request in Langflow?

Diff the PR against its merge base for `src/frontend/**` files, then run Playwright with `RUN_A11Y=true RUN_A11Y_ASSERT=true` and the Python scanner `scripts/a11y/a11y_scan.py`. Both axe and IBM Equal Access must report zero violations before the PR is considered clean.

What is the difference between axe-core and IBM Equal Access for accessibility testing?

axe-core runs in Jest via `@/utils/a11y-test` and catches common WCAG issues quickly. IBM Equal Access is stricter on ARIA structure and keyboard semantics and runs through Playwright `page.runA11yScan` or the Python scanner for stateful surfaces like modals and menus.

Does this skill fix accessibility issues automatically or only report them?

Default mode is fix, not report-only. The skill applies semantic HTML, ARIA, focus, and i18n fixes for every in-scope Level 1 violation. Report-only mode is available only when the user explicitly requests it, in which case it hands off to `ibm-a11y-level1-audit`.

Why does the IBM scanner flag issues that axe-core misses?

IBM Equal Access enforces stricter ARIA structural rules and keyboard semantics that axe-core does not fully cover. Common gaps include Radix `asChild` patterns, AG Grid focus handling, and modal focus restoration, which the IBM engine catches but axe does not.

When should I use ibm-a11y-pr-remediation instead of ibm-a11y-route-scan?

Use ibm-a11y-pr-remediation when you want fixes applied to changes in a specific PR or branch. Use ibm-a11y-route-scan for an ad-hoc batch scan of routes without the default fix pass or PR diff scoping.