{
  "_description": "Generated from data/ — edit the sources, not this file. The agent access guide explains the evidence boundary of every field.",
  "schemaVersion": "1.0.0",
  "kind": "entry",
  "locale": "en",
  "id": "inline-edit",
  "name": {
    "zh": "行内编辑",
    "en": "Inline Edit"
  },
  "page": "https://designvocabulary.com/en/entries/inline-edit/",
  "self": "https://designvocabulary.com/en/entries/inline-edit.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/entries/inline-edit.json",
    "en": "https://designvocabulary.com/en/entries/inline-edit.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 158,
    "index": "https://designvocabulary.com/en/entries/index.json",
    "query": "https://designvocabulary.com/api/query?lang=en",
    "guide": "https://designvocabulary.com/en/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": "Definitions reference these sources. Digital specimens, selection advice, relationships, and recipes are editorial work and have not been validated through user research.",
    "editorialStatus": "sample-reviewed",
    "specimenData": "fictional",
    "specimenNote": "Original fictional specimens. Definitions cite sources; usage advice and recipes are editorial.",
    "sources": [
      {
        "id": "atlassian-inline",
        "url": "https://atlassian.design/components/inline-edit",
        "title": "Atlassian Design · Inline edit",
        "checkedAt": "2026-09-15",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260915165217/https://atlassian.design/components/inline-edit",
          "capturedAt": "2026-09-15T16:52:17Z",
          "lookupUrl": "https://web.archive.org/web/20260915*/https://atlassian.design/components/inline-edit"
        }
      }
    ],
    "lists": [
      {
        "id": "I-C",
        "edition": "classic",
        "seat": 2,
        "origin": "editorial-reconstruction",
        "page": "https://designvocabulary.com/en/lists/I-C/",
        "json": "https://designvocabulary.com/en/lists/I-C.json"
      }
    ],
    "ordered": false,
    "listDisclaimer": "Seat numbers are editorial positions, not scores, rankings, or popularity measurements. A list that is not filled is left as it is."
  },
  "entry": {
    "id": "inline-edit",
    "type": "interaction",
    "name": {
      "zh": "行内编辑",
      "en": "Inline Edit"
    },
    "aliases": [
      "就地编辑",
      "edit-in-place"
    ],
    "granularity": "component",
    "intents": [
      "edit-in-place",
      "configure"
    ],
    "tags": [
      "editing",
      "save",
      "cancel",
      "text",
      "non-modal"
    ],
    "definition": "Replace content in its reading position with an editing control, then return to the reading state when editing is complete.",
    "boundary": "Inline edit is not synonymous with autosave. Save timing, cancellation, and error handling must be specified separately.",
    "signature": [
      "Reading and editing share the same context",
      "Explicit save and cancel actions",
      "Input survives a failure"
    ],
    "when": [
      "Short fields are edited frequently",
      "Nearby content provides useful context"
    ],
    "when_not": [
      "Changes require lengthy explanations or validation across several fields",
      "Clicking outside silently discards input"
    ],
    "tradeoff": "Context stays continuous, but the editing affordance, focus restoration, and save state need careful handling.",
    "comparison": {
      "focus": "Changing content in place",
      "mechanism": "Switching between reading and editing",
      "cost": "Managing unsaved values, validation, and focus"
    },
    "sources": [
      {
        "id": "atlassian-inline",
        "title": "Atlassian Design · Inline edit",
        "url": "https://atlassian.design/components/inline-edit",
        "claim": "The component switches between reading and editing states on the same page.",
        "checkedAt": "2026-09-15",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260915*/https://atlassian.design/components/inline-edit",
          "status": "available",
          "checkedAt": "2026-09-15T16:50:40.136Z",
          "jobId": "spn2-d931b84ec728ee359a86e37a9b3be6dec300eae6",
          "url": "https://web.archive.org/web/20260915165217/https://atlassian.design/components/inline-edit",
          "timestamp": "20260915165217"
        }
      }
    ],
    "relations": [
      {
        "target": "master-detail",
        "kind": "composes_with",
        "condition": "Editing a short field in the current detail view",
        "reason": "Preserves the selected item context.",
        "basis": "editorial"
      },
      {
        "target": "recognition",
        "kind": "composes_with",
        "condition": "Making the edit action discoverable",
        "reason": "Provide an explicit editing affordance.",
        "basis": "editorial"
      }
    ],
    "rules": [
      {
        "when": "Escape or Cancel is used",
        "instruction": "Restore the original value and return focus to the edit control.",
        "strength": "must",
        "basis": "editorial"
      },
      {
        "when": "Saving fails",
        "instruction": "Keep the draft and explain how to recover.",
        "strength": "must",
        "basis": "editorial"
      }
    ],
    "requirements": [
      {
        "fact": "short_field",
        "value": true,
        "reason": "This specimen covers short fields; long forms need a separate evaluation of the editing flow."
      }
    ],
    "behavior": {
      "states": [
        "read",
        "edit",
        "error",
        "saved",
        "cancelled"
      ],
      "a11y": [
        "The edit control has an accessible name",
        "Entering edit mode focuses the input; leaving restores focus"
      ],
      "motion": "None"
    },
    "demo": "inline-edit",
    "version": "0.1.0",
    "editorialStatus": "sample-reviewed",
    "demoCapabilities": [
      "keyboard",
      "reduced_motion"
    ],
    "implementationNote": "Capability tags describe this specimen only; verify the implementation again in a real product.",
    "searchTerms": [
      "编辑",
      "保存",
      "取消",
      "文本",
      "非模态"
    ]
  }
}
