About modern-accessible-html-jsx
A skill for developers building accessible pages with HTML and JSX. It emphasizes semantic structure, native HTML, and keyboard access.
Key features
- 01Prefer semantic HTML elements
- 02Follow a correct heading hierarchy
- 03Make interactive controls keyboard-accessible
- 04Associate labels with form controls
- 05Provide meaningful image alt text
Use cases
- 01Writing page structure for websites
- 02Implementing keyboard-accessible interactions
- 03Building forms with accessible error messages
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ academind/ ai-config --skill modern-accessible-html-jsxAfter installing, type/modern-accessible-html-jsxin Claude Code to confirm it loaded.
Details
From the project READMEClean & Accessible HTML
We write semantic, accessible, standards-compliant HTML by default. Accessibility is a baseline requirement, not an enhancement.
Semantics First
- PREFER semantic elements (
header,nav,main,section,article,footer) - AVOID generic
div/spanusage when a semantic element exists - Use correct heading hierarchy (
h1→h6) without skipping levels
Accessibility
- ALWAYS ensure interactive elements are keyboard accessible
- PREFER native HTML elements over ARIA whenever possible
- DO NOT use ARIA to fix bad HTML semantics
- Provide accessible names for all interactive controls
- Labels for inputs
aria-labelor visible text where required
Forms & Inputs
- ALWAYS associate labels with form controls
- PREFER native validation and input types (
email,url,number, etc.) - Ensure error messages are accessible and announced properly
Images & Media
- ALWAYS provide meaningful
alttext for images - Use empty
alt=""only for purely decorative images - Provide captions (
figcaption) where context matters
Landmarks & Structure
- Use landmark roles implicitly via semantic elements
- Ensure a single, clear
mainregion - Structure content for screen readers, not just visual layout
General Principles
- HTML is the foundation — do not fight it
- Accessibility is non-negotiable
- If it works without CSS or JS, it’s probably correct
Comments
Markdown supported