comments on CSS1

<title>Suggested modifications to CSS1</title>


I like the 
<a href="http://www.w3.org/pub/WWW/TR/WD-css1-951123.html">CSS1 working 
draft</a>.  However, I have suggestions for significant improvements in 
the following four areas.  

<h3>Warnings and notifications</h3> 

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.


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 

<h3>Caching style sheets</h3>

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:
  <li>Download (and use) all style sheets,
  <li>Use only cached style sheets (don't download new style sheets), and
  <li>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.

<h3>Reader-author conflicts</h3>

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.  


<p>Last modified 4 December 1995 by 
<a href="http://www.physics.mcgill.ca/~seibert/">David Seibert</a>.