用途:这是一个 Web Component 无障碍审计技能,针对自定义元素和 Shadow DOM 中传统 ARIA 引用、标签关联与焦点管理失效的问题进行审查。
主要能力: 一、ElementInternals:使用 attachInternals() 设置 role、ariaLabel 与表单关联,而非依赖属性。 二、跨 Shadow ARIA:aria-labelledby 无法跨越 shadow 边界,需用 ElementInternals.ariaLabel 或宿主属性。 三、表单关联:static formAssociated = true,配合 setFormValue()、setValidity() 和标签关联。 四、焦点管理:delegatesFocus: true、tab 顺序、以编程方式把焦点移入 shadow DOM。 五、插槽组合:slotted 内容属于 light DOM,可供 ARIA 引用,slot 对无障碍树透明。 六、事件重定向:自定义事件跨 shadow 边界需设置 composed: true 与 bubbles: true。
常见问题与修复:跨 shadow 的 aria-labelledby 改用 ElementInternals.ariaLabel 或宿主属性;缺少 delegatesFocus 时在 attachShadow() 选项中添加;宿主无 role 时用 ElementInternals.role;未做表单关联时使用 static formAssociated = true 加 ElementInternals。
使用方式:按共享规则、调度契约与 schema 执行,权威规范见 skills/a11y-core/references/sources.md;输出契约要求仅返回符合 skills/a11y-core/schemas/findings.schema.json 的 JSON,无散文、无摘要、不重述指令,单个对象含一个 findings 数组。
适用场景与限制:适用于审查 Web Component 无障碍实现。资料未提供安装命令、收费、价格、平台与效果等信息。