affaan-m avatar

Frontend A11y

This is the accessibility checklist you wish you had before your first code review flagged missing form labels and broken ARIA. It covers the patterns that actually come up in React and Next.js work: connecting labels to inputs with htmlFor, linking error messages with aria-describedby, making custom dropdowns keyboard navigable, and knowing when aria-label beats aria-labelledby. The examples are practical, like a complete login form with proper required field handling and a dropdown with arrow key navigation. It won't make you an a11y expert, but it will stop the most common violations before they hit PR comments. Activate it when building forms, modals, or anything interactive that isn't a plain button or link.

skills.sh installs
5.8K
GitHub stars
300.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add affaan-m/ecc --skill frontend-a11y --agent claude-code

Installs into .claude/skills of the current project.

Files

Frontend Accessibility Patterns

Practical accessibility patterns for React and Next.js. Covers the issues most commonly flagged in code review: missing form labels, incorrect ARIA usage, non-semantic interactive elements, and broken keyboard navigation.

When to Activate

  • Building or reviewing form components (<input>, <select>, <textarea>)
  • Creating interactive elements (modals, dropdowns, tooltips, tabs)
  • Using <div> or <span> with onClick
  • Adding aria-* attributes to any element
  • Implementing keyboard navigation or focus management
  • Receiving accessibility feedback from code review tools (CodeRabbit, ESLint a11y)
  • Building components that must support screen readers

Form Accessibility

Missing htmlFor / id pairing and disconnected error messages are the most common issues flagged in code review.

Label Connection

// BAD: label has no connection to input — screen readers cannot associate them
<label>Email</label>
<input type="email" />

// GOOD: htmlFor matches input id
<label htmlFor="email">Email</label>
<input id="email" type="email" />

Required Fields

Sponsors

Details

Repository
github.com/affaan-m/ecc
Categories
Frontend Development, Design & UI/UX, CLI & Terminal
First seen
Jul 14, 2026

More from affaan-m/ecc

All 263
1jeffallan avatarreact-expertjeffallan/claude-skillsUse when building React 18+ applications in .jsx or .tsx files, Next.js App Router projects, or create-react-app setups. Creates components, implements custom h5.8Kskills.sh installs
2lobehub avatarreactlobehub/lobehubLobeHub React component conventions. Use when editing TSX UI, choosing base-ui vs @lobehub/ui vs antd, styling with antd-style, component boundaries, local stat5.7Kskills.sh installs
3affaan-m avatarangular-developeraffaan-m/eccGenerates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signal5.5Kskills.sh installs
4forcedotcom avatarexperience-ui-bundle-metadata-generateforcedotcom/sf-skillsUse this skill when adding a front-end React UI bundle to an existing project or configuring UI bundle metadata and config files. TRIGGER when: adding or scaffo5.3Kskills.sh installs
5forcedotcom avatarexperience-ui-bundle-app-coordinateforcedotcom/sf-skillsMUST activate when the user wants to build, create, or generate a React application, React app, web application, single-page application (SPA), or frontend appl5.3Kskills.sh installs
6giuseppe-trisciuoglio avatarnextjs-performancegiuseppe-trisciuoglio/developer-kitExpert Next.js performance optimization skill covering Core Web Vitals, image/font optimization, caching strategies, streaming, bundle optimization, and Server 5Kskills.sh installs