← ClaudeAtlas

figma-scan-code-accessibilitylisted

Scan generated/authored HTML for accessibility violations with axe-core (Deque) running over JSDOM — structural and semantic rules: ARIA attributes and roles, accessible names, alt text, form labels, heading order, landmarks, semantic HTML, tabindex, duplicate IDs, lang attribute, and ~50 more. Use on the CODE side of a Figma-to-code workflow: triggers 'scan this HTML for accessibility', 'run axe on my component', 'check the generated code for a11y', 'axe-core scan', 'accessibility lint my markup', 'WCAG check on code', 'is this HTML accessible'. This is a standalone Node script — NO Figma connection required. Visual rules (color-contrast, focus-visible, link-in-text-block, target-size) are DISABLED because JSDOM has no layout — use figma-lint-design for visual a11y on the design side. The two together give full design+code coverage.
whiskfernlowdensitylipoprotein154/figma-console-mcp-skills · ★ 0 · Web & Frontend · score 75
Install: claude install-skill whiskfernlowdensitylipoprotein154/figma-console-mcp-skills
# figma-scan-code-accessibility — axe-core + JSDOM scan of HTML Run [axe-core](https://github.com/dequelabs/axe-core) (Deque's accessibility engine) against an HTML string using JSDOM. This is the **code side** of the accessibility story: it checks the markup your Figma-to-code workflow produced. It pairs with `figma-lint-design` (design side) to cover both ends. **Not a `use_figma` skill.** This runs in plain Node — no Figma file, no Plugin API. axe-core owns the rule database; this skill never invents rules. ## Skill boundaries - **Design-side visual a11y** (contrast, focus rings, target size, color-only) → use `figma-lint-design`. Those rules are intentionally disabled here. - **Per-component design scorecard** → use `figma-audit-accessibility`. - **Design-vs-code parity** → use `figma-check-design-parity` (feed it the `codeSpec.accessibility` this scan can emit). - This skill does **not** use `use_figma`, so the `figma-use` conventions do not apply. ## Why visual rules are disabled JSDOM provides a DOM but **no layout engine and no computed visual styles** — there is nothing to measure pixels or rendered colors against. So axe's visual rules would always be "incomplete" or wrong. The scan disables them explicitly: - `color-contrast` and `color-contrast-enhanced` — need rendered colors. - `link-in-text-block` — needs surrounding text layout. - `target-size` — needs rendered box dimensions. Everything structural/semantic (ARIA, roles, names, labels, alt, headings