Old HTMLversions in guidelines

The guidelines (mainly the techniques doc) contain
several references to HTML3.2 and even to HTML2.0. 
These two HTML versions are referred to as *informative*
references in the HTML4.0 spec. Therefore I can't see 
any reason to mention them that often. It just confuses 
the reader, and makes the document longer.

What difference does it makes if HTML3.2 doesn't have 
a tabindex attribute? Write it for the browsers who support it 
and there is nothing you can do for the others anyway.

Reference to old HTML versions should be made only if an
HTML4.0 feature breaks an older browser, or is rendered 
very badly (without breaking). Moreover you may use the term 
"older browsers" without stating whether it is HTML3.2, HTML2.0 
or buggy browsers. The details may have a theoretical interest 
but no interest to the person who wants to be told what to do.

Almost all accessibility features in HTML4.0 don't 
"bother" an HTML3.2 browser and therefore are safe.
No reference to HTML3.2 is needed there. Also the 
expression "available in HTML4.0" 8or "only in HTML4" 
serves no purpose,  as this is the only normative HTML 
level anyway.

I made a list of the  HTML4.0 features that 
do not degrade well to HTML3.2. Here it is the whole list.
Couldn't find anything else. Honest. 
(Note that frames are not included as one can 
use the NOFRAMES element)

* bidirectional algorithm is not supported by HTML3.2
  Solution: write two versions, an accessible logical one and 
   a visual one for backward compatibility.

* HTML3.2 supports a smaller set of characters and 
  character entity reference. New ones will appear as noise.
Solution: Don't use hex for Latin1. For other characters 
 there is no solution.

* The BUTTON element will appear as noise, 
 and INPUT type=button will appear as a text 
 input in HTML3.2 browsers.
Solution: don't use them.

* rows of a TFOOT element will appear before the BODYs in 
   an HTML3.2 browser.
Solution: don't use TFOOT

*Structures allowed in HTML4.0 but not in HTML3.2:
  * headings and ADDRESS are not allowed in LI or DD.
  * block level elements are not allowed in MAP, thus OBJECT 
    cannot be used as an image-map (if one uses OBJECT, MAP
    and AREA the image map disappears in an HTML3.2 browser.)
Solution: avoid these structures

* Coloring attributes that are not in HTML3.2 may cause
   text and background to merge: bgcolor in TABLE,TR,TD,TH; 
   color attribute in BASEFONT. 
Solution: use stylesheets for colors.

* Attributes whose values are Length in HTML4.0 may interpreted
   as Pixels or ignored by HTML3.2 browsers: 
   height, width, border in IMG; cellspacing, cellpadding 
   in TABLE.
Solution: use Pixels.

* The S element will not have an effect on rendering.
Solution: use STRIKE.

Regards,

Nir Dagan                            
Assistant Professor of Economics      
Universidad Pompeu Fabra
Barcelona (Spain)

http://www.nirdagan.com
mailto:nir@nirdagan.com

"There is nothing quite so practical as a good theory." 
-- A. Einstein

Received on Sunday, 8 November 1998 11:08:36 UTC