Doc Steve
Web Coding Service

Fully Accessible Web Code, Custom Written by Hand
Specializing in html, xml, css, and U.S.§508

Web Technical Notes

[ Technical Pages Home ]


Page Index
[ Skip Index ]
[ Validation Concepts ] [ Validation versus Support ] [ HTML versus XML ] [ Browser Issues ] [ References ] [ Key Links ]

[ TOP ]

Validation Concepts:
HTML/XHTML, CSS, and Accessibility

There are various validators that are available to web developers by the World Wide Web Consortium (W3C). These include programming validators for HTML and XHTML documents as well as style sheet validators for documents utilizing CSS1/2.

W3C standards are based on SGML/XML language specifications. These specifications include HTML 2, 3.2, & 4.01 and XHTML 1.0, in Strict, Transitional, and Frameset variants. The standards are included in the Document Type Definition (DTD) for each version (in fact, there are typically several DTDs for each version. Individual DTDs are accessible over the internet at the W3C (see the links page for links to the DTDs for HTML 2, 3.2, and 4.01 and XHTML 1.0, along with the full DTD catalog).

The W3C html validator ( validates the following document types:

XHTML 1.0 Strict
XHTML 1.0 Transitional
XHTML 1.0 Frameset
HTML 4.01 Strict
HTML 4.01 Transitional
HTML 4.01 Frameset
HTML 3.2
HTML 2.0

The CSS valiator ( validates CSS1 and CSS2 (see the links page for links to the CSS standards).

The W3C's Web Accessibility Initiative (WAI) does not have its own validator, but WAI's standards are tied to the Bobby validator. WAI standards are based on levels of conformance to an overall standard, with levels A, AA, and AAA. Bobby also includes a validator for conformance to U.S. Sect. 508 standards (which seems to be a lower standard than AAA, higher than A, but different somewhat from AA).

[ TOP ]

Validation versus Support

Although web pages should be validated to some standard, just because a page is not or cannot be validated does not mean it will not be properly viewable. In fact, there is a wide range of what is viewable in a seemingly mix-and-match manner from the many standards. That is because browsers (more correctly, "user agents") are written to support a range of standards without regard to any one specific component set of an individual standard. In general, browsers will properly (more or less) format any document as long as they actually recognize the tags, not basing the recognition or usage of the tags on any one particular standard's definition.

In fact, it is possible to write for one or more specifice browsers without regard to an html standard, picking elements or attributes from different versions of html (say <xmp> from HTML 2 and <abbr> from HTML 4) and produce a document that will look exactly as intended in either Netscape or Internet Explorer. While this is not good practice, it is in fact how most web pages are constructed (not necessarilly by design).

Netscape's DevEdge web site provides an extensive cross reference of html elements and the browser versions that support them. Apple's Internet Developer site includes a section on web development and best practices.

[ TOP ]

HTML versus XML

-- or --
-- or --
SGML versus XML
-- or --
Just what are we talking about here?

The short version of this is on the home page . . .
but you probably noticed that already if you have gotten this far.

Since the beginning of the modern web (circa the early 1990s), the standard for document preparation has been Standard Generalized Markup Language (SGML). SGML is not a programming language itself but is rather a meta-language, a language-standard for developing the languages themselves (so that "M" in "SGML" should really be for "Meta" and not "Markup"). For example, SGML says that when you want to start something (say a paragraph), you use a start tag, but it does not specify what that start tag is. So, a language using SGML may start a paragraph by using a symbol such as "<p>". That is what the language we know as Hypertext Markup Language (HTML) uses. So, HTML is a programming language that is based on the standards of SGML (another common SGML language is Rich Text Format [RTF], and RTF uses "\par" as its paragraph start tag). (Note that even within the SGML standard there may be wide latitude in how tags are implemented, and translating among SGML languages may not always be straightforward: see, for example, "What's the Story? Converting SGML to SGML" [by Micheal Gross of Data Conversion Laboratory].) One of the standard documents describing SGML is A Gentle Introduction To SGML.

Whatever standards one is using wind-up in a Document Type Definition (DTD), which can point user agents (i.e., browsers) toward the proper authority for one's language. However, contemporary browsers have built-in support for certain tag-sets irrespective of the DTD used, assuming that all pages returned will be some flavor of HTML (see Netscape's DevEdge site for their cross reference of tags supported by Netscape and Microsoft products and the HTML verions to which those tags are native). The World Wide Web Consortium (W3C) maintains the standard DTDs for HTML. Some software vendors also maintain their own DTDs. There are utilities that create DTDs, for example The OCLC Fred Home Page, a free automatic DTD creation service.

All of this notwithstanding, the standard for web documents is HTML, currently in version 4.01. There are three flavors of 4.01: strict, transitional, and frameset. Although nearly identical, there are key differences: strict has eliminated all of the in-line formatting tags (such as <font>) and the formatting attributes of block tages (such as the <body> tag's bgcolor="xxx") in favor of using Cascading Style Sheets (CSS) for all formatting. Transitional supports CSS, but also supports the formatting tags that are removed in Strict. Frameset includes not only all of the tags and attributes available in transitional, but also includes the additional <frameset . . . >, <frame . . . >, and <noframes> tags.

The forthcoming standard (somewhat slow in coming but increasing utilzed) is Extinsible Markup Language (XML), a meta-language like SGML. XML was formulated to address a number of problems inherent in the delivery of SGML documents over the internet. One particular problem is that SGML intrinsically ties the fundamental content of the document (it's "data") to the presentation of the data: the separation of content and presentation is a key design feature of XML. The structure of an XML document is designed to reflect and clarify important relationships among the individual aspects of the content itself, unhindered by a need to provide any indication about how this data should eventually be presented. One of the first undertakings in XML was to reformulate HTML into an XML-based markup language. The result has been Extensible Hypertext Markup Language (XHTML). Based on HTML 4.01, XHTML 1.0 is very similar in terms of available tags and comes in the same three flavors. However, one principal difference is that all tages must be closed. Whereas in SGML only a start tag was requred (e.g., begin paragraph), in XML an end tag is also requred (so the paragraph is essentially held in a container consisting of the start tag, <p>, and an end tag, </p>). Also, "well formatting" is now a requirement, meaning, for example, that start tags and end tags are in a complimentary order (so to bold and italicize one would do the following: <b><i> blah blah blah </i></b>). While XML supports CSS, a new style sheet language, formed as an XML-based language, has also been developed: XSL, Extensible Stylesheet Language. Similarly, while XML supports DTD, DTD, as an SGML language has limitations for developing languages based in XML, so an alternative to the DTD language is XML Schema (where, for example, one can do strong typing of variables).

Like HTML, XHTML has a very tight relationahip between data and the format of the data, so the full advantage of XML is not realized in XHTML. The XHTML language will be only a small element of XML programming. While web document programming has generally been referred to as HTML programming (using the name of the language, not the meta-language), programming using XML will be just that, not simply programming using XHTML. The apples and oranges comparison of HTML and XML is actually appropriate in this case.

Two interesting (and free) resources with many tutorials and references on html and xml Zvon and W3 Schools.

[ TOP ]

Browser Issues

As stated elsewhere, working toward cross browser conformity and allowing for local-user platform requirements is just good programming practice. For a not insubstantial amount of this work, however, this cross-browser conformity issue would not be so much of a hassle were the browser developers (Microsoft, Netscape/Mozilla, Opera, and whomever else is still doing this) to admit that the browser wars are finally over and simply follow the W3C standards. Unfortunately, they have not implemented the W3C standards in an identical manner, making site development much harder, although with NS6/7/Mozilla 1 and IE5 things are better; nevertheless, in developing pages, one must always assume that Internet Explorer 5, Internet Explorer 6, Netscape 4, Netscape 6, Netscape 7, and Mozilla 1 will all display differently: one does what can be done, but it is necessary to remember that the object of the page -- with respect to all possible platforms -- is total usability of the information, not total consistency of the presentation. Information on browser usage may be found at Browser News.

[ TOP ]


-- World Wide Web Consortium (W3C)
-- Web Accessibility Initiative (WAI)
-- Level A
-- Level AA
-- Level AAA
-- U.S. Sect. 508
-- Preamble to the Sect. 508 standards

[ TOP ]

Other Key Links


-- W3C HTML Validator
-- W3C CSS Validator
-- Bobby Accessibility Validator

Other Resources

-- Netscape's DevEdge Cross Reference
-- Apple's Internet Developer
-- Data Conversion Laboratory
-- "What's the Story? Converting SGML to SGML"
-- A Gentle Introduction To SGML
-- The OCLC Fred Home Page
-- Zvon
-- W3 Schools
-- Browser News

Document: http://

Made with Cascading Style Sheets  | Valid CSS!  | Valid XHTML 1.1!  | Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0  | Bobby WorldWide Approved AAA

Contact DocSteve

Copyright © 2004 - 2006
Steve Sconfienza, Ph.D.
All Rights Reserved