跳转到内容

完整检查

团队需要从设计到发布的全面审核时,使用本页。首次交付不必从这里开始;请先使用设计师清单。

本检查覆盖源设计、结构化数据、实现、QA、待解决问题和有意接受的偏差。

每个阶段都应重新使用本清单。先声明范围和当前关口,再收集该关口需要的证据。设计阶段通过,不代表实现或发布检查也已通过。

关口 必须达到的结果
设计 源设计和样本已表达所有适用的意图,无需私下解释。
契约 带版本的 bridge 外层结构有效,引用可解析,实现方无需编造行为即可开始工作。
实现 每个接受的需求都对应目标行为、代码或批准的偏差。
QA/发布 声明的上下文中,可观察结果通过验证;证据和仍有效的偏差已关联到发布。

证据分为:

  • 自动 — 对源设计、schema 或实现进行确定性检查;
  • 启发式 — 工具识别可疑情况,由人判断;
  • 人工 — 产品、语义、视觉、无障碍或目标平台专项审核;
  • 运行时 — 在声明的实现环境中测量。

只有基于范围说明理由后,才能将某项标为 not applicable。省略模块不能等于“没人检查”。

只要存在以下任一情况,受影响范围就不能通过当前关口:

  • 重要元素、上下文、需求、目标或源修订版本无法识别;
  • 角色、模板、设计实例、运行时数据和目标实现被混为一个有歧义或依赖位置的 ID;
  • 必需的操作或链接没有已知目的地、反应或可达目标;
  • 实现方必须自行编造运行时数据的含义、来源、键、格式、状态或隐私行为;
  • 响应式树结构发生变化,却没有完整声明的转换;
  • 页面根或可编辑的画框区块未启用原生 Auto Layout;只有合法、不透明、没有实时内容流的整体视觉 [asset] 区块可以豁免;
  • 支持 Auto Layout 的普通容器有至少两个可见且有意义的流内子节点,却未启用 Auto Layout;
  • Figma GROUP 位于不透明 [asset] 子树之外;记录手动布局偏差不会消除该阻塞错误;
  • 必需任务或内容在某个断点、能力、减少动态效果、RTL、离线或失败上下文中消失,且没有映射的替代方案;
  • 表单或异步流程缺少校验、待处理、失败、恢复、焦点或状态播报行为;
  • 适用的 WCAG 2.2 A/AA 要求没有实现路径或安全替代方案;
  • 必需的目标能力不受支持,且没有经过验证的替代方案;
  • unknown、unsupported 或 TBD 决策只存在于口头对话、聊天、未关联任务或个人记忆中;
  • 阻塞性待解决问题尚未解决,或者替代方案不安全、不满足无障碍要求、具有误导性或破坏性,或无法测试;
  • 例外或实现偏差缺少范围、影响、缓解措施、负责人、证据、批准或复核日期;
  • 契约、源设计、实现和 QA 的修订版本无法追溯到同一次发布。

  • 交付单元(页面、流程、区块或组件)有稳定的 transferId 和明确范围。
  • 按适用情况声明页面、已知路由、视图、语言区域、方向、书写模式、主题、实验、角色、数据场景和目标能力配置。
  • 源文件/页面/节点引用和不可变的源修订版本已固定。
  • contractVersion、methodologyVersion、rulesVersion 使用受支持的版本。
  • 契约修订版本与目标构建/修订版本已关联。
  • 设计、契约、实现、QA/无障碍和偏差审批都有明确负责人。
  • 需求和验收标准有稳定 ID 及证据位置。
  • 未准备的上下文组合有确定性的继承方式,或已列为明确的待解决问题。

