Too often do we see text on web pages overlay other text or disappear altogether, not to say anything of other related frustrations. The reason is mostly that the authors have not sufficiently realised that their text is seen by people with different eyesights, different browsers and different settings. Websites, of course, should be usable easily by people with a range of eyesights. Generally competent authors realise this, and undoubtedly have some excuses for failing to deliver in this matter! Here are some that even sound a little plausible:
- They are unfamiliar with a traditional (old-fashioned?) facility in browsers, still often available, that allows users to change just the size of their text.
- They think users should take advantage of a page magnification facility, supplied with many modern browsers, that avoids the problems of overlapping and messy text.
- They do not know how to set their own preferences in their own browsers to suit their own eyesight. As a result, they find the body text they produce, before styling it for size, is too big! They do not know that it is too big because it is set for a guessed average eyesight (and they have better) that is just a browser manufacturer's attempt to be helpful.
- They know all the above well but are under obligation to their paymasters who don't know any of the above and cannot easily be reasoned with.
- They know all the above but consider they are forced by the ubiquitous bad practice of other authors. As a result of these practices, many users are accustomed to see text sizes up to 80% less than what is set in their option/preference panels (not that they actually know about these panels). Any site that allows body text to be the actual size set in their own preferences would then be seen as odd, even quite grossly ugly!
- It is not all that easy to satisfy everyone!
There are some advantages both to authors and to users with a Zoom Text Only facility. It sweeps a lot of design faults under the carpet! Faults simply do not show up (if they don't show up, are they faults?). The author can make the pages look as pretty as a picture and everything stays more or less in proportion whether zoomed in or out just as a picture sort of looks the same whether you are a metre or a metre and a half away. The downside is that pictures become blurrier because most are bitmapped and do not vector up like text, and the user needs often to do more scrolling, less content now fitting into the viewport.
Would it not be nice if website makers could please nearly everyone by making pages that did not get screwed up while avoiding the downsides of Zoom Text OnlyLet's look into a few elementary concepts and facts surrounding the issues of user text size, starting with how a browser knows how big to make text.
How browsers determine text size
When you install a browser for the first time and go to a webpage like this one, the main body text will be a size that a lot of the seeing world will find comfortable enough, competent browser makers will have done their research to ensure this. And they do this via a preference or option setting, the browser ships with some font and font-size setting but one that you can change. Whatever size setting is in this option we can call normal for that browser used with that setting. I tend to set Geneva and 16 for my preferred font and size for sans-serif. This means that if no one is telling the browser otherwise, I will see main text on a monitor at 16px. I find Geneva at16px very nice, and most text (even if serif) at 16px quite comfortable. So, browsers under my control quickly get 16px as normal. For you, it might be 12px. For the elderly lady and gent over there, it might be 20px. Here are a couple of panels in preferences that appear on the Mac version of Firefox, one is a simple choice: The other is more detailed and pops up when you press the "Advanced" button.
So, the concept of normal is whatever is set in the browser for text. But what text? How about headings? What is normal for headings is not normal for paragraphs, so what is this normal? The answer is that all text is normal and the same and as set in the preferences unless someone says otherwise. Yes, that means all text, including headings, would be this in the absence of any stylesheet that says otherwise. How big a piece of text is a simple style matter, and style is the business, these days, of cascading style sheets, sets of style rules.
The reason top level headings are usually big and bold is that someone has told them to be! In the stylesheet that browsers default to unless overruled by the author of a webpage, the top level heading is often dictated to be twice as big as normal, 200% of what is normal for body text. The second level headings (like "Zooming" below) are set by me to be 150% greater than normal. But I have not set anything special at all for the text in ordinary sentences like this. I have let the browser decide. And the browser decides how I described. It is yours to tell it. Whatever is comfortable for you is normal. All non-body text is usually a percentage different from this baseline normal.
So, we each have our browsers and have them set for what is comfortable for us in the body text. But what happens when we come across a webpage where the author decides to make body text less (or more - though this is very rare) than what is normal?
What happens is that we are annoyed and either strain our eyesight or fiddle to fix it by enlarging (or reducing) the text just for the moment on the page(s) we are browsing. In some older browsers, if the author set the font-size a certain way, users were unable to alter it, they had to lump it or leave it! Luckily, modern browsers give easy access to temporary controls. Temporary? Well, if you find the text on one website absurdly small, it would be a nuisance to go into preferences or options and reset the size you find comfortable by pretending you need much bigger than what you actually need in general. That would affect all the websites you visit. There is, thankfully, an easier set of handy controls for tactically changing a webpage's text sizes and that is what I will next describe.
Some popular modern browsers have a magnification facility called zooming, where both text and images (foreground and background), at the same time, are enlarged or reduced. Many of the same browsers have an option for the more traditional type of control, just the text adjusting its size, not the images. So popular has the more modern zooming become that those browsers that do provide for text only size adjustment make it a turn off option. In other words, out of the box, these browsers use the full zoom, you have to tick or cross a preference or option menu to turn this off. It is not all that surprising that there would be some authors (and many users) not all that familiar with this Zoom Text Only option. Google Chrome in my latest version has dropped this Zoom Text Only option. Opera, now a very sophisticated browser, famously, has never had simple text only size change like Firefox and Safari.
Many regular visitors to websites know how to quickly enlarge the text for particular pages either by key command or simply mousing an option in a menu (often the View menu at the top of most browsers). You can quickly tell now whether you have the full zoom or the Zoom Text Only operating: change the size of your text and see if the relative length of the following two lines change. One is real HTML text, the other an image. On Text Only Zoom, the image will stay the same length and no matter what your normal text size setting, if the lines are not about equal to begin with, you should be able to make them roughly the same length. You do this by pretending to have worse or better eyesight and zooming in or out. If you don't know how to do this, see the help box to your right temporarily alter your text size.
One Mac browser called iCab has a rather instructive font-size submenu under its View menu, the essentials of which is illustrated below: Notice that what we have been calling 'normal' is called 'standard' in this browser. The concept is the same. The reason this menu is instuctive is that the size of the selected is marked with a tick. Clicking the standard button reveals the size that is set down in preferences/options and this size is the more strategic, permanent size that the browser defaults to when started up and you begin surfing every day. If you have set 16 for your normal but need to choose a bigger size for a particular page or site, you can revert to your generally preferred by choosing 'Standard' under the font-size submenu under View.
A bad webpage!
For me the following two lines are the same at my normal text-size settings:
And it is under this condition that I made the pretend webpage below. The pretend webpage, under the condition that the above two lines are about the same length, looks OK, no text is overwriting any other text, no text is disappearing, everything is in the areas I made for them. To see this, if you are not already seeing this, temporarily alter your text size and see below for yourself.
'....we make it look the same everywhere'
The size of the words in this paragraph were comfortable to read for the author of this pretend webpage; at a desk on a fairly new 26" LCD monitor with a resolution of 100px per inch; in browsers set to see normal text at 16px.
If this pretend webpage text is bursting out of boxes, generally overlapping other text, you can get an idea of how the author saw it by temporarily altering your text down in your browser. If you want to get an idea of how people who need bigger text than yourself see this pretend webpage, you can get an idea by temporarily altering your text up in your browser.
Long text links in many browsers (e.g. Safari) do not wrap. Here is a simulation of one: pixelbrigadecompany.com.au/. People with different eyesight to the author might see the link text bursting the box which the author clealy thought would confine it.
If you can get the first of the following two lines to be equal to or less than the second, you will probably not be seeing any trouble like text disappearing or over-running other text:
If you have bigger than 16px set for font-size, you will probably find your rendition of the above four paragraph blocks in the pretend website a mess. In fact, for those people who require only a bit more size for their normal text, the text in the boxes would start to overlap, overflow, get cut off and generally be annoying and confusing.
The reason this happens in particular in this case is that the blocks are widthed and heighted in pixels. At font-size 16, the text pretty well stays in the boxes, at least for my Geneva and my computer it does. But there is no way that this vector text can be guaranteed to be contained by a box dimensioned in pixels because the size of a pixel on a monitor is generally a fixed quantity - in a few senses, one of which is that people do not tend to be changing their monitor resolution throughout their day, another is that there is a natural hardware instantiation of resolution, at least on modern LCD panels (and anything but the natural hardware one often makes for a lousy compromise). ... say more and better on this ......