{
  "_description": "本文件由 data/ 生成：请改动来源文件，不要改这里。各字段的证据边界见接入指南。",
  "schemaVersion": "1.0.0",
  "kind": "entry",
  "locale": "zh-CN",
  "id": "skeleton",
  "name": {
    "zh": "骨架屏",
    "en": "Skeleton Screen"
  },
  "page": "https://designvocabulary.com/zh/entries/skeleton/",
  "self": "https://designvocabulary.com/zh/entries/skeleton.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/entries/skeleton.json",
    "en": "https://designvocabulary.com/en/entries/skeleton.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 158,
    "index": "https://designvocabulary.com/zh/entries/index.json",
    "query": "https://designvocabulary.com/api/query?lang=zh",
    "guide": "https://designvocabulary.com/zh/agents/",
    "llms": "https://designvocabulary.com/llms.txt"
  },
  "provenance": {
    "sourceBacked": [
      "entry.definition"
    ],
    "editorial": [
      "entry.boundary",
      "entry.signature",
      "entry.when",
      "entry.when_not",
      "entry.tradeoff",
      "entry.comparison",
      "entry.rules",
      "entry.requirements",
      "entry.relations",
      "entry.implementationNote",
      "entry.behavior"
    ],
    "scope": "定义参考以上来源；数字界面示例、选择建议、条件关系及配方由本样例编辑，尚未经用户研究验证。",
    "editorialStatus": "sample-reviewed",
    "specimenData": "fictional",
    "specimenNote": "示例为原创虚构界面；定义附来源，用法与配方为编辑建议。",
    "sources": [
      {
        "id": "carbon-loading",
        "url": "https://carbondesignsystem.com/patterns/loading-pattern/",
        "title": "Carbon · Loading patterns",
        "checkedAt": "2026-09-15",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260915165155/https://carbondesignsystem.com/patterns/loading-pattern/",
          "capturedAt": "2026-09-15T16:51:55Z",
          "lookupUrl": "https://web.archive.org/web/20260915*/https://carbondesignsystem.com/patterns/loading-pattern/"
        }
      }
    ],
    "lists": [
      {
        "id": "M-C",
        "edition": "classic",
        "seat": 1,
        "origin": "editorial-reconstruction",
        "page": "https://designvocabulary.com/zh/lists/M-C/",
        "json": "https://designvocabulary.com/zh/lists/M-C.json"
      }
    ],
    "ordered": false,
    "listDisclaimer": "席位号是编辑位置，不是评分、排名或人气统计；清单未收满时保持原样，不补足。"
  },
  "entry": {
    "id": "skeleton",
    "type": "micro",
    "name": {
      "zh": "骨架屏",
      "en": "Skeleton Screen"
    },
    "aliases": [
      "Skeleton Loading",
      "加载占位",
      "骨架加载"
    ],
    "granularity": "state",
    "intents": [
      "wait-for-content"
    ],
    "tags": [
      "加载",
      "未知进度",
      "占位",
      "异步",
      "loading"
    ],
    "definition": "内容加载完成前，用与预期内容结构相近的占位形状表示正在加载。",
    "boundary": "占位形状不提供完成百分比，也不能把未获取的数据伪装成真实内容。",
    "signature": [
      "接近最终内容结构",
      "占位而非假数据",
      "加载完成后替换"
    ],
    "when": [
      "内容结构已知，但完成比例不可用",
      "需要为即将出现的内容保留空间"
    ],
    "when_not": [
      "最终内容结构完全不确定",
      "已经失败却继续无限展示加载占位"
    ],
    "tradeoff": "可以预示结构，但需要超时、错误和重试出口。",
    "comparison": {
      "focus": "告诉用户内容正在到来",
      "mechanism": "结构占位",
      "cost": "不表达完成比例"
    },
    "sources": [
      {
        "id": "carbon-loading",
        "title": "Carbon · Loading patterns",
        "url": "https://carbondesignsystem.com/patterns/loading-pattern/",
        "claim": "骨架是初始加载时尚未完成内容的简化组件形状。",
        "checkedAt": "2026-09-15",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260915*/https://carbondesignsystem.com/patterns/loading-pattern/",
          "status": "available",
          "checkedAt": "2026-09-15T16:50:44.269Z",
          "jobId": "spn2-3b0dc711f48ca28755724206ac848b795d3b387d",
          "url": "https://web.archive.org/web/20260915165155/https://carbondesignsystem.com/patterns/loading-pattern/",
          "timestamp": "20260915165155"
        }
      }
    ],
    "relations": [
      {
        "target": "determinate-progress",
        "kind": "alternative",
        "condition": "选择等待反馈方式",
        "reason": "以是否有真实完成量与内容结构判断。",
        "basis": "editorial"
      },
      {
        "target": "calm-technology",
        "kind": "composes_with",
        "condition": "采用静态占位",
        "reason": "状态可见而不持续争夺注意力。",
        "basis": "editorial"
      }
    ],
    "rules": [
      {
        "when": "启用减少动态效果",
        "instruction": "使用静态占位，继续提供文字加载状态。",
        "strength": "must",
        "basis": "editorial"
      },
      {
        "when": "加载失败",
        "instruction": "停止加载状态，提供原因和重试。",
        "strength": "must",
        "basis": "editorial"
      }
    ],
    "requirements": [
      {
        "fact": "known_structure",
        "value": true,
        "reason": "需要知道即将加载的内容结构，才能有意义地占位。"
      }
    ],
    "behavior": {
      "states": [
        "idle",
        "loading",
        "success",
        "error"
      ],
      "a11y": [
        "占位装饰对读屏隐藏",
        "容器提供 busy 状态和文字消息"
      ],
      "motion": "默认静态占位"
    },
    "demo": "skeleton",
    "version": "0.1.0",
    "editorialStatus": "sample-reviewed",
    "demoCapabilities": [
      "keyboard",
      "reduced_motion"
    ],
    "implementationNote": "能力标签只描述本演示；应用到产品时仍须重新验证。",
    "searchTerms": [
      "loading",
      "unknown progress",
      "placeholder",
      "asynchronous",
      "loading"
    ]
  }
}
