The Web as practiced is not the same as the Web as specified. While the Web is built on standards and specifications, adherence to the rules is sporadic at best. Software developers often extend functionality, leave out functionality, or implement things incorrectly. Web developers often create sites that more or less conform to the specifications, but they may also tune their work to run on a particular browser, with all of its idiosyncrasies, or leave their slightly broken markup at the mercy of a browser’s rendering engine.
Ignoring or abandoning standards to focus exclusively on browser results leads to a maze of constant testing on every imaginable browser, and possibly a powerless sense of resignation when you recognize the inevitability of alienated site visitors. On the other hand, sticking to the spirit, the letter, and the fine details of specifications may limit your ability to reach visitors through the tools they have, rather than the tools you wish they had. Fortunately, there is a middle way.
While HTML and CSS are the focus of this book, there are a number of significant standards that relate directly to web development. These include:
- HTTP 1.x
Hypertext Transfer Protocol—already explained in brief earlier—claims both the W3C and the IETF as custodians. This partnership is appropriate, as the IETF is the body responsible for the ongoing development of the protocols used on the Internet as a whole. The appendix outlines aspects of HTTP that HTML and CSS developers should understand.
- Web Content Accessibility Guidelines (WCAG)
Two versions of the Web Content Accessibility Guidelines have been published. The first became a W3C Recommendation in May 1999, and is referenced directly in the United States Government regulations that define websites that are accessible to the functionally impaired. The latest version achieved Recommendation status in December 2008, and applies not only to traditionally designed websites, but web platforms in general.
- ECMA-262
The syntax, grammar, and core objects of the language usually referred to as JavaScript are defined in a standard endorsed by Ecma International (originally chartered as the European Computer Manufacturers Association).
- Document Object Model (DOM) Levels 1–3
Valid web documents have a coherent, tree-like structure, and the DOM specifications define the programmatic interfaces to that structure.
The vendor-specific DOM APIs used when Dynamic HTML was first supported are sometimes referred to as “DOM Level 0.” Levels 1 through 3 are defined in a number of W3C Recommendations and Drafts.
- ISO 639, 8859, and 10646
The W3C and vendors currently rely on these standards for implementing character encodings and language references. The last of these is called Unicode, and is encoded using one of the Unicode Transformation Format (UTF) schemes. Nonlogographic writing is often encoded using UTF-8. For more information about character encoding, consult Character Encoding in Brief.
The Web also relies on standards for things like image formats (JPEG, GIF, PNG, SVG) and other content that might be included in pages.
Get HTML & CSS: The Good Parts now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.