Image description: a designer at a standing desk seen from behind, dual monitors showing a design-system component library with focus states — the visual marker for the at-scale accessibility designer profile.
Reading Time: 10 minutes
Editor’s note. The designer profiled here is a composite. “Maya Okafor” is not a single real person; the biography is stitched from on-record interviews with five senior accessibility-design leads who, between 2019 and 2025, ran multi-quarter accessibility programs at consumer-internet companies with user bases in the approx. 80-million-to-300-million range. Every number, every artefact, every defeat in the timeline below is real and is drawn from one of the five practitioners; the synthesis — the arc of one career through one program — is the editorial liberty.
The product is also disguised. What we name precisely is its scale (approx. 200 million monthly active users at the start, approx. 240 million by the close), its stack (a React-and-TypeScript front end with native iOS and Android apps sharing the same design language), and the design-system surface area Maya inherited (approx. 410 components, of which approx. 90 were “primary”). Those are the variables that govern the difficulty of the job.
The Monday she walked in
Maya Okafor joined the company on a wet Monday in late January 2022 as a Staff Product Designer on the Design Systems team. She was thirty-four. She had spent the previous six years at a large publisher’s digital arm, where she had become — almost by accident — the one who knew what a focus ring should look like and why the brand-mandated 2.6:1 contrast ratio on tertiary buttons was not, in fact, fine. She had no formal accessibility credentials. She always said she had learned everything she knew the hard way: by being the designer on the call when a screen-reader user filed a support ticket and nobody else knew how to reproduce the problem.
There was no accessibility mandate at the new company. There was no accessibility team. There was an Accessibility Working Group, which met every other Wednesday at 4 pm Pacific and which had, on Maya’s first Wednesday, six attendees. It had a Confluence page last updated in 2020, a Slack channel with approx. 140 members and three messages a week, and — Maya later realized — exactly one piece of leverage: a backlog of forty-one open accessibility-related support tickets, of which seven were from a single disability-rights organization that had been emailing the company quarterly since 2019.
”The first thing I did was read every one of those forty-one tickets. The second thing I did was print them out and put them in a binder. Not because anyone needed a binder — because I needed a physical object to put on a VP’s desk in three months when the conversation got hard.”
Maya Okafor, composite, on her first month
Building the case: complaint volume, legal exposure, market share
The first three months were not design work. They were forensic work. Maya did three things in parallel.
She quantified the complaint pipeline. Working with Support, she pulled every ticket from the last twenty-four months containing any of a dozen flag terms — “screen reader”, “VoiceOver”, “TalkBack”, “JAWS”, “NVDA”, “contrast”, “keyboard only”, “WCAG”, “ADA”, “EAA”, “I can’t read”. She found approx. 1,470 distinct complaints, of which approx. 280 were unresolved older than ninety days. She mapped them to product surfaces: approx. 38 percent on checkout, approx. 22 percent on messaging, approx. 14 percent on profile-creation, approx. 9 percent on the video player. That distribution would, six months later, decide which components got rewritten first.
She quantified the legal exposure. The company had been named in two ADA Title III lawsuits in the previous eighteen months, both settled. Maya could not see the settlement numbers — Legal would not give them to her — but she could see the litigation-frequency curve in the public docket for her sector. She built a spreadsheet that took the company’s exposure surface and produced a range estimate of expected annual settlement-plus-remediation cost on a do-nothing trajectory. The midpoint of that range was several million dollars per year.
She quantified the market opportunity. This was the line that moved the room. Maya supplemented the company’s user-research data with the WebAIM screen-reader user survey, the CDC disability statistics, and Eurostat disability prevalence figures for the EU markets the product served. She produced a single slide: of the company’s approx. 200 million monthly users, somewhere between 14 and 22 million were estimated to be using the product with some form of assistive technology or non-default settings. Analytics showed this segment churned at approx. 1.8 times the rate of the overall base. If retention on this segment could be brought to parity, the net annual revenue impact was a number Finance recognized.
”I never showed Legal’s number to Marketing, and I never showed Marketing’s number to Legal. To each of them I showed the number that mattered to them. To the CFO I showed both, on one slide, side by side. That was the meeting where the program got funded.”
Maya Okafor, composite, on the funding case
The program was approved at the end of Q2 2022. Headcount: seven, ramping to eleven over twelve months — three designers, four engineers, two QA specialists, one program manager, one researcher with disability-community recruiting experience. Budget for external testing partnerships: a six-figure annual line. Authority: sign-off on any new design-system component, with veto power on components that failed an accessibility checklist. That last clause — the veto — was the one Maya negotiated hardest. It was the difference between a program and a permission-asking exercise.
The design-system overhaul: tokens, focus, motion
The technical work began in Q3 2022 and ran for the next fourteen months. Maya structured it in three tranches, which she called — in slides and in standups — Foundations, Components, Patterns. The discipline of that ordering, she said often, was the single most important architectural decision of the program.
Tranche 1 — Foundations
The first six months rebuilt the design tokens. The legacy system had approx. 84 colour tokens with no semantic naming — “Blue/600”, “Grey/400”, “Brand/Primary” — and no contrast metadata. Maya’s team replaced them with a semantic palette of approx. 40 tokens organized by function: content-primary, content-secondary, surface-base, border-default, plus an interactive ladder (action-primary, action-primary-hover, action-primary-pressed) and a status ladder. Every token carried, in its metadata, the contrast ratio against the surface it was approved to sit on, and a flag for which WCAG conformance level it cleared. The tooling enforced this: a designer could not assign content-tertiary on top of surface-base in Figma without the linter flagging it.
The same tranche standardized the focus ring. The legacy components had — Maya counted — approx. seventeen different focus-ring treatments, ranging from a 1-pixel dotted outline that disappeared on light backgrounds to a 2-pixel solid blue ring that broke the layout on tightly packed lists. The new ring was a single token: a 2-pixel outline offset by a 2-pixel transparent gap from the component edge so the ring read against any surface. Every interactive component picked it up by default; there was no opt-out.
Motion preferences were the third foundation. The legacy system honored prefers-reduced-motion in approx. one place — a single onboarding animation — and the native apps honored it nowhere. The new foundation made motion a token, with three values (none, reduced, full) plumbed through every animation primitive. A designer who tried to override the preference had to attach a written justification that the program lead reviewed.
Tranche 2 — Components
With the foundations stable, the team turned to the approx. 90 primary components. The list was ordered by the complaint-pipeline data Maya had pulled in month one: checkout first, then messaging, then profile, then video. Each component went through a standardized rebuild: keyboard navigation map, screen-reader semantics, focus order, contrast verification at every state, reduced-motion variant, RTL variant, and — Maya’s insistence — a documented test fixture the QA team could run on every release.
The credit-card-input field, in its old form, had been a single <input> with auto-formatting JavaScript that broke screen-reader announcement of typed characters; the rebuild used four separate inputs with explicit labels, errors tied via aria-describedby, and inline validation announced through a polite live region. It took six weeks for one designer and one engineer. The checkout-related accessibility tickets fell by approx. 70 percent the following quarter — because most of the new tickets simply stopped being filed.
Tranche 3 — Patterns
The final tranche was the one Maya described as the easiest in execution and the hardest in coordination. The team documented composition patterns — how to build an accessible modal flow on top of the rebuilt components; how to compose a list of items with mixed media; how to structure a settings page so the navigation worked under voice control. The patterns went into the design-system documentation site as runnable code examples. The hard part was not writing them. The hard part was getting every product team to use them instead of inventing their own.
The engineering rollout
A redesigned design system is a library; it is not, by itself, a rollout. The hardest project-management work of the program — Maya was unequivocal on this — was the migration. The product had approx. forty squads, each owning two-to-five surfaces, each free in practice to consume the design system at whatever cadence its roadmap allowed. A naïve plan would have asked every squad to migrate within a quarter. That plan would have failed.
Maya’s solution was a graduated mandate. The new components shipped as the default; the old ones remained behind a feature flag, but every release of a surface still using a legacy component would automatically open a P2 ticket on that squad’s backlog. The ticket would auto-escalate to P1 after ninety days and to P0 after one hundred and eighty. Within four quarters, approx. 78 percent of legacy primary-component usage had migrated. Within six quarters, that figure was approx. 94 percent.
”The hard part wasn’t the design system. The hard part was a forty-squad org chart and a budget cycle that wasn’t built for it. The components were three months of work. The rollout was three years.”
Maya Okafor, composite, on the migration
What the program cost — and what it returned
Maya was scrupulous about tracking. By the time the program closed its formal phase in Q4 2024, the spend totalled — across two and a half years, eleven dedicated headcount and external testing — somewhere in the high single-digit millions. The accessibility-related ticket inflow was down approx. 73 percent against the 2022 baseline, despite a user base that had grown by approx. 20 percent. The two ADA-related legal matters opened during the program window were both closed without proceeding to court, on terms the company described in its annual filings as immaterial. The product’s retention on the assistive-technology user segment — the segment Maya had identified in the funding pitch — had narrowed from a 1.8x churn ratio against the overall base to approx. 1.15x. Finance booked the difference. Maya did not say what the number was.
She also booked things that don’t appear in the spreadsheet. The native iOS app’s VoiceOver rotor support, which had been famously broken for years, became — in an independent audit in early 2025 — one of the best-performing in its sector. The high-contrast theme Maya had pushed for over brand-team objection became the default in regions where local regulators began enforcing the EAA. The design-system documentation site, viewed approx. 4,000 times a month at the start of 2022, was averaging approx. 38,000 monthly page views by mid-2025. A practice had been built; it would outlive her tenure.
What she tells designers at smaller orgs
By 2025, Maya was doing fewer ICU shifts on her own product and more advisory work for designers at companies an order of magnitude smaller — twenty-person product teams, fifty-person product teams, the size of org where a single designer has to be the accessibility lead by default. She had a small set of things she said in every coffee meeting. They are worth listing.
One. The complaint pipeline is the lever. You do not need a million users to have a complaint pipeline; you need a Support inbox and a willingness to read it. Print the tickets. Put them in a binder. Take the binder to the meeting. The binder works.
Two. The funding case has three columns. Legal exposure, market opportunity, and complaint volume. You don’t need exact numbers on any of the three. You need the same person to see all three in one place, because no single column carries the room.
Three. Foundations before components, components before patterns. A team that starts by rewriting components first will spend a year doing it and arrive with a beautiful component library on top of an unsemantic colour palette, and the next designer will rewrite everything again.
Four. Negotiate the veto. The single biggest leverage point in a multi-team product company is the ability to say “this new component does not ship until it passes the checklist.” The veto, deployed twice in two years, is sufficient. It is the credibility of the veto, not its frequency, that does the work.
Five. Hire the researcher with disability-community recruiting experience. The single line in Maya’s program budget she would defend hardest was the researcher’s seat. Without disabled users in the loop, the work is theatre.
Six. The clock on the legacy components is non-negotiable. Migrations without clocks do not happen. Migrations with clocks happen at the pace the clock allows.
Seven. Take the win and leave. Maya stepped off the program in Q1 2025 and moved to advisory. The founder of an accessibility program is the wrong person to run it in steady state. The founder’s job is to make the program exist. The steady-state job is to be boring. Different temperament; different person.
A note on the binder
Maya still has the binder. She brings it out at conferences sometimes, when a senior designer asks her — usually with embarrassment, often after a panel — what to do about their own forty-one open tickets. The binder is half an inch thick. The sticker on the cover says, in a sans-serif handwriting Maya bought in a craft shop in 2022, “Day One”. The forty-one tickets in it have all been closed. The names of the people who filed them are redacted in black marker. She does not show the names. She shows the pages, and she says: this is what the work looks like, and this is where it starts.