codebase-explorer
Deep codebase exploration agent for architecture understanding, pattern discovery, and…
Extends `qa-frontend.v2.md`. Load when dispatched with `mode: accessibility`.
> /plugin marketplace add LerianStudio/ringHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Extends `qa-frontend.v2.md`. Load when dispatched with `mode: accessibility`.
Extends `qa-frontend.v2.md`. Load when dispatched with `mode: accessibility`.
import { axe, toHaveNoViolations } from 'jest-axe';
expect.extend(toHaveNoViolations);
describe('TransactionList — Accessibility', () => {
it('has no axe violations', async () => {
const { container } = render(
<TransactionList items={mockTransactions} />
);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
it('has no axe violations in loading state', async () => {
const { container } = render(<TransactionList items={[]} isLoading />);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
it('has no axe violations in error state', async () => {
const { container } = render(
<TransactionList items={[]} error={new Error('Failed')} />
);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
});describe('Keyboard Navigation', () => {
it('navigates list with arrow keys', async () => {
const user = userEvent.setup();
render(<TransactionList items={mockTransactions} />);
const list = screen.getByRole('list');
const items = screen.getAllByRole('listitem');
await user.tab(); // focus first item
expect(items[0]).toHaveFocus();
await user.keyboard('{ArrowDown}');
expect(items[1]).toHaveFocus();
});
it('opens detail on Enter', async () => {
const user = userEvent.setup();
const onSelect = vi.fn();
render(<TransactionList items={mockTransactions} onSelect={onSelect} />);
await user.tab();
await user.keyboard('{Enter}');
expect(onSelect).toHaveBeenCalledWith('1');
});
});describe('Modal Focus Management', () => {
it('traps focus inside modal when open', async () => {
const user = userEvent.setup();
render(<TransactionDetailModal isOpen={true} onClose={vi.fn()} />);
// First focusable element inside modal gets focus
expect(screen.getByRole('dialog')).toBeInTheDocument();
const closeButton = screen.getByRole('button', { name: /close/i });
expect(closeButton).toHaveFocus();
});
it('returns focus to trigger on close', async () => {
const user = userEvent.setup();
const { rerender } = render(<TransactionDetailModal isOpen={true} />);
const trigger = screen.getByRole('button', { name: /view details/i });
rerender(<TransactionDetailModal isOpen={false} />);
expect(trigger).toHaveFocus();
});
});## VERDICT: [PASS | FAIL] ## Accessibility Testing Summary | Metric | Value | |--------|-------| | Components Scanned | N | | axe Violations | N | | Keyboard Tests | N passed / N total | | WCAG Level | AA | ## Violations Report [If any violations] ### [Violation ID]: [Description] - **Severity:** critical/serious/moderate/minor - **Location:** `ComponentName` — `selector` - **WCAG Criterion:** [e.g., 1.3.1 Info and Relationships] - **Fix:** [specific code change] ## Keyboard Navigation Results | Flow | Status | |------|--------| | Tab through list items | ✅ PASS | | Arrow key navigation | ✅ PASS | | Enter to open detail | ✅ PASS | | Escape to close modal | ✅ PASS | | Focus trap in modal | ✅ PASS | ## Next Steps [PASS: "WCAG 2.1 AA compliant." | FAIL: list violations with fixes.]
Proven engineering practices, enforced through skills. Ring is a comprehensive skills library and workflow system for AI agents that transforms how AI assistants approach software development.
Repo: LerianStudio/ring
Deep codebase exploration agent for architecture understanding, pattern discovery, and…
Review Slicer: Adaptive classification engine that evaluates semantic cohesion to decide…
Senior Backend Engineer specialized in Go for high-demand financial systems. Handles API…
Senior Backend Engineer specialized in TypeScript/Node.js for scalable systems. Handles API…
Senior BFF (Backend for Frontend) Engineer specialized in Next.js API Routes with Clean…
Foundation Review: Reviews code quality, architecture, design patterns, algorithmic flow, and…