|

CEMEX Design System

Design Systems

Accessibility

Bringing accessibility into a design system, in Figma and in code

When new European rules made WCAG a priority, I led the design side of the accessibility upgrade and implemented the changes in the component library.

Role

Product Designer & UX Engineer

Timeline

Mar 2024 – Jan 2026

Team

2 designers, 2 developers

Tools

Figma

Angular

Jira

WCAG

Problem

Public sites had to meet WCAG

CEMEX’s design system, Figma components plus an Angular library, powers public sites like cemex.com and internal platforms. An accessibility gap in one component shows up everywhere it is used.

In June 2025, ahead of new European accessibility rules, meeting WCAG became a high-priority workstream, with a short time frame and one constraint: keep CEMEX’s visual identity.

An early contrast check on the existing palette.

The strategy

Fix it at the source, in Figma and in code

We fixed accessibility where it starts: in the color tokens, component variants and interaction states that pages inherit from the system.

I worked on both sides, so I could take each fix from Figma into the Angular library and ship it through code review.

Process

Audit, document, rebuild, implement

I led the design side with a support designer, working with 2 developers in Monterrey and Europe.

1. Audit

25+ web and Figma components, checked for contrast, spacing, keyboard navigation and screen readers.

2. Document

40+ findings, categorized and prioritized.

3. Rebuild

Tokens, variants, properties and interaction states, with dev and QA.

4. Implement

New tokens and keyboard navigation, in the library code.

Findings

40+ findings, sorted by impact

A sample of what the audit found. Most issues were color contrast and keyboard access.

Component

What the audit found

Proposed fix

Disabled link button

Text at 1.45:1 (#D6D6D6 on white).

gray50 (#666666): 5.74:1.

Warning badge

White text on #FBB03B: 1.85:1.

Dark text (#333333): 6.84:1.

Saved filter tags

Not reachable with Tab and not announced by screen readers.

Keyboard focus, plus accessible labels and roles.

Tooltip

Opened only with a mouse.

Opens and reads on keyboard focus.

Key decisions

Decision 1

Disabled text stays readable.

Why

A disabled button still has to say what it does. At 1.45:1, people couldn’t read it.

Principle

Information Scent

Evidence

Disabled text moved to gray50 (#666666): 5.74:1, above WCAG AA.

Decision 2

If you can click it, you can reach it with the keyboard.

Why

Saved filters, tags and tooltips worked only with a mouse, so keyboard and screen reader users were left out.

Principle

Interaction Cost

Evidence

I implemented keyboard navigation in the library code.

Iteration

Same brand, readable shades

We started with a contrast exercise over the existing palette. Where a color failed, we adjusted the shade or its background instead of replacing it, so the brand stayed recognizable. Then we applied the new palette and naming conventions to every component.

Before

Before: warning100 (#C47A04) on warning10, 3.14:1.

After

After: a darker warning100 (#6C4609) on white, 8.34:1.

Impact

Key components meet WCAG AA contrast

Measured

4.5:1+

contrast in key components, up from as low as 1.45:1

40+

accessibility findings, documented and prioritized

Qualitative

Presented the findings and progress to CEMEX’s Global UX Lead.

Designed to lower the risk of sanctions under the new European rules and to make components easier to scale. Not measured.

Results describe the audit and the system changes. Adoption and time saved were not measured.

What I learned

1

Most findings were color contrast and keyboard gaps, and both could be fixed in tokens and interaction states.

2

Accessibility review works best as a standard step in every component update, not a one-time audit.

Contact

Let’s talk about what you’re building next.

Based in Monterrey, ready to relocate to Mexico City.

juanascript@gmail.com

Next step

Tell me about your users.