Skip to content

feat(a11y): add jest-axe and jsx-a11y with baseline for SettlementTable and MetricsBar - #438

Open
Opulencechuks wants to merge 1 commit into
AnchorNet-Org:mainfrom
Opulencechuks:add-accessibility-checks
Open

feat(a11y): add jest-axe and jsx-a11y with baseline for SettlementTable and MetricsBar#438
Opulencechuks wants to merge 1 commit into
AnchorNet-Org:mainfrom
Opulencechuks:add-accessibility-checks

Conversation

@Opulencechuks

Copy link
Copy Markdown

Closes #428

Description

This PR introduces accessibility verification to the AnchorNet-Frontend codebase targeting the WCAG 2.1 AA baseline. To prevent a11y regressions without overwhelming the team with existing violations on day one, I have implemented a targeted baseline approach.

Layer-Ranking & Scope Strategy:

  • jest-axe (Highest value-per-effort): Leverages our existing vitest suite to catch rendered-output violations without new infrastructure. I have scoped this gate to our highest-traffic and most data-dense components (SettlementTable and MetricsBar).
  • eslint-plugin-jsx-a11y (High value-per-effort): Added to the flat config to catch static markup problems cheaply at author time directly in the editor.

Changes Made:

  • Configured eslint-plugin-jsx-a11y and jest-axe.
  • Fixed existing a11y violations in SettlementTable (added scope="col" to headers and sr-only text to action columns).
  • Baselined ToastProvider by suppressing a tabIndex warning with a documented reason, keeping its keyboard operability intact while keeping the build green.
  • Added a11y.test.tsx which asserts zero violations for SettlementTable and MetricsBar, and verifies keyboard operability for actionable settlements.

Checklist

  • I added a CHANGELOG.md entry under the next ## [x.y.z] section
    (see the Format note at the top of CHANGELOG.md), or this PR
    is docs-only / test-only / internal tooling and doesn't change
    user-facing behavior.
  • Tests added/updated for the change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The application has no accessibility testing of any kind — no axe integration, no a11y specs, no jsx-a11y lint rules

1 participant