- From: Bert Bos <bert@w3.org>
- Date: Wed, 27 May 2009 19:59:05 +0200
- To: W3C style mailing list <www-style@w3.org>
Wild idea ahead... A general philosophy of CSS is that UAs may, to some extent, find their own balance between speed and quality. With respect to line breaking, that means UAs may use simple "first fit" line breaking and unlimited stretching of spaces, but may also try to balance the looseness of adjacent lines. Designers can forbid letter spacing, but cannot force it to be used. And we're adding hyphenation in the same way: designers will probably be able to allow or disallow it, but not force UAs to use it. UAs are also free to use more advanced techniques, such as avoiding "rivers" (spaces at the same place in adjacent lines), limiting the stretching of spaces based on the line height, optically aligning glyphs at the margin, and varying the glyphs themselves: replace a glyph by a variant of different width, use optional ligatures, and even vary the width of a glyph slightly (without changing the thickness of the strokes) as proposed by Hermann Zapf. But I'm proposing to allow one more: One technique that is used for extremely high-quality typesetting requires help from the author: when there is no good way to break lines, the author may be willing to change his text. Obvious changes include using or not using an abbreviation and replacing a word by a synonym. Changing the word order, or completely rewriting a sentence is also possible. Some authors who care a lot about the look of their books insist on being given this option. (I've done it myself for texts that were to be printed.) In the context of CSS, this requires two things: support in the mark-up and support in CSS. When a UA cannot ask the author for help, the author must have provided his alternatives beforehand, i.e., in the form of mark-up. A simple example that works for abbreviations is the ABBR element in HTML. The style sheet might allow the TITLE attribute to be used instead of the content. (But using ABBR for other kinds of alternatives is probably abuse of mark-up and not helpful for accessibility.) On the CSS side, we would need a way to indicate which part of a document is an alternative for which other part. I think we may assume that the part to replace is an element (i.e., not a partial element), thus a normal selector suffices. The easiest case is if the replacement is an attribute, as in the case of ABBR, so that the existing 'attr()' notation can be used: abbr { text-align-alternative: attr(title) } ... (I'll stop here. Maybe it inspires somebody?) Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Wednesday, 27 May 2009 17:59:39 UTC