Web Design in a Nutshell, 2nd Edition by Jennifer Niederst 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. This page was updated June 30, 2004. 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 UNCONFIRMED errors and comments from readers: {10} Browser Support table; According to the Browser Support table, MSIE 5.5 for Windows fully supports CSS2. This is not true, as I am not even able to center tables using the HTML 4.01 strict DTD (using the style { margin-left: auto; margin-right: auto; }) in MSIE 5.5. [68] 2nd paragraph; "Unfortunately, [the @media rule] is not supported in Internet Explorer as of this writing." - is completely false. IE has supported the media rule since version 5.0! This error is repeated on at least one other page. [72] 1st paragraph in "For Further Reading" section; The link for the "Internet Publishing with Acrobat" PDF is no longer accurate. The new URL is: http://www.gordonkent.com/ipwa/ {82} 8-Bit Encoded Character Sets Section; The preferred name for the ISO Latin-1 character set is ISO-8859-1 (note the extra dash). The other two most popular 8-bit character sets are US-ASCII (the 7-bit subset of ISO-8859-1) and windows-1252 (a superset of ISO-8859-1). Listing these character set names and some more of the most popular 8-bit character sets (see http://www.iana.org/assignments/character-sets for a complete list) would go a long way towards helping web designers pick the most appropriate character set for their web pages. {82} box at bottom; oemsales@bitsream.com {96} Line Breaks section; Browsers don't ignore line breaks. They are treated as whitespace such as spaces and tabs. This may seem obvious, but I once worked on a website that split words with line breaks. The words appeared in the browser with spaces inside them. [97] Document Structure; The HTML document given as an example of document structure does not validate with the strict DTD. One way to fix the problem is to put the text in the body inside

...

