frontend-performance-accessibility

Enforces Lighthouse performance budgets and WCAG 2.2 AA accessibility on React frontend routes.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/VilnaCRM-Org/claude-plugins --skill frontend-performance-accessibility-vilnacrm-org
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: frontend-performance-accessibility
Source: https://github.com/VilnaCRM-Org/claude-plugins/tree/main/plugins/react-frontend-sdlc/skills/frontend-performance-accessibility
Command: npx skills add https://github.com/VilnaCRM-Org/claude-plugins --skill frontend-performance-accessibility-vilnacrm-org

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? React frontend changes often regress page speed and accessibility silently — bundle weight creeps onto the critical path, layout shifts appear, and WCAG violations slip past review. This Skill turns Lighthouse budgets and WCAG 2.2 AA into enforced, non-waivable gates on every UI change. ## Core Features & Use Cases - Lighthouse budget enforcement: Runs desktop and mobile Lighthouse audits through the project's make targets, treating mobile (throttled) as the binding budget with raise-only floors (95 desktop / 85 mobile defaults). - Bundle and render-path optimization: Guides route-level code-splitting, deferred-DI composition roots, and container-free first paint so heavy dependencies load behind dynamic import() instead of at boot. - WCAG 2.2 AA build-time checklist: Covers accessible names, focus management, keyboard operability, contrast, and a strict no-data-testid policy, pairing with the accessibility-audit skill for authoritative per-family verdicts. - Use Case: While building a sign-in page, you keep the DI container and data client out of the entry chunk, verify the mobile Lighthouse score stays at or above 85, and confirm every control has an accessible name before the PR passes review. ## Quick Start Ask the agent to audit the current route's Lighthouse mobile score and accessibility, then fix any budget or WCAG regressions it finds.

Frequently Asked Questions about frontend-performance-accessibility

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

FAQPage Schema
How do I improve Lighthouse mobile performance score in React?▼

Run the mobile audit through the project's make.lighthouse_mobile target, then localize the cause with LCP, CLS, and INP signals. Common fixes are route-level code-splitting, moving heavy libraries behind dynamic import(), and reserving layout space to prevent shifts.

How to make a React app WCAG 2.2 AA compliant?▼

Give every control an accessible name via localized labels, label inputs and associate errors programmatically, trap focus in dialogs, ensure full keyboard operability including route changes, and meet AA contrast from theme tokens. Verify with the a11y lane and the accessibility-audit skill.

What is deferred DI and why does it help first paint?▼

Deferred DI keeps the dependency-injection container, data clients, and validators out of the chunk that paints the page. A thin composition root loads them via dynamic import() on first user action, cutting critical-path bytes on tight mobile budgets.

Can Lighthouse performance budgets be lowered to make CI pass?▼

No. The quality.lighthouse_desktop and quality.lighthouse_mobile floors are raise-only, and visual_diffs is fixed at zero. A failing score must be fixed at the cause, never by editing the threshold or suppressing the check.

What happens when Lighthouse is not configured for a project?▼

The lab-performance lane is skipped with an explicit capability-absent note when capabilities.lighthouse is false or both make targets are null. The accessibility and visual-regression lanes still run, and no quality threshold is weakened.

Why are data-testid attributes banned in accessible React code?▼

Tests and audits locate elements by user-facing semantics — role, label, and text — which keeps accessibility coverage honest. Using data-testid lets tests pass against markup that assistive technology cannot actually use.