{
  "contract": "tessli.public-collection.v2",
  "canonicalPath": "/collections/accessible-colour-tools",
  "representations": {
    "json": "/collections/accessible-colour-tools/collection.json",
    "markdown": "/collections/accessible-colour-tools/collection.md"
  },
  "collection": {
    "id": "collection-accessible-colour-tools",
    "slug": "accessible-colour-tools",
    "title": "Accessible colour tools",
    "description": "Tools for building colour systems, checking contrast, understanding visual-access needs, and evaluating interface accessibility.",
    "outcome": "A colour system that communicates the intended brand while surviving contrast, visual-impairment, component-state, and page-level checks.",
    "audience": "Designers and frontend teams defining or auditing interface colour systems.",
    "stageCount": 3,
    "resourceCount": 10,
    "stages": [
      {
        "order": 1,
        "id": "build-the-system",
        "title": "Build the system",
        "resources": [
          {
            "order": 1,
            "role": "Adobe Color supports early palette exploration and basic accessibility checks.",
            "inspectPrompt": "Generate candidate palettes and scales with explicit accessibility constraints rather than choosing isolated swatches.",
            "decisionPrompt": "Choose the tonal structure and semantic colour roles to prototype.",
            "sourceGuide": {
              "id": "resource-a2f7775b8c79",
              "slug": "adobe-color",
              "name": "Adobe Color",
              "canonicalPath": "/resources/adobe-color",
              "jsonPath": "/resources/adobe-color/profile.json",
              "markdownPath": "/resources/adobe-color/profile.md",
              "providerUrl": "https://color.adobe.com",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://color.adobe.com"
              }
            }
          },
          {
            "order": 2,
            "role": "Leonardo helps generate adaptive, contrast-aware colour systems.",
            "inspectPrompt": "Generate candidate palettes and scales with explicit accessibility constraints rather than choosing isolated swatches.",
            "decisionPrompt": "Choose the tonal structure and semantic colour roles to prototype.",
            "sourceGuide": {
              "id": "resource-fe952dd7c89c",
              "slug": "leonardo",
              "name": "Leonardo",
              "canonicalPath": "/resources/leonardo",
              "jsonPath": "/resources/leonardo/profile.json",
              "markdownPath": "/resources/leonardo/profile.md",
              "providerUrl": "https://leonardocolor.io",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://leonardocolor.io"
              }
            }
          },
          {
            "order": 3,
            "role": "InclusiveColors creates WCAG-aware scales suitable for tokenized interfaces.",
            "inspectPrompt": "Generate candidate palettes and scales with explicit accessibility constraints rather than choosing isolated swatches.",
            "decisionPrompt": "Choose the tonal structure and semantic colour roles to prototype.",
            "sourceGuide": {
              "id": "resource-9b8e899f4893",
              "slug": "inclusivecolors",
              "name": "InclusiveColors",
              "canonicalPath": "/resources/inclusivecolors",
              "jsonPath": "/resources/inclusivecolors/profile.json",
              "markdownPath": "/resources/inclusivecolors/profile.md",
              "providerUrl": "https://www.inclusivecolors.com",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://www.inclusivecolors.com"
              }
            }
          }
        ]
      },
      {
        "order": 2,
        "id": "test-human-impact",
        "title": "Test human impact",
        "resources": [
          {
            "order": 1,
            "role": "Who Can Use translates contrast choices into human-impact context.",
            "inspectPrompt": "Inspect contrast ratios and how combinations affect people with different visual impairments.",
            "decisionPrompt": "Decide which colour pairs and text treatments are safe for the intended content.",
            "sourceGuide": {
              "id": "resource-9aca4d63712d",
              "slug": "who-can-use",
              "name": "Who Can Use",
              "canonicalPath": "/resources/who-can-use",
              "jsonPath": "/resources/who-can-use/profile.json",
              "markdownPath": "/resources/who-can-use/profile.md",
              "providerUrl": "https://www.whocanuse.com",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://www.whocanuse.com"
              }
            }
          },
          {
            "order": 2,
            "role": "WebAIM Contrast Checker provides a focused standards-based foreground/background test.",
            "inspectPrompt": "Inspect contrast ratios and how combinations affect people with different visual impairments.",
            "decisionPrompt": "Decide which colour pairs and text treatments are safe for the intended content.",
            "sourceGuide": {
              "id": "resource-4eee7a21dbf7",
              "slug": "webaim-contrast-checker",
              "name": "WebAIM Contrast Checker",
              "canonicalPath": "/resources/webaim-contrast-checker",
              "jsonPath": "/resources/webaim-contrast-checker/profile.json",
              "markdownPath": "/resources/webaim-contrast-checker/profile.md",
              "providerUrl": "https://webaim.org/resources/contrastchecker",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://webaim.org/resources/contrastchecker"
              }
            }
          },
          {
            "order": 3,
            "role": "Stark supports collaborative accessibility review across design and development tools.",
            "inspectPrompt": "Inspect contrast ratios and how combinations affect people with different visual impairments.",
            "decisionPrompt": "Decide which colour pairs and text treatments are safe for the intended content.",
            "sourceGuide": {
              "id": "resource-b44930562cf2",
              "slug": "stark",
              "name": "Stark",
              "canonicalPath": "/resources/stark",
              "jsonPath": "/resources/stark/profile.json",
              "markdownPath": "/resources/stark/profile.md",
              "providerUrl": "https://www.getstark.co",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://www.getstark.co"
              }
            }
          }
        ]
      },
      {
        "order": 3,
        "id": "verify-in-context",
        "title": "Verify in context",
        "resources": [
          {
            "order": 1,
            "role": "Realtime Colors previews palette and typography choices in a page-like context.",
            "inspectPrompt": "Preview the system on interfaces, then run page- and component-level accessibility checks.",
            "decisionPrompt": "Approve, revise, or reject the colour implementation based on contextual evidence.",
            "sourceGuide": {
              "id": "resource-3cfed5eefb62",
              "slug": "realtime-colors",
              "name": "Realtime Colors",
              "canonicalPath": "/resources/realtime-colors",
              "jsonPath": "/resources/realtime-colors/profile.json",
              "markdownPath": "/resources/realtime-colors/profile.md",
              "providerUrl": "https://realtimecolors.com",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://realtimecolors.com"
              }
            }
          },
          {
            "order": 2,
            "role": "Open Color offers an interface-oriented open colour scale for comparison or adoption.",
            "inspectPrompt": "Preview the system on interfaces, then run page- and component-level accessibility checks.",
            "decisionPrompt": "Approve, revise, or reject the colour implementation based on contextual evidence.",
            "sourceGuide": {
              "id": "resource-06ff97d405dd",
              "slug": "open-color",
              "name": "Open Color",
              "canonicalPath": "/resources/open-color",
              "jsonPath": "/resources/open-color/profile.json",
              "markdownPath": "/resources/open-color/profile.md",
              "providerUrl": "https://yeun.github.io/open-color",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://yeun.github.io/open-color"
              }
            }
          },
          {
            "order": 3,
            "role": "Accessibility Insights supports structured automated and guided implementation checks.",
            "inspectPrompt": "Preview the system on interfaces, then run page- and component-level accessibility checks.",
            "decisionPrompt": "Approve, revise, or reject the colour implementation based on contextual evidence.",
            "sourceGuide": {
              "id": "resource-9829cb4f86f3",
              "slug": "accessibility-insights",
              "name": "Accessibility Insights",
              "canonicalPath": "/resources/accessibility-insights",
              "jsonPath": "/resources/accessibility-insights/profile.json",
              "markdownPath": "/resources/accessibility-insights/profile.md",
              "providerUrl": "https://accessibilityinsights.io",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://accessibilityinsights.io"
              }
            }
          },
          {
            "order": 4,
            "role": "WAVE provides a second page-level evaluation lens for issues automation and visual inspection reveal.",
            "inspectPrompt": "Preview the system on interfaces, then run page- and component-level accessibility checks.",
            "decisionPrompt": "Approve, revise, or reject the colour implementation based on contextual evidence.",
            "sourceGuide": {
              "id": "resource-2f7f7a4aa766",
              "slug": "wave",
              "name": "WAVE",
              "canonicalPath": "/resources/wave",
              "jsonPath": "/resources/wave/profile.json",
              "markdownPath": "/resources/wave/profile.md",
              "providerUrl": "https://wave.webaim.org",
              "accessAction": {
                "kind": "browser",
                "preferred": true,
                "auth": "unknown",
                "agentAction": "Open the canonical provider URL; sign-in and other access requirements are not recorded.",
                "url": "https://wave.webaim.org"
              }
            }
          }
        ]
      }
    ]
  },
  "boundaries": [
    "Collection order is editorial guidance and does not represent popularity, sponsorship, or universal quality.",
    "Repository intelligence is not live-provider verification.",
    "Revalidate provider access, pricing, licensing, terms, availability, and time-sensitive claims.",
    "No browser-local Board, Saved, account, cookie, or credential data is included."
  ]
}
