Dynamic HTML: The Definitive Guide, 2nd Edition
by Danny Goodman
The unconfirmed error reports are from readers. They have not yet been
approved or disproved by the author or editor and represent solely the
opinion of the reader.
Here's a key to the markup:
[page-number]: serious technical mistake
{page-number}: minor technical mistake
: important language/formatting problem
(page-number): language change or minor formatting problem
?page-number?: reader question or request for clarification
This page was updated May 17, 2005.
UNCONFIRMED errors and comments from readers:
(46) 2nd paragraph;
missing right parenthesis in "(see the border, margin, and padding style attributes
in Chapter 11"
(72) 2nd paragraph;
Paranthetic phrase "(even it is..." should be "(even if it is..."
[92-93] last function on 92, first function on 93;
getObjectWidth and getObjectHeight refer to elem.clip. The variable elem is set by
getRawObject, so it is not a style. Only styles contain the clip property.
(111) at the bottom of the page there is a reference to Example 5-1,
global flags. The global flag script is in Example 4-1.
[389] label attribute definition;
There appears to be some misunderstanding of this attribute.
"The label attribute is included in HTML 4.0 in anticipation of possible hierarchical
select lists. The label is intended to be a shorter alternate entry for an option
element when it is rendered heirarchically."
should be replaced by something like:
"The label attribute [of elements] is used to override the contents of the
tag, to eliminate the redundancy required for backwards-compatibility when using
heirarchical select lists."
The next sentence: "It [the label attribute] overrides the normal text associated
with the option element." is correct, which is puzzling, since it conflicts with the
previous language ("alternate") and the entire next sentence: "Note that IE 5/Mac
incorrectly displays the label attribute value in lieu of the element's text.", which
is untrue (IE 5/Mac is the only completely compliant implementation of ).
The last sentence is true, but could be altered to highlight the behavior as
noncompliant (as with the incorrect IE 5/Mac sentence):
"Version 6 browsers provide no practical functionality for this attribute."
could be changed to something like:
"Note that most browsers (with the exception of IE 5+/Mac) incorrectly ignore the
label attribute."
Finally, an (old) example would be useful to illustrate:
Netscape Navigator 4.x or higher
Netscape Navigator 3.x
Netscape Navigator 2.x
Netscape Navigator 1.x
Microsoft Internet Explorer 4.x or higher
Microsoft Internet Explorer 3.x
Microsoft Internet Explorer 2.x
Microsoft Internet Explorer 1.x
Opera 3.x or higher
Opera 2.x
other
In an optgroup-compliant browser, this list would be rendered with the labels:
Netscape Navigator
4.x or higher
3.x
2.x
1.x
Microsoft Internet Explorer
4.x or higher
3.x
2.x
1.x
Opera
3.x or higher
2.x
other
In older browsers, the list would be rendered with the option text:
Netscape Navigator 4.x or higher
Netscape Navigator 3.x
Netscape Navigator 2.x
Netscape Navigator 1.x
Microsoft Internet Explorer 4.x or higher
Microsoft Internet Explorer 3.x
Microsoft Internet Explorer 2.x
Microsoft Internet Explorer 1.x
Opera 3.x or higher
Opera 2.x
other
Sadly, due to the current partial implementations that ignore the option labels, this
elegant backwards-compatible solution will instead be rendered as the much more
verbose:
Netscape Navigator
Netscape Navigator 4.x or higher
Netscape Navigator 3.x
Netscape Navigator 2.x
Netscape Navigator 1.x
Microsoft Internet Explorer
Microsoft Internet Explorer 4.x or higher
Microsoft Internet Explorer 3.x
Microsoft Internet Explorer 2.x
Microsoft Internet Explorer 1.x
Opera
Opera 3.x or higher
Opera 2.x
other
which basically destroys the purpose of the optgroup heirarchy.
(As does, IMHO, the currently common single-dimensional rendering, since it offers
only visual partitioning, and no navigational partitioning to break up long lists.)
It is also worth pointing out that the iCab browser builds this mistake to an even
more disappointing level, by displaying *both* the option text *and* the option
label.
{528} 1st section, 2nd line;
First let me say this is the book I have been waiting for for years!
It's rapidly becoming my Bible in my work. I'm very happy with it!
A small addition:
The book says that the setAttribute() method in IE4 through 5.5 uses propertynames
instead of attributenames. I experienced that the same behaviour holds for IE6.0 for
PC.
[605] first paragraph of div section;
The claim is made that the client and scroll properties are active in IE for the
Macintosh.
To the best of my knowledge (after trying countless different pages), the scroll
properties (specifically scrollLeft and scrollTop) on IE for Mac 5.x do not correlate
to what's actually shown on the screen at all.
[1035] specifications for onscroll;
onscroll works in Netscape 7 and Mozilla 0.9.6+
{1063} pointer;
The entry for cursors states that pointer is available as of IE 4 for windows. In
fact it was introduced in IE6 and throws an exception if set through JavaScript in
previous versions.
(1264) for onresize: 'body' should also possibly be included in the objects list