跳到主要内容
文心 · 万形

形态适配

同一个灵魂在不同容器里的取值差异。 这不是九套设计,是一套设计的九次落地。

为什么需要这一层

网页可以有动效,印刷品不能;屏幕用 rem,印刷用 pt;文档站需要侧栏和搜索, 海报需要固定画布和安全区。这些差异是媒介强制的,不是风格选择。

把它们集中记录,好处是:当你在做一份报告时,不必重新推导"报告该用什么动效强度"—— 查表即可。

决策对照表

形态轨道动效被强制的关键决定
网页文章阅读轨E9-1响应式画布,暗色模式必需
移动端应用轨E9-1触控 ≥44pt,安全区,分组列表合法
品牌阅读轨E9-2多尺寸标识,唯一允许品牌呼吸
印刷阅读轨E8pt 字号,CMYK 映射,无暗色模式
幻灯阅读轨E9-116:9 固定,≤80 字/页,键盘导航
文档站阅读轨E9-0侧栏 + 目录 + 搜索,可到三轨布局
海报阅读轨E9-1固定画布,accent 预算分配到标题与印
图表阅读轨E9-0节点与边分离,无自动布局
报告阅读轨E9-0图必须编号,摘要 / 发现 / 建议三段

跨形态不变的

无论哪个容器,这些都不变——它们就是不变之魂:

  • 暖土色域与单一 accent(D9)
  • 阅读轨内容页 ≤2 处 accent;应用轨按页面任务与合同分配强调
  • 无卡片、无阴影、无渐变(A9)
  • WCAG AA 底线
  • token 词汇表

印刷是最有意思的约束

印刷形态强制 E8——结构上不可能有动效, 不是"建议不要用"。这在 CSS 里是一条硬规则而非约定, 也正好匹配审计器已有的断言。

印刷还强制一套独立的 pt 字号 token(--print-text-*),因为 1pt = 1/72 英寸是物理长度,与屏幕的 rem 没有换算关系。这是三层 token 架构里 形态级那一层存在的理由。

渲染合同

需要审计的产出页面携带一份机器可读的合同,声明形态、轨道、动效预算和结构要求。 渲染合同规范保留唯一的完整、可运行样例: 从那里复制整份 HTML,再替换项目名、slug 与形态;不要把几段 JSON 片段拼成一份“看起来像合同”的页面。

npm run audit -- dist/<slug>/index.html

它核验合同、HTML DOM、内联 <style> 与 style 属性中的可执行子集。 有外链样式表时会明确报告未检查范围;hardGates 为空不是浏览器视觉、辅助技术或人工仲裁都已通过。

审计器已自测,不等于审计了你的页面

npm run check:render-audit 运行一份合规夹具,以及缺少主地标、非法轨道和错误阅读轨 CTA 的故意缺陷。 这证明审计器会抓这些规则;消费者仍须在自己的输出目录运行它,并完成浏览器与人工检查。