WebAble
Field notes

September 15, 2025 · 5 min read

The web was built for the median user.

Standards, frameworks, and design systems all optimize for the same imaginary person, and that person is a smaller share of the audience than anyone wants to admit.

Walk through any design system documentation and the implied user is the same person. Mid-twenties to mid-forties. Full vision, full hearing, full motor control. Reads English at speed. Uses a fast laptop with a trackpad. No cognitive friction, no fatigue, no caregiving distractions, no chronic pain, no environmental noise. Everything is normalized around this imaginary person.

The trouble with median users is that they don’t exist. Real audiences are distributions. Once you account for permanent disability, temporary impairment, situational constraint, language fluency, and the everyday fluctuations of attention and energy, the share of any given audience that actually matches the design-system fiction is much smaller than the design-system author assumes.

What “adaptive” actually has to mean

The standard response to this is the responsive-design model: design for many viewport sizes. That’s a partial fix at best. Viewport size is one axis out of many. The harder axes are the ones design teams don’t see:

  • Reading speed and reading fatigue.
  • Cognitive load and attention budget on the day in question.
  • Pointer accuracy and travel cost.
  • Sensitivity to motion, contrast, color, sound.
  • Familiarity with the language the page is written in.

Designing for a single point on each of those axes is fast. Designing for the distribution is hard. The web has been deferring this for a long time.

What we’re betting on

The bet underneath WebAble is that the adjustment doesn’t have to happen at design time. It can happen at use time, in the browser, per user: automatically when the system has enough signal, manually when it doesn’t. The site stays one design. The user gets the variant that works for them.

That’s a model the design system can’t deliver on its own, because the design system doesn’t know who’s on the other end. The browser does. Which is why we built there.

The smaller point underneath

If the median user doesn’t exist, the polite framing of accessibility (“designing for everyone”) is undersold. It’s not generosity. It’s the actual definition of the job. Designing for the people you imagined isn’t designing for users; it’s designing for an internal stakeholder. The user is somebody else.