[Linux Quality Database] [Articles]
Michael D. Crawford
GoingWare Inc.
crawford@goingware.com
Copyright © 2002 Michael D. Crawford.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and one Back Cover Text: "This contains material from the Linux Quality Database at http://linuxquality.sunsite.dk". A copy of the license is included in the document entitled "GNU Free Documentation License".
Free website hosting services provide a valuable service to the community. Many people get their start in web publishing by using one of the free hosts. Free hosting makes web publishing possible for many people who could not otherwise afford it, such as the poor, students, and people from the developing world. Free hosting also offers a measure of protective anonymity to people who might be endangered by what they publish, such as those working for political change and the advancement of human rights.
Most free hosts usually insert a small amount of HTML into their members' pages in order to add some advertising text or graphics. This is a perfectly reasonable way for free hosting to get paid for - we all know bandwidth and server operations are expensive. However, there is a problem with the markup inserted by many of the free web hosting services - there are errors in the HTML that cause web pages that otherwise conform to the W3 Consortium's standards for the HTML file format to no longer validate.
This page is placed on your hosting service to help you test whether your ads break W3C compliance. You can check whether this entire page (including the extra HTML you insert) validates by clicking this link:
Please compare the results you get by validating the original version of this page which is provided for your use at The Linux Quality Database articles sections:
You can also see how stack up to your competition in this test by following the links from:
Enabling your members' pages to validate first of all is a mark of high quality for your hosting service. It indicates that if one of your users made the effort to write valid HTML, the advertisements you insert will not harm the compliance of their pages. If you insert only valid HTML ads, it shows that you care about your users. This could win you more business.
Secondly, validators such as the W3C HTML Validation Service provide an easy way for HTML authors to test for markup mistakes in their documents. Validating a document is much like running a spellchecker on a word processing document or email - it helps one to find typos, and by pointing out subtle problems, validation helps authors learn to write better markup.
Valid HTML ensures that documents display correctly in all browsers on all operating systems. The way many people check this is to try viewing their pages in several different browsers. This does not catch all the problems, and worse, if a problem is found in a particular browser, the results likely do not give any clue as to where the bad markup is. Using a validator is a much quicker and more effective way of ensuring browser interoperability.
Finally, and most importantly, publishing valid HTML documents ensures that the page can be read by handicapped web surfers such as the blind. In the days of text-mode command-line user interfaces, it was relatively easy for blind people to use computers using programs known as "screen scrapers" to read the text out loud to them.
But with windowing graphical user interfaces, effective computer use by the blind is much more difficult. The use of valid HTML makes it easier for the web browsers that blind people use to read the text to them, as well as making it easier for the blind to navigate websites.
Standards compliance is a legal requirement too - website publishers in the United States are required by the Americans with Disabilities Act to publish valid HTML. Similar laws may be in force in other countries.
First, learn to use validators whenever you write new HTML or update old pages. There are a number to choose from:
To get a more detailed introduction to what it means for a document to be valid, how to use validators, as well as a helpful tip for ensuring your web servers can stand up to a heavy load, please read my article Use Validators and Load Generators to Test Your Web Applications.
You can use this document to test any other free website hosting services for standards compliance, such as the hosting service you use or one that you are considering using.
Because this document is published under the GNU Free Documentation License, anyone has permission to copy it (but please read the GFDL to understand the terms under which you are allowed to copy it). Because there are no invariant sections, you may even modify the document, but I hope you keep the spirit of the original intact - in particular, I ask that you ensure that the document continues to be valid HTML.
You may come across a copy of this document at a free website hosting service. I suggest that instead of using that copy, you fetch the original instead, which I will take care to ensure is always compliant to current W3C standards documents. You can find it at:
Use your browser's "Save Page As..." or "Save As.." menu item to save the page to your hard drive. You will need to give the file a name, I suggest "index.html", but you can call it anything you want. Alternatively, you can use the "Page Source" or "Source" item from your browser's "View" menu to get a window with the HTML, then copy it all to the clipboard and paste it into a text editor document.
Use the W3C Validator's File Upload feature to check that the document you retrieved really is valid. If you find any problems, please let me know by writing crawford@goingware.com - or you can fix any problems you find (but I do not expect there to be any unless you have edited the file). Note that from time to time the validation service gets a bug when a software update is made, so maybe any problems you find could be with the validator, and will be fixed in a few days.
Now register with one of the free website hosting services. You can find an extensive list of them at http://www.freewebspace.net/.
Upload the page, see how it looks as the hosting service presents it, and try validating the page is it appears from the hosting service:
Then send a message to the technical support at the hosting service, either to congratulate them for ensuring members' valid pages remain compliant to Internet standards, or to (politely please!) ask them to read the test page and fix their advertising markup so compliance is maintained.
Once you have a test page up at a new hosting service, please send me an email at crawford@goingware.com so I can add them to the list of sites that have validation test pages.
From time to time you may post this page to a hosting service only to find that the W3C Validator gives you the following warning message:
Loosely speaking, the character encoding is the set of data values used to represent the alphabet that a text document is written in. There are a variety of character encodings available, such as US-ASCII and utf-8 (a form of Unicode). Different character encodings make it more or less convenient to represent the alphabets of all the different human languages on the web.
The original of this document declares that is it encoded in ISO-8859-1
by using a <meta>
element in the header of the HTML document:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Declaration of a document's character encoding is needed so web browsers know how to display the text correctly. The page might be written in English, French, Russian or Japanese - each language uses a different alphabeta, and there are a variety of character encodings that will serve to represent them.
The <meta>
declaration is needed when posting the page on most web sites because
those sites' web servers do not declare a character encoding explicitly in the
HTTP headers. However, some web servers do provide an explicit
character encoding, and a server provides one, it might conflict with the
one declared in the <meta>
element. This may
confuse both web browsers and validators.
What you should do in that case is either remove the explicit
<meta>
element character encoding declaration from
your copy of the document, or change it to match the character encoding
declared in the web server's HTTP headers. This is more likely to be
important if you translate this document to a different language.
Thank you for taking the effort to advance standards compliance, interoperability and accessibility to the handicapped on the World Wide Web!
I was inspired to publish this page after teaching my neice Denika how to write HTML. I thought I would be a positive influence on her and teach her how to write valid hand-coded markup from the very start, as well as how to use the validator. We decided to publish her first page on one of the free hosting services, only to find that their text ads turned her otherwise compliant first effort into an invalid document.