界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

web-component-specialist

web-component-specialist

【开发与工程】Custom elements and shadow DOM: ElementInternals, cross-shadow ARIA, focus.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

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.

IssueFix
Cross-shadow aria-labelledbyElementInternals.ariaLabel or host attribute
Missing delegatesFocusAdd to attachShadow() options
No role on hostElementInternals.role
Not form-associatedstatic 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.

我的收藏