当外围文件/产品不采用 DFC Bridge,而交付单元只是一个新区块时,使用此审核配置。它缩小证据范围,但不会豁免区块内的 DFC Bridge 要求,也不会把整个宿主页面转换为 DFC Bridge。

  • 每个所选根都解析到同一个明确的 [section=<stable-id>];不能默默接受未标记画框。
  • 所选区块不位于另一个不透明 [asset] 祖先内。恰好选中的 [section=id] [asset] 根只能作为不透明的整体视觉资源;继承祖先资源边界的范围在遍历前就是 Blocked。
  • 不为区块编造 [page]、[bp]、[view]、[route] 标签。若选中的是页面根,应使用 Check page(检查页面),而不是本配置。
  • bridge.context.scope 记录 kind: section、boundary: selected-subtree、assetBoundary: none|selected-root-opaque、根标识、宿主状态、选择模式、上下文 ID 和 readinessClaim: section-source-only。
  • 源文档、所选节点、图层路径和不可变修订版本已固定。
  • 一个所选根声明一个请求的上下文。明确选择两个或更多根时,它们具有同一区块 ID,并声明需要比较的变体;不会隐式查找旧有同级节点。
  • 根据所选根/容器宽度推断的上下文标签注明 labelSource: inferred-from-selected-root-width,不能冒充设计者明确声明的意图。
  • 可编辑区块根和每个适用的本地内容容器满足原生 Auto Layout 规则;资源边界外没有 GROUP。
  • 恰好位于所选根上的 [asset] 停止内部遍历,使内部布局检查不适用,但根仍是父级中的一个流内子节点。单独的 [decor] 不停止遍历,只能标在实际具有该视觉意图的图层上。
  • 本身为 INSTANCE 的所选区块根作为 Partial 源边界报告。普通后代实例是受信任的原子边界:内部不适用于本次遍历,不会降低 Ready,也不能为了让结果看似完整而分离实例。
  • 稳定标识在每个声明的所选上下文内唯一;本地语法、内容、溢出、组件、操作和目标均已审核。
  • 所选根内部的目标在本地解析。完整有效的 http:、https:、mailto:、tel: href 已明确并完成解析;不完整或格式错误的外部值是阻塞语法错误,不能标为 Deferred。需要到根外查找的内部路由/锚点、模态框/状态/表单/重置目标、组件和数据列在 externalDependencies 中,附有负责人、状态和文件/集成复核点。
  • 请求比较所选变体时,检查其标识/类型、逻辑树/节点数量、父子关系、产品文案和视觉意图策略。未请求的变体是 not requested,不是缺少断点。

所选区块检查不能证明以下项目已通过:宿主页面根结构,页面/视图/路由完整性,必需的页面断点根,全局标识唯一性,指向外部的路由/锚点/模态框/状态/表单解析,父级放置及裁切/堆叠/吸附行为,页面语义区域和完整阅读/焦点顺序,完整用户流程,运行时行为,性能,生产实现的无障碍或 WCAG 符合性。将适用项记录为 deferred、unverified-external 或 not evaluated: requires host/page evidence,再完成独立的文件/集成及实现关口。

  • Ready(就绪) — 声明范围内的所选源设计没有错误、警告/TODO、所选根的源证据缺口或待验证检查。只请求一个上下文时也可以 Ready;受信任的后代实例不会降低它。
  • Partial(部分完成) — 没有本地阻塞错误,但仍有警告/TODO、所选根 INSTANCE、待文件级解析的引用或无法区分的所选上下文。
  • Blocked(阻塞) — 标签边界缺失/无效或位于祖先的不透明资源边界内,所选根相互嵌套/区块 ID 不同,或仍存在本地阻塞问题。

三种状态都受范围限制。Ready 只表示声明的所选上下文中的区块源设计就绪,绝不表示页面、产品、实现或 WCAG 就绪。实际自动覆盖范围单独列在所选区块清单中。

  • 重要的设计元素具有稳定的英文 kebab-case 设计标识,或使用允许的后备标识标签。
  • 逻辑标识不包含 -375、-mobile、-desktop 等宽度/设备后缀。
  • bridgeKey 引用在范围内唯一且可解析。
  • 需要时,区分角色、templateKey、designInstanceKey、运行时记录键规则和目标映射。
  • [item=...] 描述可重复的项目角色/类型,可以重复;它不是样本或运行时记录的唯一标识。
  • 设计样本的稳定标识不随排序变化;运行时记录使用稳定的产品数据键,而非数组位置。
  • 每个声明的源节点都存在于对应上下文中,并映射到预期的逻辑元素。
  • 交互目标使用稳定的 DFC Bridge 引用,不与目标实现中的定位器混淆。
  • [decor] 和 [asset] 是策略标志,不能替代稳定设计标识。

