关于 figma-lint-design
figma-lint-design 用于检查 Figma 节点或页面中的无障碍和设计系统问题,适合审查设计的团队。它按 WCAG 2.2 和布局规则报告问题,并标明严重程度及相关节点 ID。
主要功能
- 01检查 WCAG 2.2 规则
- 02检查设计系统与布局规则
- 03按范围或规则筛选检查
- 04按严重程度归类问题
- 05标出相关节点 ID
适用场景
- 01检查界面的对比度问题
- 02查找页面中的布局不一致
- 03交付前处理设计问题
MCP 相关
此技能通过 `use_figma` 检查 Figma 设计。输入指出,原生 Figma MCP 可读取设计但不执行 lint;该技能负责检查设计问题。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ southleft/ figma-console-mcp-skills --skill figma-lint-design安装后在 Claude Code 中输入/figma-lint-design确认已加载。
附带文件references/lint-rules.mdscripts/lint-design.js
详细介绍
figma-lint-design — 节点树的 WCAG 2.2 与设计系统检查
遍历 Figma 节点(或整个当前页面),一次性报告无障碍和设计质量问题。完全通过 use_figma 运行,因此适用于任何 Figma 套餐,并检查真实设计(实际颜色、真实自动布局、实际变体名称),而非生成的代码。
独特之处:原生 Figma MCP(get_design_context、get_metadata 等)会读取设计以生成代码,但不会检查设计。设计侧没有内置的“是否无障碍/是否符合设计令牌?”检查。本技能通过忠实移植 14 条 WCAG 2.2 规则和 6 条设计系统/布局规则,填补了这一空白。
技能边界
use_figma规则 — 首先加载官方figma-use技能;它是完整的 Figma Plugin API 参考。这些脚本依赖的要点:使用带顶层await和return的纯 JS(不使用 IIFE 或figma.closePlugin();console.log不会作为返回值返回),在每个脚本顶部以内联const声明输入,颜色范围为 0–1,任何文本操作前先加载字体,使用await figma.getNodeByIdAsync(...),并遵循原子错误原则(脚本失败时不会应用任何更改——读取错误、修复后重试)。- 逐组件深度评分卡(状态覆盖率、色盲模拟、0–100 分)→ 使用
figma-audit-accessibility。 - 代码侧无障碍检查(对生成的 HTML 使用 axe-core)→ 使用
figma-scan-code-accessibility。 - 设计与代码的偏差检查 → 使用
figma-check-design-parity。
工作流
- 选择范围。 从用户的选区或 URL 获取目标
NODE_ID(框架、组件集或屏幕)。将其设为null,即可检查整个当前页面。 - 选择规则。
RULES默认为['all']。可缩小范围,选择某个规则组('wcag'、'design-system'、'layout')或特定规则 ID(例如'wcag-contrast'),以减少干扰。完整目录见 references/lint-rules.md。 - 运行
scripts/lint-design.js,通过use_figma执行 (skillNames: "figma-lint-design")。先编辑顶部的const输入。 - 按严重程度分类。 结果按规则归类,每项发现均包含
severity(critical/warning/info)和wcagLevel(a/aa/aaa/best-practice/design-system)。 优先处理critical(对比度、目标尺寸、焦点、仅依赖颜色)。 - 修复并重新检查。 应用修复(通过
figma-manage-variables、figma-use等),然后对相同范围重新运行,确认summary.total已下降。每项发现都包含问题节点的node.id,可直接跳转到该节点。
关键规则
- 颜色是 0–1 范围的浮点数。 对比度计算使用 sRGB 线性化和相对亮度;脚本内置了所需函数(输入无需使用十六进制值)。
- 背景颜色通过沿祖先节点查找最近的纯色填充推断(默认为白色)。
半透明填充上的对比度会标记为
approximate: true。 MAX_DEPTH(默认值为 10)和MAX_FINDINGS(默认值为 100)会限制遍历范围。如果设置了truncated,请缩小范围或提高上限。- **符合 WCAG 的严重程度标注:**某些规则(文本尺寸、行高、字母/段落间距)标记为
best-practice,而非 WCAG 硬性失败——各规则的具体理由见 lint-rules.md。 - 发现仅作描述,不会自动修复。批量编辑设计前,请先确认意图。
评论
支持 Markdown