WinIE5 and font size (was Re: [samurai] Did I miss something?)

[ redirected to www-style from another list, since it's been a while, 
and the issue is a real impediment to authors trying to do the 
WAI-approved thing of specifying user-scalable font sizes in CSS. ]

Ian Hickson wrote:

> > http://www.fas.harvard.edu/~dbaron/css/user/
>
>Looks good, David. One minor point, which Todd will probably be interested
>in: when I first viewed the page, I saw merely some gray lines, because I
>had Text Size set to Smallest in IE5.

Then you must see a lot of gray lines.

>I'd hate to know what Mac users saw.
>The Swiss W3C stylesheet needs fixing, it seems...

No, Microsoft's flagship "user agent" needs fixing, with:

     (a) a user-selectable absolute length value for "medium" text in prefs
         (now it's locked @ 12pt)
     (b) reasonably small increments between larger/smaller choices
         in auxiliary font size UI, such as the toolbar button.

Between WinIE4 and WinIE5, the intervals between user-selectable font 
sizes increased dramatically, effectively discouraging any user 
configuration of font size. <sarcasm>I guess this is because MS now 
owns the Web, so doesn't need to make user-friendly gestures like the 
font-size button they introduced with IE3, and have since suppressed 
- perhaps it would upset the Office group if users could mess with 
the print-centric display model of MS-HTML? Can we at least have a 
"scale" function then?</sarcasm>

You want pathology? Specifying "medium" size text in author CSS 
produces text one size bigger than the user's "medium" in WinIE5. 
That is, when a user selects "medium" as hir preferred font size, it 
means "12pt". But when an author specifies "medium" in CSS, it means 
"14pt". I haven't tried specifying "medium" in a user stylesheet (the 
"textual UI"), but I expect it would present an even more sadly comic 
situation if I were then to select "medium" redundantly in the 
chrome-clad UI.

For all intents and purposes, WinIE5's implementation of the seven 
CSS font size keywords has devolved to shorthand for a fixed set of 
point (absolute length) sizes, rather than the user-friendlier scheme 
embodied in the (now deprecated) system of 7 HTML font sizes, where 
all the values are keyed to the user's default ('medium') font size 
choice.

So why can't conscientious authors just use percentage or em font 
size values in CSS?

1. Because these are harder to use when most UAs have 
nonstandard/undocumented/buggy inheritance policies when it comes to, 
say, the root element (HTML?), or tables, or even optional closing 
forms for certain elements. This encourages the use of redundant 
selectors (e.g., "html, body, th, td" when fewer should do, and then 
all hell breaks loose in conforming agents when selected elements 
nest. Document structure thus complicates the meaning of, e.g., 
"font-size: 120%" in ways that do not apply with, say, HTML's "font 
size='4'".

2. Because authors don't know what scaling factor below the user's 
default (100%/1em on the document root) will produce illegibly small 
text. 67%? 75%? 89%? It's therefore unsafe. With HTML's 7 font sizes, 
the UA selects different scaling factors based on available 
resolution. This is smart. Why can't the 7 CSS keyword system be 
implemented as thoughtfully?

3. Because specifying font sizes in a user-scalable system is 
meaningful only if users are presumed to have decent UI for setting 
font size: not in WinIE.

I assert that the 7 CSS keywords must be implemented as were the HTML 
7 sizes: "medium" keyed to the user's default, and "node agnostic". 
Until it is, the Web will never move beyond FONT and BIG/SMALL tags.

Long-form ranting on this theme, with proposed solutions: 
http://style.verso.com/font_size_intervals/altintervals.html

--
Todd Fahrner

Received on Friday, 27 August 1999 22:27:18 UTC