参见图层命名与标识和交付契约。

  • 页面根是 Figma 页面的直接子节点,或只能通过原生 Figma SECTION 画布组织容器到达。这些 Section 不提供继承的 DFC Bridge 上下文,也不能代替页面根;普通外层 FRAME/GROUP 不能被穿透查找。
  • 每个 DFC Bridge 页面根都使用原生 Auto Layout,即使只有零个或一个子节点;不能给页面根加 [asset] 来绕过检查。
  • 每个画框区块都使用原生 Auto Layout,即使只有零个或一个子节点;只有严格符合条件、没有实时内容流的整体视觉 [asset] 区块例外。
  • 每个支持 Auto Layout 且有至少两个可见、有意义的直接流内子节点的普通容器,都使用原生 Auto Layout。
  • 基础图形和叶节点无需满足容器布局规则;不透明 [asset] 子树可保留内部构图,但资源根仍是父级 Auto Layout 中的一个子节点。
  • [asset] 子树之外没有 Figma GROUP。[decor] 不是豁免;手动布局标签加原因只记录偏差,不能消除阻塞问题。
  • 相关元素在源工具中使用有意义的画框、组件、Auto Layout、约束和裁切。
  • 图层标签不重复节点类型、几何、组件源、变体或其他原生元数据。
  • 每个包装层都有分组、布局、裁切、表面、语义、导出或交互职责。
  • 页面级可复用区块来自 Page Sections;来源不明确时,显式使用 [section=...]。
  • 每个 Page Sections 组件的源根在独立的源审核中满足区块 Auto Layout 规则。Page Check 不会从已放置的 INSTANCE 解析源组件,也不把实例内部当作可编辑页面结构。
  • UI 控件继承固定版本的组件/模板契约;实例覆盖有明确意图且可见。
  • 组件状态不建模为互不关联的页面根;页面/数据视图不隐藏在单个组件变体中。
  • 分离的组件副本、扁平化资源、栅格化文本,以及被当作事实来源的隐藏图层,都有明确理由,否则应移除。
  • 组件/系统继承与实例级覆盖不冲突。

有意绝对定位的装饰应在那个具体视觉节点上标注 [decor]。它不能让任意自由布局容器或子树合法化。整体交付的不透明复杂装饰视觉使用 [decor] [asset];需要记录叠层定位意图时才使用 [bridge-exception=overlay] [reason=...]。

4. 响应式、连续尺寸变化、容器和方向行为

标题为“4. 响应式、连续尺寸变化、容器和方向行为”的章节
  • 准备好的页面根使用 [bp=...] 表达设计宽度锚点,不把它误当作推断出的媒体查询边界。
  • 默认在不同上下文中保持相同的逻辑树、含义、操作、数据关系和无障碍语义。
  • 区分由视口、容器、内容/内在尺寸和能力条件驱动的变化。
  • 阶梯条件及连续变化的最小/首选/最大范围覆盖设计画框之间的尺寸。
  • 每个结构或展示变化都有 fromContext、toContext、条件、完整映射和应保留的语义。
  • 转换定义阅读/焦点顺序、操作和校验的一致性、状态/选择迁移、滚动、URL/历史、反向转换和替代方案。
  • 重要内容通过可达映射移动或展开,不会默默删除。
  • 不为填满响应式网格而改变集合数量或运行时记录标识。
  • 吸附/固定 UI 预留空间,不遮挡锚点、内容、错误或焦点。
  • 按需覆盖安全区域、嵌套滚动归属、视口单位、屏幕方向和屏幕键盘行为。
  • 对支持的 ltr、rtl、双向文本和书写模式,明确逻辑起点/终点、图标镜像、混合值、图表轴、阅读顺序和键盘顺序。
  • QA 覆盖设计宽度锚点、阈值刚上/下方、中间宽度、嵌套容器、缩放/重排、长内容和不同方向的样本。

参见响应式与自适应行为和变化轴。

5. 内容、运行时数据、表格和可视化

标题为“5. 内容、运行时数据、表格和可视化”的章节
  • 设计文案与运行时字段、仅用于展示的标签或注释分开。
  • 每种运行时数据展示都定义目的、schema、稳定键规则、可空性、关系和数量范围。
  • 明确数据源负责人、数据集、聚合、刷新、过期、限制、隐私、抑制和最后更新时间的行为。
  • 语言区域、货币、单位、时区、精度、正负号、舍入、区间,以及缺失/零/估算/不适用值没有歧义。
  • 加载、空、部分、过期、错误、离线和未授权状态都有适用的可见反馈及恢复方式。
  • 存在排序、筛选、分页、虚拟化、选择、批量操作、编辑、下钻或导出时,其行为定义完整。
  • 表格保留标题/名称、表头关系、比较语义和窄屏访问能力。
  • 图表/地图定义维度、度量、值域、刻度、基线、聚合、排序、视觉编码、注释和交互。
  • 颜色、悬停、canvas、SVG 或动画不是获取状态、数值或结论的唯一方式。
  • 通过表格、列表、摘要、详情或下载,为复杂数据提供适当的无障碍等效信息。
  • 按需提供零、一、典型、最大/未知、长、混合方向、缺失、重复、离群、部分、过期、失败和受限数据样本。

