IBM’s Carbon design system report
Carbon is mature, but critical accessibility behavior is still too easy to implement incorrectly.
How well does Carbon Core stay aligned from design through production?
72.5/ 100
Carbon has mature foundations, but two of three form-task runs failed to connect a visible error to its field for screen readers. Carbon can support agent-assisted form work with human validation, but unattended form implementation would be premature until field errors are explicit and automatically verified.
Evidence boundary: This report distinguishes missing public evidence from a missing capability. When a current result was not found in public sources, IBM may still have it internally and can share it for a re-run.

Foundations
75 / 100
Carbon has mature tokens, themes, and delivery. This study did not find a published result verifying every supported output together.

Bindings
68.75 / 100
Carbon has useful design-to-code mappings, but some Tile and TableRow properties remain disabled, incomplete, or unexplained.

Components
68.75 / 100
Carbon’s components and accessibility guidance are mature, but this study did not find published state and responsive results for the full library.

Structure
75 / 100
Carbon documents grid, composition, pattern, and focus behavior well. This study did not find published results from repeated tests of complete product flows.

Governance
75 / 100
Carbon has clear ownership and operating guidance. This study did not find public trend data showing how those practices perform over time.
FoundationsCarbon has a clear token hierarchy, four supported themes, and published foundation packages.Strong shared values help products stay consistent across brands, themes, and platforms.First confirm whether IBM already checks Figma variables against every released token package and theme. If not, add a release check that blocks unexplained differences and identifies the affected output.
BindingsMost sampled Figma controls map to code, while Tile and TableRow retain unresolved or commented mappings.Unexplained differences make designers, engineers, and agents guess which surface is authoritative.Restore, replace, or explicitly classify unresolved Tile and TableRow mappings. Then fail a release when Figma properties, Code Connect mappings, or released APIs differ without an approved exception.
ComponentsCore components are well documented. The study did not find one current published view of required states, viewports, interactions, and assistive-technology results across the library.Teams need to know that components work in the difficult conditions users actually encounter.Start with one canonical, machine-readable field-error pattern and an automated check that verifies the message is connected to its field. Then define and publish the states, themes, screen sizes, keyboard paths, and assistive-technology checks required across the component library.
StructureCarbon documents reusable layout and product patterns. The study did not find published results from repeated flow tests across states and breakpoints.Products fail at the seams between components, even when each component works by itself.Select the product flows Carbon officially supports and test them end to end across focus, validation, loading, recovery, themes, and screen sizes.
GovernanceContribution, release, migration, and ownership practices are documented and active.Leaders need to see whether reviews move quickly, migrations finish, and quality problems close.Set targets for reviews, migrations, adoption, exceptions, and regressions. Publish the trends and record the staffing or process decision made when a target is missed.Can an AI agent use Carbon Core successfully?
13 of 15 runs produced working software
Foundations✓✓✓100%
Bindings✓✓✓100%
Components✓✓✓100%
Structure×✓×33.3%
Governance✓✓✓100%2 Structure runs failed. The generated validation message was not connected to the field. The implementation displayed an error message after submission, but Carbon TextInput did not reference that message with aria-describedby or aria-errormessage. Assistive technology therefore had no reliable programmatic connection between the Resource name field and its error.
The result supports agent-assisted work with automated tests and human validation. The failed run means it is not yet evidence for unattended use.
How Carbon Core can get better
Make accessible field errors reliable for people and agents.
- Problem
- Two of three agent runs displayed a validation message without programmatically connecting it to the Carbon TextInput.
- Action
- Publish one canonical, machine-readable field-error pattern, enforce the field-to-error relationship in automated accessibility tests across supported form flows, then repeat the controlled task.
- Owner
- Carbon component, accessibility, documentation, and developer-experience teams
- Finish line
- Supported form tests and three new controlled runs connect every visible error to its field and pass interaction and accessibility checks.
- Save for the next evaluation
- Published guidance, machine-readable examples, runtime test results, and accessibility output
- Decision enabled
- Whether Carbon field-error guidance is reliable enough for agent-assisted form work and people using assistive technology.
Keep Figma and released code aligned before changes ship.
- Problem
- This study did not find a published result from one automated check spanning Figma variables, token packages, component properties, Code Connect mappings, and approved exceptions. IBM may already run parts of this check internally.
- Action
- Generate a versioned manifest of Figma variables and properties, DTCG token files, released packages, Code Connect mappings, typed component APIs, and approved exceptions. Compare it in release CI and block any unexplained difference.
- Owner
- Carbon foundations, Figma library, React, Code Connect, and build-infrastructure teams
- Finish line
- A seeded mismatch fails the release check and identifies the exact surface, property, or token involved.
- Save for the next evaluation
- CI results, compatibility reports, coverage, drift trends, and approved exceptions
- Decision enabled
- Whether a Figma, token, mapping, or component API change is safe to release.
Test complete product experiences across the whole system.
- Problem
- This study did not find one published coverage view spanning component states, screen sizes, assistive technology, layout rules, and end-to-end product flows. IBM may already run some or all of these checks internally.
- Action
- List the states, themes, screen sizes, keyboard paths, assistive-technology checks, and layout rules required for each supported component and flow. Run that checklist in CI and publish the current pass, failure, and exception results.
- Owner
- Carbon component, pattern, accessibility, product, and quality teams
- Finish line
- Required components, states, flows, themes, and breakpoints pass with current results and owned exceptions.
- Save for the next evaluation
- Component quality matrix, flow results, accessibility output, viewport coverage, and exception register
- Decision enabled
- Whether a supported component or product flow is ready across Carbon's promised conditions.
Use operating results to decide where Carbon needs investment.
- Problem
- This study did not find public trend data for adoption, migrations, exceptions, review speed, or quality. IBM may track these internally; sharing current results would allow them to be assessed in a re-run.
- Action
- For each quarterly review, publish the target, current result, trend, accountable owner, and next action for reviews, migrations, adoption, exceptions, and regressions. Record the staffing or process decision made when a target is missed.
- Owner
- Carbon governance, program, release, and design-infrastructure leadership
- Finish line
- The team can show clear trends for adoption, exceptions, migrations, review speed, and quality.
- Save for the next evaluation
- A metrics pack with baselines, targets, trends, owners, and follow-up decisions
- Decision enabled
- Where leadership should invest, delay a migration, or change staffing, ownership, or process.
The bottom line
Carbon is a mature design system with clear product value. The highest-value next work is to publish one canonical, machine-readable field-error pattern and enforce it in automated tests across supported forms. Carbon can then apply the same approach to other critical states and complete product flows, block unexplained Figma-to-code differences before release, and measure whether migrations and quality work succeed in practice.
Access the evidence
Review the scoring method, criterion-level rationales, citations, and downloadable study files.