关于 lint-design-figma
这项 Figma 技能可检查选定节点或当前页面中的 WCAG 2.2 无障碍与设计系统问题,适合需要针对真实设计获取问题明细的设计师和团队。结果按严重程度和规则分类,并标明相关节点。
主要功能
- 01检查 14 项 WCAG 2.2 规则
- 02检查设计系统与布局规则
- 03可指定节点或页面范围
- 04按严重程度和规则归类结果
- 05标出问题节点 ID
适用场景
- 01检查界面的对比度和目标尺寸问题
- 02核对页面的设计系统一致性
- 03修复设计后重新运行检查
MCP 相关
该技能通过 `use_figma` 运行检查脚本,运行前需加载 `figma-use` 技能。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ southleft/ skills-for-figma --skill lint-design-figma安装后在 Claude Code 中输入/lint-design-figma确认已加载。
附带文件references/lint-rules.mdscripts/lint-design.js
详细介绍
lint-design-figma — 对节点树执行 WCAG 2.2 + 设计系统 lint
遍历一个 Figma 节点(或整个当前页面),一次性报告无障碍和设计质量问题。完全通过 use_figma 运行,因此适用于任何 Figma 方案,并检查真实设计(实际颜色、真实自动布局、实际变体名称),而非生成的代码。
独特之处:原生 Figma MCP(get_design_context、get_metadata 等)会读取设计以生成代码,但不会对设计执行 lint。设计侧没有内置的“此设计是否无障碍/是否使用了规范令牌?”检查。此技能通过忠实移植 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 分)→ 使用
audit-accessibility-figma。 - 代码侧无障碍检查(对生成的 HTML 执行 axe-core 检查)→ 使用
scan-code-accessibility-figma。 - 设计与代码不一致检查 → 使用
check-design-parity-figma。
工作流
- 选择范围。 从用户的选区或 URL 获取目标
NODE_ID(框架、组件集或屏幕)。将其设为null可对整个当前页面执行 lint。 - 选择规则。
RULES默认值为['all']。可将其缩小到某个分组('wcag'、'design-system'、'layout')或某条具体规则 ID(例如'wcag-contrast'),以减少无关结果。完整目录见 references/lint-rules.md。 - 运行通过
use_figma执行scripts/lint-design.js(skillNames: "lint-design-figma")。先编辑顶部的const输入。 - 按严重程度分类处理。 结果按规则分组,每项包含
severity(critical/warning/info)和wcagLevel(a/aa/aaa/best-practice/design-system)。优先处理critical(对比度、目标尺寸、焦点、仅靠颜色传达信息)。 - 修复并重新执行 lint。 应用修复(通过
manage-variables-figma、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