tags. There's more to the strict DTD than just not using deprecated tags and attributes -- there are stricter structural constraints, too. [106] Setting Up an HTML Document section; The URL in the does not exist on the server. "http://www.w3.org/TR/HTML4.01/strict.dtd" should be "http://www.w3.org/TR/HTML4/strict.dtd" [107] The Document Type Declaration; The URLs in the s do not exist on the server. "http://www.w3.org/TR/HTML4.01/strict.dtd" should be "http://www.w3.org/TR/HTML4/strict.dtd" "http://www.w3.org/TR/HTML4.01/loose.dtd" should be "http://www.w3.org/TR/HTML4/loose.dtd" "http://www.w3.org/TR/HTML4.01/frameset.dtd" should be "http://www.w3.org/TR/HTML4/frameset.dtd" {117}
attribute;
does not just center text; it also centers block elements such as tables, but not the text within the table. This detail is important because when align="center" is replaced by a CSS style, it must be replaced with either { text- align: center; } or { margin-left: auto; margin-right: auto; } depending on what is to be centered. (146) rev=relationship; This mistake was phoned into the reception desk on 2/15/02. rev=relationship The sentenence should read "(the opposite of the rel attribute)" not rev. [185] Java Applets section; It would help to indicate which browsers support which versions of Java. For example, IE and older versions of Netscape support JDK 1.1, but newer versions of Netscape and Opera support JDK 1.3. This is important to note, because an applet written with JDK 1.3 may not work on a browser with support for JDK 1.1. (187) Adding an Applet to a Page section, line 5; The text "" is in the wrong font. [205] Sections headed 'The frame attribute' and 'The rules attribute'; The text states that the 'frame' and 'rules' attributes are only available in IE5.5 and above, this is incorrect, they have been available since IE4. [217] bottom paragraph; The web address is not recognised. Should be - http://builder.cnet.com/webbuilding/pages/Authoring/AdvHtml/ {226} Slicing and Dicing Tools, 2nd paragraph; JASC Paint Shop Pro 7.04 also has a function that slices an image, exports the individual graphics, and writes HTML table code to put them back together. {236} Figure 14-1; The tag must be inside the <frameset> tag. The page will not validate and will behave unpredictably in browsers as is. (236) Figure 14.1, HTML document; The NOFRAMES element should be _inside_ the FRAMESET according to the HTML 4.01 Recommendation and the W3C HTML Validator. [275] first three lines; Syntax errors on all three lines 1st line: single "=" should be a double equal "==" for equality not assignment 2nd line: the object "selector.options.defaultIndex" does not exist and I can't find it in the Javascript book by David Flanagan on O'Reilly either. 3rd line: depending on formatting, there should be a second closing (right hand) curly bracket "}" here; or it should be inserted on a new line (this depends on the formatting style) By changing the code on the 1st and 2nd lines to read: if (selector.options[selector.selectedIndex].text == '---------------') { selector.options.selectedIndex = -1 } The code then works as per the description in the text. {283-6} Table 16-2; The hex values for khaki and tomato are incorrect. The nearest web-safe colors for choclate, darkslategray, dodgerblue, lawngreen, lightcyan, lightpink, lightyellow, mediumvioletred, mistyrose, powderblue, royalblue, turquoise, and yellowgreen are incorrect. The table does not include which colors have four brightness variants (e.g., blue1, blue2, blue3, and blue4) or indicate that there are 99 shades of gray (gray1, gray2, ..., gray99). (283-6) Table 16-2; The RGB and/or hexadecimal values for the following colors are incorrect: blanchedalmond 255 - 235 - 205 FFEBCD ivory 255 - 255 - 240 FFFFF0 khaki 240 - 230 - 140 F0E68C tomato 255 - 99 - 71 FF6347 (285) Table 16-2; "lightgrey" should be "lightgray" for consistancy. [294] bottom paragraph; In the example given for how to link to an external stylesheet it does not work as written because of a vital ommission. The example should read: <HEAD> <LINK REL="STYLESHEET" HREF="pathname/stylesheet.css" TYPE="text/css"/> </HEAD> ie the forward slash must appear ahead of the closing >. {299} Pseudo-classes section; The a:hover psuedo-class for links that currently have the cursor over them is missing. [308-9] margin CSS section; An important technique for centering tables and other block elements is to use the CSS style { margin-left: auto; margin-right: auto; }. You sometimes can't use { text- align: center } because it centers the text within the table cells, not the table itself, for example. {315} list-style-type section, 1st paragraph; "upper-roman results in A, B, C" should be "upper-roman results in I, II, III" or "upper-alpha results in A, B, C". {329} "Adding SSI commands to a document" part; SSI commands have the following format: <!--#element attribute="value" --> The book says: "The command also includes one or more attribute/value pairs..." It should be: "The command also includes zero or more attribute/value pairs...", because, for example, printenv command has no attributes {329} Adding SSI Commands to a Document; The <!-- should have a space after it, otherwise it is not a correct HTML comment. {356} JPEG Format chapter; This chapter fails to mention the new JPEG2000 format, which if implemented by browsers and used by designers will significantly increase the quality or decrease the size of images on the web. [365] 1st paragraph, last sentence; PNG no longer has "abysmal browser support and a lack of tools." According to the "Current Status of PNG" at http://www.libpng.org/pub/png/pngstatus.html the quality of application and browser support is good. There's no reason to avoid PNG in favor of GIF except to support 5-year-old browsers. {366} MNG for Motion sidebar, last paragraph; MNG is not still in development. According to the MNG Documentation at the MNG home page, MNG version 1.0 was finalized in January 2001, and "is considered to be a solid, stable specification." {372} Table 21-2; JASC Paint Shop Pro 7.04 seems to fully support multilevel 8-bit PNG transparency, contrary to what the table says. {462} JavaScript Basics script; The line //--> should be // --> because a space is required before the --> end of the comment, as explained in an earlier chapter of the book. {462} JavaScript Basics script; In HTML 4.01, the script tag must have type="text/javascript" for JavaScript. As is, the HTML will not validate. For compatibility with older browsers, both type and language can be specified: <script type="text/javascript" language="JavaScript"> [463] HTML near top of page; This HTML is a poor example of the javascript: protocol, because it will do nothing but cause an error in the 10% browsers that do not support JavaScript or have it turned off. It's almost always better to use an onclick event handler. See http://jibbering.com/faq/#FAQ4_24 for details. [464] Event Handlers section; It must be noted that the onclick, onkeydown, onkeypress, onreset, and onsubmit event handlers should always return true or false, depending on whether the default action for that event should be taken or if the browser should ignore the event. This the only way that form validators can work, for example. [472-3] Checking for Browsers sample JavaScript code; Browser detection code like the code shown here is notorious for breaking as new browsers become available. It is far better to use object and feature detection as described in the comp.lang.javascript FAQ (see http://jibbering.com/faq/#FAQ4_26 for details). {477} How DHTML Works rollover example; This DHTML example is a poor one because the same effect and beyond can be accomplished more easily and efficiently with simple CSS: a:link { text-decoration: none; } a:hover { text-decoration: underline; color: #990000; } a:visited { text-decoration: none; color: #FF0000; } {484} Example 29-3, Line 60; <a href="#" onClick="showLayer('LinksMenu');" onDblClick="hideLayer('LinksMenu);">Links</a> The 'LinksMenu' argument is missing a closing single quote mark in the hideLayer function call of the onDblClick event handler. [486] Code example 29-4; Use of document.getElementById seems to be invalid. ie: function showLayer(){ hiddenLayer = document.getElementById("TabLayer"); layerPosition = parseInt(hiddenLayer.style.left); if (layerPosition < 0) { hiddenLayer.style.left = (layerPosition + 5) + "px"; setTimeout("showLayer()", 20); } } Could not get code to work in IE5.5, 5.0, Netscape4.7 on WinNT platform. IE5.5 claims that Object is missing. Netscape4.7 claims it is not a function, most likely due to older DOM. {486-7} top of page 487; The example code does not work because the <div> id is wrong. It currently reads: <div> id="Layer1" It should be: <div> id="TabLayer" (497) 1st paragraph in DTD section; ".. DTD ... defines how markup tags should be interpreted by the application reading the document." The word "interpreted" suggests that the DTD contains sematic specific definitions. The XML1.0 spec only states that a DTD specifies a grammar, i.e. syntatic rules. (535) final paragraph; In the list of events is 'onlick' which conjures up an interesting mental picture, but should actually be 'onclick' (538) third row, <form>; <form> tag covered on chapter 15 ("Forms"), not chapter 16 (which is "Specifying Color in HTML") as stated :) (540) <noscript> entry in table; The <noscript> entry in the table says the tag is covered in chapter 28, but I can't find it in that chapter [559] Deprecated Elements table, <center> row, Recommendation column; The recommended replacement for <center>, <div align=center>, is also deprecated! As noted in the errata for page 117, the non-deprecated replacement for <center> is either { text- align: center; } or { margin-left: auto; margin-right: auto; }, depending on what is to be centered. {564} middle; The URL is wrong. The correct URL is: http://www.webreview.com/style/css1/charts/mastergrid.shtml [577] Standard Character Entities table description; It would help greatly to explain that the character set in this table is windows- 1252, that the characters marked as nonstandard are the ones in windows-1252 but not in ISO-8859-1, and that the characters 0-127 are in US-ASCII. See http://czyborra.com/charsets/iso8859.html for further discussion of the relationship between ISO-8859-1 and windows-1252. {578-9} Standard Character Entites table; The following character entities are missing from the table: € Euro symbol Ž Capital Z, caron ž Small z, caron The following character entites are misnamed: ƒ Florin ‹ Left single angle quote ˜ Small tilde › Right single angle quote (581-585) Extended HTML 4.01 Entities; The entities 376, 919, 8207, and 8713 are missing semicolons {584} General Punctuation table; The left and right single angle quotes are listed as both nonstandard and part of the 4.0 standard. These characters are in the Unicode character set so are standard, as opposed to the angle quotes that are in windows-1252 but not ISO-8859-1 and so are non-standard. (584) Extended HTML 4.01 Entities; "Ellipses" should be "Ellipsis". [584] General Punctuation table; The named character entity for ellipsis should be (the incorrect spelling given is &hellep;). (586) Miscellaneous Symbols table; The semicolons are missing at the end of the clubs and diams character entities. [587] ASCII Files glossary entry; ASCII files can contain more than just alphanumeric characters (the 52 upper and lower case letters and 10 digits), they can contain all 128 characters in the 7-bit ASCII character set.