参见数据与可视化。

6. 交互、状态机、表单、焦点和历史

标题为“6. 交互、状态机、表单、焦点和历史”的章节
  • 导航使用真实 [href=...];非导航行为使用 [action=...];草稿标记保持为可见 TODO。
  • 每项非简单操作都关联带版本的反应/状态机记录。
  • 状态、事件、守卫条件、效果、待处理行为、结果、取消、超时、重试和并发规则是确定的。
  • 异步竞争策略防止过时响应覆盖新状态。
  • 乐观更新按需定义回滚、冲突处理和撤销。
  • 字段有稳定绑定、可见标签、说明、值类型、必填状态、自动填充用途、约束和错误关联。
  • 明确校验时机、客户端/服务端权威来源、错误摘要、首个错误焦点、值保留、重复提交、重置和未保存更改行为。
  • 对话框、抽屉、菜单、浮层和展开组件定义初始焦点、键盘范围、Escape/关闭/点击外部行为、嵌套、滚动锁定和焦点恢复。
  • 悬停、拖动、滑动、长按和多点输入按要求提供键盘/单指针替代方式。
  • 动态插入、删除、筛选、权限变化和路由变化保留或有意移动焦点,并播报有意义的状态。
  • 明确路径/查询/hash/存储、push 与 replace、后退/前进、直接打开、刷新、深链接、滚动和焦点恢复。
  • URL 和分析数据不暴露秘密或敏感字段值。

参见交互与目标和状态机与反应。

  • 每个序列都有产品目的,以及即使静止展示也有意义的稳定状态。
  • 声明驱动方式、触发器、来源、范围、时序、缓动、轨道、同步和最终状态。
  • 长滚动场景定义滚动容器、偏移、连续/阈值映射、吸附/固定边界、预留的布局空间和正常文档流替代方案。
  • 反向、重新进入、快速输入、中断、取消、尺寸变化、本地化、动态内容、路由恢复和深链接行为确定。
  • 获得焦点的内容立即渲染并显示;完成状态不只依赖动画结束事件。
  • 减少动态效果时,移除有问题的位移/视差/循环,或替换为静态/短过渡,同时保留任务、内容、状态和焦点。
  • 用户能按要求暂停、停止或隐藏移动/自动更新内容;闪烁不超过适用阈值。
  • 不支持动画、吸附或时间线能力时,使用声明的语义替代方案。

参见动效与长滚动。

  • 完整实现范围以满足每项适用的 WCAG 2.2 A 和 AA 成功准则为目标。
  • 文档标题/语言、语言切换、语义区域、标题层级、列表、表格、标签、状态和阅读顺序符合内容含义。
  • 控件和字段的名称包含可见标签;纯图标控件、重复链接、说明和错误能够区分。
  • 所有功能都可用键盘操作且没有键盘陷阱;焦点顺序合理、焦点可见、恢复有意图且不被遮挡。
  • 验证文本/非文本对比度、非颜色提示、200% 文本放大、等效于 320 CSS px 的重排、文本间距、方向和感官说明。
  • 指针目标满足 WCAG 2.2 AA 最小要求或允许的例外;若产品声明更严格的主要触摸控件尺寸,遵循该要求。
  • 拖动和复杂手势有替代方式;按需支持取消由指针按下事件触发的操作。
  • 表单识别错误并建议修正、保留重复信息,且支持无障碍身份验证。
  • 实时状态、时间限制、字幕、音频描述、文字稿、自动播放、动效和闪烁满足适用准则。
  • 复杂图像和数据可视化提供等效的必需信息。
  • 每项响应式转换保留名称、角色、值、状态、关系、任务完成能力、焦点和帮助。
  • 人工 QA 覆盖声明的浏览器/平台/辅助技术组合、键盘、屏幕阅读器、缩放/重排、间距、对比度模式、减少动态效果、触摸、RTL/bidi、数据状态和转换。
  • 不把设计稿、孤立组件、自动评分或不完整流程当作 WCAG 符合性证明。

