Font Size: No Happy Medium

November 26, 2003 11AM PST

If there’s one thing nobody can agree on, it’s how to treat your text size. Pixels aren’t scalable within the most common browser on the market, and if you do everything you can to support relative units, you will still get people complaining that you are using text that’s too small, or too big, or too low in contrast, or too high in contrast. A designer can do his or her best to find a happy medium, but someone will always speak up:

Please see

I have. Why? The only point on that list that I might be breaking is “Avoid sizes in em smaller than 1em for text body” — a pretty good success rate.

Because your fonts are tiny!

CTRL + ‘+’ ? Or CTRL + ‘scroll wheel’? I’m using relative sizing specifically for cases like this. Besides, my text is a pretty common size…

Of course I know how to adjust font size in my browser quickly. Doing it all the time is annoying though.

My fonts are based on your default browser size. If you bump that up, they scale accordingly. So is this my problem, or, perhaps, yours?

And what about thin users who think that IE ‘is the internet’?

My site is not for them. I have a target audience; what do mom & pop care about CSS, after all?

Perhaps your site is not for them, but, in my opinion, ALL websites should be accessible to ANYONE, ANYWHERE. My opinion of course.

Then read [above] again. My target audience is not clueless newbie. But they are able to view it all the same — not only are my fonts scalable, the rest of my site complies with Section 508 and the better half of WAI’s AAA. In fact, it would be single A if it weren’t for FIR; other than that it’s kosher. Even IE can scale my fonts just fine, and it renders the site well.

I really have a hard time understanding what your problem is — if you don’t want to hit CTRL + ‘+’ just say so, and don’t cloak it behind misdirected accessibility concern. This isn’t an accessibility problem, it’s a convenience problem, n’est-ce pas?

Okay, a rather contentious way to start off the day. But something I’m hearing more often than I’d like is the opinion that text size should be left alone; a user’s default font size shouldn’t be messed with. This is an idealist view, and not at all representative of how the world works.

Built into that viewpoint is the naïve, or willfully ignorant assumption that all users are a) aware of this setting, and b) have changed it to suit their preference. Even the low percentage of the population that know they can do this generally won’t; too many existing pages rely on a 16px default font size. The majority, believe it or not, would bump their default down a size or two. 16px is too big for most people.

If it helps, don’t consider this issue on a site-by-site basis, consider it on a web-as-a-whole basis. Bump your font size down a setting or two, and start loading some common sites. Microsoft. CNN. Yahoo. This site, even. All become less legible, since they assume a starting point of 16px. And they assume because people don’t, as a general rule, screw with the default font size.

Let’s ignore Internet Explorer for a second. Browsers like Firebird and Safari allow a quick adjust. If, as a user, I visit a site that uses a text size I can’t read, I can hit CTRL + ‘+’ a few times until it’s legible. Done, and my fonts are now bigger for every other site. The fact is that my browser allows me to compensate in different ways; I can even whip up a custom user style sheet to customize each site I care to, if I wish.

Which places the legibility issue in a grey area somewhere between designer and user, since both can combat the problem. The designer should take precautions to ensure his or her default font size is legible to a wide percentage of the population. But is it necessary to address users who need extra assistance, within the same style sheet everyone else uses? CSS offers choice; is there some reason we shouldn’t be taking advantage of this?

The current standards movement seems to place an awful lot of responsibility on the designer. It’s up to the designer to work around browser flaws by not using pixel-value text. It’s up to the designer to consider people with perfect vision, low vision, and no vision. It’s up to the designer to account for different monitor sizes and resolutions. It’s up to the designer to make sure their layout doesn’t break when fonts are at 100%, or 150%, or 200%.

Which, when you consider the history of the web, is the way it’s always been, except that no one used to do it. And now that we are starting to, by way of alternate style sheets and relying on relative font sizing, it’s becoming clear that while CSS offers answers, sometimes the answers aren’t good enough for some users.

Yes, it’s important for the designer to keep all these things in mind, and with a developed social conscience, cater to the largest audience possible. But, and here’s the whole point of what I’m trying to say, when the designer does this to the best of his or her knowledge and ability, and it’s still not enough, perhaps it stops being his or her responsibility.