← ClaudeAtlas

a11y-semantic-htmllisted

Use this skill when the user asks about semantic HTML structure, heading hierarchy, landmark regions, div soup, divitis, "which HTML element should I use", "semantic markup", "HTML accessibility", "ARIA landmarks", "page structure", "section vs div", "article vs section", "when to use aside", or is writing HTML templates, page layouts, or component markup that requires accessible structural decisions. Also use when reviewing HTML for screen reader compatibility or document outline correctness.
RadOrigin-LLC/RAD-Claude-Skills · ★ 5 · Web & Frontend · score 73
Install: claude install-skill RadOrigin-LLC/RAD-Claude-Skills
# Semantic HTML for Accessibility > **Skill type: Reference.** This is teaching/pattern content — it explains *which element to use when* and *why*. It is not a scanner. For static review of existing markup, use `/a11y-review`. For runtime verification, use the `a11y-testing` skill to set up real axe. Semantic HTML is the foundation of accessible web content. The right element provides built-in roles, keyboard behavior, and accessibility tree information that ARIA cannot fully replicate. **Core principle:** Always use the most semantically specific native HTML element available. ARIA is a supplement for custom widgets — not a replacement for correct HTML. --- ## Document Outline and Headings ### The Heading Rule: One `<h1>`, Sequential Order, No Skips Headings create a machine-readable outline that screen reader users navigate by jumping between levels. ```html <!-- CORRECT: Sequential, logical hierarchy --> <h1>Guide to Accessible Design</h1> <h2>Color and Contrast</h2> <h3>Text Contrast Requirements</h3> <h3>UI Component Contrast</h3> <h2>Keyboard Navigation</h2> <h3>Focus Management</h3> <!-- WRONG: Skipped level — screen reader users think they missed content --> <h1>Guide to Accessible Design</h1> <h3>Color and Contrast</h3> <!-- ❌ jumped from h1 to h3 --> ``` **Rules:** - One `<h1>` per page — the primary descriptor of the page's topic - Never skip heading levels downward (`h1` → `h3` skips `h2`) - You CAN jump back up (`h3` → `h2` when star