Welcome!

Adobe Flex Authors: Liz McMillan, RealWire News Distribution, Maureen O'Gara, Yakov Fain, Keith Swenson

Related Topics: Adobe Flex

Adobe Flex: Article

Creating Standards-Compliant Web Pages

Creating Standards-Compliant Web Pages

Did you ever stop and wonder what the web might look like today if there were no standards? I think it would be a web of confusion. It reminds me of a file cabinet that I have full of important electronic data that I have accumulated over the years. I have accounting information on floppy disks from years past. The data was written by what is now long-obsolete software in file formats that I cannot access. If the World Wide Web were like my file cabinet it would be full of information written in Word 97 and Word Perfect and depending on the year I generated the files, some would be in the Apple Macintosh format while others would be in Microsoft PC format. I have images created in range of formats from TIFF to PCX. The files that I have generated over ten years ago are almost all in proprietary formats. What a limited and expensive World Wide Web it would be if there were no standards.

Fortunately for us, the World Wide Web's creator, Tim Berners-Lee, not only created a protocol for retrieving documents (the HyperText Transfer Protocol, HTTP), but he also created a standard language for creating the documents to be retrieved called the HyperText Markup Language (HTML). Those of us who have traveled the way of the Internet since its inception will recall how quickly it became proprietary in its structure and abilities. Prior to the so-called browser wars, the World Wide Web was fragmenting into competing languages, overlapping functionality, and proprietary code that turned any attempt at universal Web design into a frustrating experience. Many of us have felt the frustration of trying to write Cascading Style Sheets that displayed our designs in an identical, if not similar, fashion across multiple Web browsers and platforms. In addition to presentation problems, we also experienced functionality issues with JavaScript (from Netscape) vs. Jscript (from Microsoft). The browser wars between Netscape Navigator and Internet Explorer really brought the issue to the forefront as the two browsers competed to provide a richer, more dynamic experience for providers and end users alike.

The subsequent creation of the World Wide Web Consortium and its recommendations (read: standards) has done much to alleviate the problems caused by the browser wars. The browser manufacturers themselves have also contributed to the solution by upgrading their browsers to render HTML code in a more consistent way. Thus, we have seen a return to the original plan, which called for a Web document established upon a standards-based language.

While Web designers today understand the need to write code that works in all browsers and on all platforms, many simply do not appreciate the consequences of non-standard code. Today's Web browsers ask much from the humble HTML document. The Web page of late has become a starting-off point for information. Eventually the content of the Web page is used to formulate printed pieces, populate forms (including PDF pages), and some Web pages are components of an advanced Web application or software that runs via the Internet. Not all Web pages can fulfill these purposes. In order to use a Web page to create a PDF, or to populate a back-end database, or to feed a Flash application, the content must be consistent; it must be standard. The standard that promises the most possibilities is XHTML. Other standards that help multipurpose your content include Cascading Style Sheets, XSL-T, and XML.

The purpose of this article is to demonstrate how Dreamweaver MX 2004 can help you write standards-compliant code. You will learn how to ensure your documents are written in XHTML, or if you prefer, HTML 4.0, etc. You will learn how to build accessibility in your documents that will help your Web pages to be rendered by PDAs and cell phones, as well as desktop browsers and printers. By writing XHTML-compliant code and using an external stylesheet, you will be able to exploit all of the multipurposing possibilities that are available.

What Type of Document Should You Write?
If you would like to repurpose the data in your Web page, the most flexible format is XHTML. When your document is written in XHTML it means that it is an XML application. As such, it is pure data and can be rendered for any purpose. For example, by using the XML stylesheet language called XSLT, you can transform XHTML Web pages into any other type of format, including any of the new Microsoft Office Markup languages that such as WordprocessingML for Microsoft Word and SpreadsheetML for Microsoft Excel. You can also transform the XHTML into an XML file that is suitable for import into many applications, including Flash to create dynamic Flash applications, and Adobe InDesign to create printed pieces. The possibilities are becoming endless as more applications become XML-compatible.

On the other hand, if you are reworking older Web pages that need to be viewed in early (before standards-based) browsers, you may want to ensure that they are written according to the rules of HTML that were in use at the time of the browser release (HTML 4.0, for example).

The solution in both cases is to declare a document type at the beginning of your Web page that announces to the Web browser what version of HTML you are writing. In the “New Document” dialog box, Dreamweaver offers the opportunity to ensure that you create XHTML. Figure 1 shows the “Make Document XHTML Compliant” checkbox. If you do not check this box, then Dreamweaver will write the Web page in HTML 4.01 Transitional, which means that the document may use deprecated presentational elements such as the font tag. This makes the document backwards compatible for older Web browsers. When creating a document that is not XHTML compliant, Dreamweaver generates the code shown in Listing 1. Enabling the "Make Document XHTML Compliant" checkbox would result in the DOCTYPE shown in code in Listing 2.

Once you have written your web page as XHTML, you can validate it within Dreamweaver to make sure that you have not broken any of the rules of the XHTML language. If you wish to exploit the XML capabilities of XHTML, your code must be valid. To validate your code using Dreamweaver:

  1. Open the Web page you have written in XHTML.
  2. From the Window Menu, choose "Results" or hit F7 to bring up the "Results Panel."
  3. Click the Validation tab at the top of the Results Panel.
  4. Click the green arrow on the left of the Results Panel and choose "Validate Current Document." Note that you can also validate an entire site, or selected files from the site. If the site contains no errors, the results panel will display as shown in Figure 2.
The Dreamweaver validator looks at the DOCTYPE declared in the beginning of the document and checks it for errors against that DOCTYPE. Because we chose to write XHTML Transitional, the results panel would not indicate any errors even if we used deprecated tags such as <font> and <b>. However if we change the DOCTYPE to XHTML strict, the validator would find our errors, as shown in Figure 3. Dreamweaver does not provide a method for changing the DOCTYPE declaration other than the "Make Document XHTML Compliant" checkbox. Therefore, in order to write XHTML strict, you must manually change the DOCTYPE in code view. See the Macromedia exchange for an extension that allows DOCTYPE changes. For information on how to change the default DOCTYPE in Dreamweaver, see MX Developer's Journal online at http://mxdj.sys-con.com/read/45940.htm. The DOCTYPE should read as shown in Listing 3.

More Stories By Kevin Ruse

Kevin Ruse is the author of “Web Standards Design Guide” published by Charles River Media, Inc. The book explores the current standards: XML, XHTML, CSS, XForms and XLink as well as workflow issues involving these standards.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.