OneSpan Design System: Accessibility at Scale

Hired to unify a fragmented multi-app portfolio into a single design system โ€” then had to adapt strategy when engineering buy-in stalled.

Sticker sheet of UI components
Sticker sheet of UI components

Impact

400K+

Component insertions across UX team's design mockups.

~100

Standardized components.

~70

Documented releases with version control.

The Mandate โ€” and the Gap

I was hired specifically to build OneSpan's design system โ€” which meant the executive mandate existed, but the organizational alignment didn't. Engineering buy-in was never guaranteed, and closing that gap became as much of the job as building the system itself.

Discovery First

Before touching a component, I audited OneSpan's products to map the problem space:

Leadership already had ADA compliance on their radar โ€” our resident accessibility expert conducted regular audits and filed bug reports continuously. The audit gave me the data to prioritize which gaps to close first and to frame the system as risk mitigation, not just a design efficiency play.

Some of OneSpanโ€™s patchwork of products
Some of OneSpanโ€™s patchwork of products

Opinionated by Design

The most important product decisions weren't about what to include โ€” they were about what to exclude and what to enforce.

Knowing that accessibility knowledge varied widely across the team, I built the system so that the accessible path was the path of least resistance:

These weren't aesthetic choices. They were guardrails that made doing the right thing easier than doing the wrong thing.

Components built with colours that meet WCAG 2.1 AA standards
Components built with colours that meet WCAG 2.1 AA standards

Stress Testing the System

I validated the library's flexibility by running workshops where designers used it to rebuild complex external interfaces โ€” including Twitter. Edge cases surfaced immediately, component gaps were identified fast, and designers learned to work within principled constraints without reverting to old habits.

Twitter page cloned with Onespan's design system
Twitter page cloned with Onespan's design system

When Buy-In Stalls, Adapt

Despite four years of demonstrated ROI in design velocity and risk mitigation, I couldn't close the gap to a company-wide engineering rollout. Leadership remained focused on short-term features over long-term infrastructure โ€” a familiar tension.

Rather than stall, I pivoted scope. I refocused the system on maximizing the UX team's internal efficiency, which delivered 400K+ component insertions without a mirrored code library. Not the outcome I was hired for โ€” but the best outcome available within the constraint.

The lesson: organizational buy-in is a product problem, not a design problem. A system nobody uses is a system that didn't ship.

Let's connect

I'm always up for a chat about design, working together, and .