Spectrum Design Data
  • Components
  • Tokens
  • Registry
  • AI
  • Specification
  • Tools
  • Draft Specification (v1.0.0-draft) — This specification is under active development. Normative text and schemas may change before the stable 1.0.0 release.

    Design Data Specification

    Version: 1.0.0-draft
    Status: Draft — normative text and schemas may change before 1.0.0.

    This document is the top-level overview for the Design Data Specification: a machine-readable model for Spectrum design tokens, mode sets, platform manifests, and validation.

    Scope

    The specification defines:

    1. Token format — structured token identity (name), literal value or alias $ref, and lifecycle metadata (Token format).
    2. Taxonomy — concept categories, token term vocabulary, formatting style, and the distinction between component anatomy and token objects (Taxonomy).
    3. Registry — named value collections that supply allowed vocabulary for token name fields and component metadata; three-registry boundary (anatomy-terms, token-objects, categories) and packaging strategy (Registry).
    4. Component format — component declaration shape: API options, named content slots, anatomy parts, state model, and cross-reference validation rules (Component format).
      • Anatomy format — anatomy part declaration shape: field constraints, canonical anatomy vocabulary, and cross-reference rules for token anatomy field values (Anatomy format).
      • State model — state declaration shape: trigger semantics, precedence and resolution algorithm, canonical state vocabulary, and cross-reference rules for token state field values (State model).
    5. Cascade and resolution — layered data (foundation, platform, product), specificity, and how a context picks a winning value (Cascade).
    6. Mode Sets — declared modes, defaults, and coverage expectations (Mode Sets).
    7. Platform manifest — how a platform repo pins foundation data, filters tokens, and applies typed overrides (Manifest).
    8. Semantic diff — change taxonomy, token identity rules, and property-level change tracking for comparing dataset versions (Diff).
    9. Query notation — filter syntax for selecting tokens by structured fields (Query).
    10. Accessibility — component accessibility vocabulary: semantic role, interaction and keyboard intents, focus behavior, WCAG criteria, and state-level AT fields (Accessibility).
      • Accessibility adapters — informative platform adapter contracts: Web/ARIA, iOS UIAccessibility, Android AccessibilityNodeInfo, and voice/multimodal (Accessibility adapters).
    11. Document blocks — typed prose blocks attachable to tokens, components, and anatomy parts; makes design guidance machine-readable and agent-queryable (Document blocks).
    12. Agent-readable surface — operations and transport contracts (CLI, MCP server, Agent Skill) for AI agents consuming spec-conformant design data; covers session primer, token resolution, validation, query, and component description (Agent-readable surface).
    13. Evolution — deprecation lifecycle, migration windows, change classification, and legacy format contract (Evolution).

    Conformance

    The key words MUST, MUST NOT, SHOULD, SHOULD NOT, MAY, and OPTIONAL in this specification are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

    Conformance levels

    Level Meaning
    NORMATIVE Required for a conforming document or tool.
    RECOMMENDED Strong default; deviations SHOULD be documented.
    OPTIONAL May be omitted unless a feature explicitly requires it.

    Validation layers

    Conformance is checked in three layers (all under @adobe/design-data-spec):

    Layer Artifact Responsibility
    1 schemas/*.json Per-instance structural shape (JSON Schema Draft 2020-12).
    2 rules/rules.yaml Semantic rules with stable IDs (e.g. SPEC-001).
    3 conformance/ Fixtures and expected diagnostics for implementors.

    A conforming validator MUST implement Layer 1 for supported document types and SHOULD implement Layer 2 rules whose introduced_in is less than or equal to the validator’s claimed spec version.

    Spec version and SemVer

    This document set carries the spec version 1.0.0-draft. Published artifacts (schemas, rule catalog) are expected to align with Semantic Versioning once 1.0.0 is released: MAJOR for incompatible schema or rule behavior, MINOR for backward-compatible additions, PATCH for clarifications and compatible fixes.

    Full governance (compatibility tiers, migration, CLI --spec-version) is discussed in discussion #735 — Versioning and Evolution.

    Normative references (sibling documents)

    Document Role
    Token format Token name, value / $ref, value types, lifecycle metadata.
    Taxonomy Concept categories, vocabulary, formatting, anatomy vs objects.
    Registry Named value collections for vocabulary validation; three-registry boundary (anatomy, token objects, categories) and packaging.
    Component format Component declaration: options, slots, anatomy (→ anatomy-format.md), states (→ state-model.md), lifecycle.
    Anatomy format Anatomy part declarations: field constraints, canonical vocabulary, SPEC-020/SPEC-023/SPEC-024/SPEC-025.
    State model State declarations: trigger semantics, precedence algorithm, canonical vocabulary, SPEC-022/SPEC-026.
    Cascade Layers, specificity, resolution algorithm.
    Mode Sets Mode set declarations, built-in mode sets, coverage.
    Manifest Platform manifest fields and validation expectations.
    Product context Product-layer context document: rationale, overrides, and extensions.
    Diff Semantic diff change taxonomy, token identity, property changes.
    Query Filter notation for selecting tokens by structured fields.
    Accessibility Component accessibility vocabulary: role, intents, focusable, keyboardIntents, wcag, and state-level AT fields (SPEC-030/031).
    Accessibility adapters Informative platform adapter contracts mapping foundation accessibility vocabulary to Web/ARIA, iOS, Android, and voice surfaces.
    Document blocks Typed prose blocks (purpose, guideline, accessibility, do-dont, examples) attachable to any entity.
    Agent-readable surface Transport contracts (CLI, MCP, Agent Skill) and operation catalog for AI agents consuming spec-conformant design data.
    Evolution Deprecation lifecycle, migration windows, change classification.

    JSON Schema $id and versioning

    NORMATIVE: Canonical schema documents use versioned path $id URIs so major revisions can coexist on the documentation host:

    • Base: https://opensource.adobe.com/spectrum-design-data/schemas/v0/
    • Examples: .../v0/token.schema.json, .../v0/mode-set.schema.json, .../v0/manifest.schema.json

    The v0 segment denotes the draft / pre-1.0 schema family aligned with spec version 1.0.0-draft. A future 1.0.0 stable release MAY introduce v1 paths without reusing v0 URLs for incompatible shapes.

    RECOMMENDED: Each root schema document includes a top-level string property specVersion (const matching this spec’s version label) when the instance is a design-data document that should self-identify; see individual schemas.

    Packaged copies in this repository live under packages/design-data-spec/schemas/; their $id still identifies the canonical published URL above.

    Relationship to existing Adobe packages

    Package / area Relationship
    @adobe/spectrum-tokens Current token JSON under packages/tokens/ is the legacy shape (e.g. color-set, scale-set). This spec defines the target format; backward-compat schemas and migration are Phase 1 (#723).
    @adobe/design-system-registry Registry enums and component metadata MAY be referenced by validation rules (e.g. component association); exact coupling is Layer 2.
    @adobe/spectrum-component-api-schemas Will become a thin adapter over component declarations in packages/design-data-spec/components/ (Phase 6.5). Until migration, existing schemas remain authoritative. Cross-reference rules SPEC-018–SPEC-020 apply when component declarations are present in the dataset.

    Umbrella discussions