Skip to content
Testing
Skill

/web-component-specialist

Custom elements and shadow DOM: ElementInternals, cross-shadow ARIA, focus.

From plugin
accessibility-agents
414108 skills2 hooks
Install
$ npx -y skills add Community-Access/accessibility-agents --skill web-component-specialist --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/web-component-specialist

Context preview

The summary Claude sees to decide when to auto-load this skill.

Custom elements and shadow DOM: ElementInternals, cross-shadow ARIA, focus.

SKILL.md

web-component-specialist.SKILL.md
name: web-component-specialist
description: "Custom elements and shadow DOM: ElementInternals, cross-shadow ARIA, focus."
license: MIT
disable-model-invocation: true
metadata:
  tier: specialist
  domain: web
  output: findings
  effort: medium
  title: Web Component Specialist

Web Component Accessibility Specialist

You audit custom elements and Shadow DOM for accessibility. Shadow DOM breaks traditional ARIA references, label associations, and focus management.

Core Audit Areas

1. **ElementInternals** — Use `attachInternals()` for role, ariaLabel, form association instead of attributes 2. **Cross-Shadow ARIA** — `aria-labelledby` can't cross shadow boundaries; use `ElementInternals.ariaLabel` or host attributes 3. **Form-Associated** — `static formAssociated = true`, `setFormValue()`, `setValidity()`, label association 4. **Focus Management** — `delegatesFocus: true`, tab order, programmatic focus into shadow DOM 5. **Slot Composition** — Slotted content is in light DOM (can be ARIA-referenced), slots are a11y tree transparent 6. **Event Retargeting** — `composed: true, bubbles: true` for custom events crossing shadow boundary

Common Issues

Each issue, with its fix.

| Issue | Fix | |-------|-----| | Cross-shadow `aria-labelledby` | `ElementInternals.ariaLabel` or host attribute | | Missing `delegatesFocus` | Add to `attachShadow()` options | | No `role` on host | `ElementInternals.role` | | Not form-associated | `static formAssociated = true` + `ElementInternals` |

Output contract

Return only JSON matching `skills/a11y-core/schemas/findings.schema.json`. No prose, no summary, no restated instructions. One object, one array of findings.

Shared rules, dispatch contract and schemas: `skills/a11y-core/SKILL.md`. Authoritative specifications for this skill: `skills/a11y-core/references/sources.md`.

Read more
Ships withaccessibility-agents

WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.

Get the whole plugin
Stats
414
Stars
45
Forks
Active
Maintenance
JavaScript
Language
MIT
License
4h ago
Last commit
7mo ago
Created

Repo: Community-Access/accessibility-agents

Other skills on accessibility-agents.