modern-accessible-html-jsx

Guide HTML and JSX development toward semantic elements and accessible landmarks.

Updated Feb 1, 2026
One-click install
npx skills add https://github.com/ddoman90/claude-code-intro --skill modern-accessible-html-jsx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: modern-accessible-html-jsx
Source: https://github.com/ddoman90/claude-code-intro/tree/main/.claude/skills/modern-accessible-html-jsx
Command: npx skills add https://github.com/ddoman90/claude-code-intro --skill modern-accessible-html-jsx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Write semantic, accessible HTML by default and ensure accessibility is a baseline requirement.

Core Features & Use Cases

  • Semantics-first markup with header, nav, main, section, article, and footer
  • Accessibility emphasis: keyboard navigation, proper alt text, and ARIA minimization
  • Use case: when building new web interfaces, components, or design systems, start from accessible HTML

Quick Start

Refactor a sample page to replace non-semantic divs with semantic elements and add accessible names and alt text

Frequently Asked Questions about modern-accessible-html-jsx

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

FAQPage Schema
How do I write semantic HTML and JSX for web accessibility?

Write semantic HTML and JSX by structuring content with native elements like header, nav, main, and footer. Use native elements over ARIA where possible, maintain correct heading order, and provide meaningful alt text for images.

When should I use ARIA roles instead of native HTML elements?

Use ARIA roles only when native HTML elements cannot provide the required semantics. Minimize ARIA usage by defaulting to native elements to ensure better keyboard accessibility and screen reader compatibility.

How do I refactor a web page to replace non-semantic divs with accessible landmarks?

Refactor web pages by replacing non-semantic div containers with semantic landmark elements such as section and article. Add accessible names and meaningful alt text to improve keyboard navigation and screen reader interpretation.

Can I use this approach for building accessible component libraries and UI pages?

Yes, apply this approach when building component libraries, UI pages, and marketing sites. It enforces accessibility as a baseline requirement by ensuring proper heading order, keyboard navigation, and semantic markup in all frontend development tasks.

What is the best way to ensure keyboard accessibility in JSX components?

Ensure keyboard accessibility in JSX components by using semantic HTML elements that support native focus management. Maintain correct heading order and use native interactive elements instead of adding ARIA attributes to non-semantic divs.

Why does my screen reader skip content when navigating my web interface?

Screen readers skip content when web interfaces lack semantic structure and proper landmarks. Replace non-semantic divs with elements like main and section, and provide meaningful alt text to ensure content is properly announced.