comments on CSS1

David Seibert (seibert@hep.physics.mcgill.ca)
Mon, 4 Dec 1995 15:49:12 -0500 (EST)


Suggested modifications to CSS1 I like the CSS1 working draft. However, I have suggestions for significant improvements in the following four areas.

Warnings and notifications

The following thought should be kept in mind when drafting standards for scripts (this also applies to html, http, and almost any software for the WWW):

The job of the author is to provide documents that can be interpreted by the UAs that their readers use, and the job of the UA is to make these documents as clear as possible within the prescriptions given by the author. When the UA receives a document that it cannot render as prescribed, it should not warn the reader of this except as a last resort. In most cases, a warning to the reader will not help him to read the document, but will merely inform him that either the author or the UA has failed in their job. If a reader receives too many warnings, his most likely response is either to find a new UA or to stop reading documents from the author; this is bad for the reader, the author, and the UA vendor, so the use of warnings should be minimized.

A warning when the reader or UA is overriding "legal" or "important" declarations may be a good idea. However, a warning is only necessary when a font size is declared to be legal or important and the UA is going to use a smaller font size. Substitution of a larger font may be done frequently by readers who want to see fine print (which may have a minimum legal size, but no maximum) in a document, or who have impaired vision.

When a reader turns style sheet downloading off, the UA should warn the reader that he may miss legal or important declarations. This should occur at the time that the UA is instructed not to download style sheets. However, if style sheet downloading is off, the UA should not be expected to check the (non-imported) sheets for important or legal declarations and warn the reader of their presence, as this can significantly degrade the performance of the UA. The reader may wish to be notified whenever he reads a document with an attached style sheet that has not been downloaded, but this is really at the reader's discretion.

When specified colors are not available, the UA should attempt to provide contrast so that all text is legible. However, it is not necessary to warn the reader that a certain color was requested but unavailable.

The main purpose of style sheets is to enable authors to improve the appearance of their work. If a reader would rather reduce the quality of what he sees by not downloading style sheets, so that he can read it faster, this should in general be allowed without warnings. If an author is concerned with this, he may warn his readers that the quality of what they see may be reduced if they do not use his style sheets, but it is not necessary for all readers of all authors to receive warnings if they choose not to download style sheets.

Tables

When conflicts arise while a UA is rendering a table, the most important thing is that the information present be displayed in a clear manner, so that it is useful to the reader. For this reason, frame conflicts within tables should be resolved in favor of the choice which is likely to make the information clearest (e.g., leaves the most space around the element, or provides a line separating it from adjacent elements). This is similar in spirit to the policy of using the larger of the two frames when joining two adjacent table elements.

Caching style sheets

It will be important for authors who use complex style sheets that their readers have a way to save the style sheets, so that they do not need to download them every time they read a new document (e.g., a newspaper publisher will have a large number of documents that use a common style sheet). Probably a distinct style sheet cache would be the best mechanism for this, as there are many cases where the reader would not want to save all of the documents but would want to save the common style sheet. This is a characteristic of UAs, not of style sheets, but it makes sense to help point the UA vendors in the direction that we would like style sheet technology to move. The "on-off" approach to style sheets in CSS1 is also too restrictive. There should be at least three options for standard UAs, in order of text presentation speed:
  1. Download (and use) all style sheets,
  2. Use only cached style sheets (don't download new style sheets), and
  3. Basic html (don't use any style sheets).
That way, readers can take advantage of cached style sheets for commonly used styles to improve UA performance.

Reader-author conflicts

The reader will (and should) always have the power to override the wishes of the author with respect to style - it's his UA. Sophisticated users should have the option of modifying all style prescriptions; in fact, it is impossible to stop them from doing this, so it will be more profitable to ignore the issue of final control over output, and let the situation evolve naturally. The average user will want a browser that follows the author's style suggestions, because he will not want to take the time to make documents look good when they are not compatible with his default style. Thus, issues of priority will naturally evolve in accordance with the draft specifications of CSS1, so that the author's style choices will dominate.


Last modified 4 December 1995 by David Seibert.