参见无障碍配置。

  • 设计/产品明确必需内容、媒体、顺序和任务结果。
  • 每个目标能力配置注明平台/运行时、输入/输出能力、支持的功能及不支持功能的替代方案。
  • 图像/视频/动画按需定义内在尺寸、格式、质量、视觉焦点/安全裁切区域、视觉适配、封面/预览、优先级、预加载和懒加载策略。
  • 预期及最大数据量、页/窗口大小、流式传输、分页和虚拟化阈值明确。
  • 低带宽、离线、节省流量、低功耗、减少动态效果、缺少 API/编解码器、内存压力和中断具有适用的可用降级行为。
  • 加载优先级不让非必需媒体阻挡重要文本/操作。
  • 性能预算注明指标、限制、单位、负责人、目标环境、测量点和证据。
  • 安全、隐私、法律、数据完整性、无障碍和必需任务完成优先于视觉保真度。
  • 不受支持或未知的能力是有负责人的待解决问题,不是适配器未声明的假设。

目标/能力要求见变化轴和交付契约。

  • [route=...] 和 [route-pattern=...] 只用于已知生产路径;未知路由保持为可追踪问题,不编造 URL。
  • 内部路由和锚点可解析;外部、邮件和电话目标使用允许的协议及打开行为。
  • 模态框、状态、表单、区块和锚点依赖在接受的范围内,或在明确关联的外部契约中可解析。
  • 身份验证和权限视图不把视觉隐藏当作授权控制。
  • 敏感、私密、法律相关和用户生成数据按产品要求定义暴露、脱敏、保留和失败行为。
  • 目标平台原生安全、平台语义及安全约束优先于视觉源证据时,记录该决策。
  • 分析、实验和持久化状态有批准的责任归属,不暗中改变产品行为。

11. 待解决问题、例外、偏差和生命周期

标题为“11. 待解决问题、例外、偏差和生命周期”的章节
  • 每个待解决问题都有稳定 ID、精确范围、问题描述、负责人、是否阻塞、到期日期或复核关口、安全替代方案及状态。
  • 已回答/关闭的问题关联决策,并更新受影响的源、契约、实现和测试。
  • 例外记录源设计/契约规则中的有意例外;偏差记录实现相对已接受契约的差异。
  • 每个例外/偏差引用受影响需求和精确上下文。
  • 按需说明对用户、无障碍、数据、安全/隐私、性能和维护的影响。
  • 记录替代方案、缓解措施、负责人、审批者、证据、状态和复核/到期日期。
  • 不把未满足 WCAG 2.2 AA 的偏差描述为符合。
  • 临时偏差回到验证环节,只有契约与实现一致且测试通过后才能关闭。
  • 契约接受后的源变更产生新修订版本,或被证明不改变语义。
  • 运行时发现反馈到规范源、契约、组件、样本和回归测试中。

参见交付生命周期。

  • 规范标签注册表、JSON Schema、规则目录、本地化、示例、内容清单和覆盖清单均通过验证。
  • 如实表述 Page Check 范围:107 条规则中,它可报告的规则 ID 共 42 个,其中 40 个自动检查、2 个启发式检查。
  • 单独表述 Check selected section:可报告的规则 ID 共 26 个,其中 24 个自动检查、2 个启发式检查;20 个属于本地范围,6 个属于所选变体比较。
  • 各检查范围之外的规则,按覆盖清单提供结构化、启发式、人工、实现或运行时证据;两个检查范围重叠,不能把数量相加。
  • 无问题的 Page Check 报告不被当作完整 DFC Bridge 或 WCAG 验证。
  • 自动、启发式、人工和运行时结果都注明环境、预期结果、实际结果和证据。
  • 每项适用的验收标准标为 pass、fail、not-applicable、blocked,或关联到接受的偏差。
  • 高风险行为有可重复执行的回归测试覆盖。
  • 发布固定源、契约、规则/schema、目标构建、QA 证据、待解决问题和偏差的修订版本。

为审核范围记录一项决定:

  • 通过 — 所有适用标准已通过,没有剩余阻塞问题;
  • 通过并接受偏差 — 偏差已批准、有缓解措施、有证据且可复核;
  • 阻塞 — 未解决的需求、问题、失败或不安全替代方案阻止交付/发布;
  • 不适用 — 只用于精确排除的范围,不能用于未经审核的部分。

决定必须注明范围、修订版本、审阅者、日期、剩余问题、仍有效的偏差、证据和下一复核点。如果实现关键答案仍需私下口头补充,关口就处于阻塞状态。

放大后滚动查看细节。按 Esc 关闭。