{
  "name": "HTML Artifact Collaboration Checklist 2026",
  "version": "1.8",
  "canonical_url": "https://www.html-docs.com/guides/html-artifact-collaboration-checklist",
  "author": "Raunaq Naidu",
  "publisher": "HTML Docs",
  "date_published": "2026-08-04",
  "date_modified": "2026-08-23",
  "audit_template_url": "https://www.html-docs.com/research/html-artifact-collaboration-audit-template-2026.md",
  "audit_schema_url": "https://www.html-docs.com/research/html-artifact-collaboration-audit-schema-2026.json",
  "audit_example_url": "https://www.html-docs.com/research/html-artifact-collaboration-audit-example-2026.json",
  "score": {
    "maximum": 30,
    "per_criterion": {
      "2": "Reproducible pass",
      "1": "Documented workaround",
      "0": "Missing or unverified"
    },
    "interpretation": [
      { "range": "26-30", "label": "Collaboration-ready" },
      { "range": "17-25", "label": "Shareable with gaps" },
      { "range": "0-16", "label": "Fragile handoff" }
    ]
  },
  "methodology": [
    "Use one representative artifact containing headings, a table, a link, an image with alternative text, and one browser interaction.",
    "Repeat the workflow as publisher, signed-out reviewer, and API, CLI, or MCP client.",
    "Record the tested URL, date, screenshot or response, and documentation link for every result.",
    "Award 2 for a reproducible pass, 1 for a documented workaround, and 0 when the capability is missing or unverified."
  ],
  "criteria": [
    {
      "id": "A1",
      "category": "Access",
      "criterion": "Stable HTTPS URL",
      "pass_signal": "The artifact opens at one durable HTTPS URL after revisions.",
      "evidence_test": "Save the URL, publish a revision, and confirm the original URL still resolves.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "A2",
      "category": "Access",
      "criterion": "Explicit access mode",
      "pass_signal": "Public, unlisted, and restricted states are distinguishable before sharing.",
      "evidence_test": "Record the selected state and test it in a signed-out browser.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "A3",
      "category": "Access",
      "criterion": "Rendered browser view",
      "pass_signal": "A reviewer can use the artifact without downloading or running local files.",
      "evidence_test": "Open the link on a second device and test its primary interaction.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "R1",
      "category": "Review",
      "criterion": "Contextual feedback",
      "pass_signal": "Feedback can point to a section, element, or selected passage.",
      "evidence_test": "Leave a comment on one specific part and confirm its context survives reload.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "R2",
      "category": "Review",
      "criterion": "Resolvable discussion",
      "pass_signal": "Comments support replies and an explicit resolved or reopened state.",
      "evidence_test": "Reply, resolve the thread, reload, and reopen it.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "R3",
      "category": "Review",
      "criterion": "Version recovery",
      "pass_signal": "Prior versions are identifiable and can be inspected or restored.",
      "evidence_test": "Make two changes, identify both versions, and restore the first.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "G1",
      "category": "Agent continuity",
      "criterion": "Machine-readable state",
      "pass_signal": "A documented interface can read the artifact and its review state.",
      "evidence_test": "Save one successful API, CLI, or MCP response and its documentation URL.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "G2",
      "category": "Agent continuity",
      "criterion": "Scoped updates",
      "pass_signal": "Automation can update a defined region without republishing unrelated content.",
      "evidence_test": "Change one region and confirm an unrelated region is byte-for-byte unchanged.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "G3",
      "category": "Agent continuity",
      "criterion": "Durable identifiers",
      "pass_signal": "The document and editable regions keep stable identifiers across revisions.",
      "evidence_test": "Compare identifiers before and after an update and record any remapping.",
      "score_max": 2,
      "source_url": null
    },
    {
      "id": "G4",
      "category": "Agent continuity",
      "criterion": "Concurrent update safety",
      "pass_signal": "Parallel edits merge safely or a stale write is rejected before it overwrites newer work.",
      "evidence_test": "Open two clients at the same revision, save independent edits, then attempt one stale write and confirm the system preserves both accepted changes or surfaces an explicit conflict.",
      "score_max": 2,
      "source_url": "https://www.rfc-editor.org/rfc/rfc9110.html#section-13"
    },
    {
      "id": "P1",
      "category": "Provenance",
      "criterion": "Authorship and revision provenance",
      "pass_signal": "Each tested revision records a stable identifier, generation time, and responsible human or software agent.",
      "evidence_test": "Publish one change, then save the revision identifier, timestamp, and attributable actor or agent from the UI or machine-readable history.",
      "score_max": 2,
      "source_url": "https://www.w3.org/TR/prov-o/"
    },
    {
      "id": "T1",
      "category": "Trust and discovery",
      "criterion": "Indexing intent",
      "pass_signal": "Canonical URL and index or noindex intent are visible and consistent.",
      "evidence_test": "Inspect the canonical link and robots directive on the rendered page.",
      "score_max": 2,
      "source_url": "https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls"
    },
    {
      "id": "T2",
      "category": "Trust and discovery",
      "criterion": "Share preview metadata",
      "pass_signal": "Title, description, image, and canonical page URL are declared for sharing.",
      "evidence_test": "Inspect the Open Graph properties and validate the image URL.",
      "score_max": 2,
      "source_url": "https://ogp.me/"
    },
    {
      "id": "T3",
      "category": "Trust and discovery",
      "criterion": "Accessible reading path",
      "pass_signal": "Headings, landmarks, keyboard use, contrast, and text alternatives are tested.",
      "evidence_test": "Run keyboard and automated checks, then record remaining manual findings.",
      "score_max": 2,
      "source_url": "https://www.w3.org/TR/WCAG22/"
    },
    {
      "id": "T4",
      "category": "Trust and discovery",
      "criterion": "Active content boundary",
      "pass_signal": "Scripts and embedded resources run inside a documented security boundary.",
      "evidence_test": "Record the content policy or isolation model and test one blocked resource.",
      "score_max": 2,
      "source_url": "https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html"
    }
  ]
}
