Web-Quality 29.2 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>W3C QA - How to achieve Web standards and quality on your Web site?</title>
	<meta name="Keywords" content="qa, quality assurance, conformance, validity, test suite, QA, quality, validation, html, validator, tools" />
	<meta name="Description" content="W3C QA - A series of things to improve and achieve quality on your Web site." />

	<link rel="schema.DC" href="http://purl.org/dc" />
	<meta name="DC.Subject" lang="en" content="QA, quality, validation, html, validator, tools" />
	<meta name="DC.Title" lang="en" content="How to achieve Web standards and quality on your Web site?" />
	<meta name="DC.Description.Abstract" lang="en" content="A series of things to improve and achieve quality on your Web site." />
	<meta name="DC.Date.Created" content="2002-04-08" />
	<meta name="DC.Language" scheme="RFC1766" content ="en" />
	<meta name="DC.Creator" content="Karl Dubost" />
	<meta name="DC.Publisher" content="W3C - World Wide Web Consortium - http://www.w3.org" />
	<meta name="DC.Rights" content="http://www.w3.org/Consortium/Legal/copyright-documents-19990405" />

	<style type="text/css" media="all">
	table.HTMLdoc {
		background: #bbb;
		border: 1px solid black;
		margin-bottom: 2em;}
	td {
		padding: 3px;
		border: 0px solid #bbb;}
	td.dtd {
		background: #eee;}		
	td.htmlcmt {
		background: #fff;}		
	td.html {
		background: #fff;}		
	.example {
		margin: auto;
		margin-bottom: 2em;
		width:80%;
		background: #eee;
		border: 1px solid red;}
	h2 {color: #888;}
	</style>
	<link rel="Stylesheet" href="/QA/2002/12/qa4.css" />
</head>
<body>

<!-- Header -->
<div id="Logo">
<a href="http://www.w3.org/"><img alt="W3C" src="/Icons/WWW/w3c_home" /></a>
<a href="http://www.w3.org/QA/"><img alt="QA" src="/QA/images/qa" width="161" height="48" /></a>

<!-- <div id="Header">Be strict to be cool</div> -->
 <div><map name="introLinks" id="introLinks" title="Introductory Links">
<div class="banner"> <a
class="bannerLink" title="W3C Activities" accesskey="A"
href="/Consortium/Activities">Activities</a> | <a class="bannerLink"
title="Technical Reports and Recommendations" accesskey="T"
href="/TR/">Technical Reports</a> | <a class="bannerLink"
title="Alphabetical Site Index" accesskey="S"
href="/Help/siteindex">Site Index</a> | <a class="bannerLink"
title="Help for new visitors" accesskey="N"
href="/2002/03/new-to-w3c">New Visitors</a> | <a
class="bannerLink" title="About W3C" accesskey="B"
href="/Consortium/">About W3C</a> | <a class="bannerLink"
title="Join W3C" accesskey="J"
href="/Consortium/Prospectus/Joining">Join W3C</a></div>
</map></div>
</div>


<!-- menuRight -->
<div id="Menu">
<p><a href="#Intro">Introduction</a><span class="dot">&middot;</span>
<a href="#Standard">Standard</a><span class="dot">&middot;</span>
<a href="#Validation">Validation</a><span class="dot">&middot;</span>
<a href="#Tools">Tools</a><span class="dot">&middot;</span>
</p>
<hr />
<p class="navhead">Nearby:</p>
<p><a href="http://www.w3.org/QA/"><abbr title="Quality Assurance">QA</abbr>&nbsp;Homepage</a><span class="dot">&middot;</span>
<a href="http://www.w3.org/QA/#latest">Latest News</a><span class="dot">&middot;</span>
<a href="http://www.w3.org/QA/#resources">QA&nbsp;Resources</a><span class="dot">&middot;</span>
<a href="http://www.w3.org/QA/IG/">QA&nbsp;<abbr title="Interest Group">IG</abbr></a><span class="dot">&middot;</span>
<a href="http://www.w3.org/QA/WG/">QA&nbsp;<abbr title="Working Group">WG</abbr></a><span class="dot">&middot;</span>
<a href="http://www.w3.org/QA/Agenda/">QA&nbsp;Calendar</a><span class="dot">&middot;</span>
</p></div>

<!-- content -->
<div id="Content">
<h1>My Web site is standard! And yours?</h1>

<h2>Status</h2>

<p>This article has been produced as part of the <acronym
title="World Wide Web Consortium">W3C</acronym> <a href="/QA/IG/">Quality
Assurance Interest Group</a> work. Please send any public feedback on it to
the <a href="http://lists.w3.org/Archives/Public/public-evangelist/"><strong>publicly
archived</strong></a> mailing list <a
href="mailto:public-evangelist@w3.org">public-evangelist@w3.org</a> or for a private feedback to <a
href="mailto:karl@w3.org">karl@w3.org</a>. The author <a href="#Acknowledgements">acknowledges people</a> who have given time for reviews and ideas.</p>

<p>This article has been <a href="http://www.w3.org/2003/03/Translations/byTechnology?technology=Web-Quality">translated in several languages</a>.</p>

<h2 id="Intro">Introduction</h2>

<p>Here you will find easy, painless techniques and ideas to improve your Web site quality and make your Web site valid. This document is intended for HTML users, developers working on Web applications, and Web masters.</p>

<p>Most of the Web sites on the Web are not valid. We may  
   assume that this is the case for 99% of the Web pages,
  but there are no statistics to support this. It would be interesting 
  to run a survey to prove that this case is indeed true.</p>

<p>Why?</p>


<h2 id="Standard">HTML and standards</h2>

<h3 id="rants">Usual comments</h3>

<p>I have heard many comments and rants on this topic.
Most of them are often due to a lack of knowledge 
and understanding of what HTML validation is. The
following are some examples:</p>

<ol>
	<li>
	<p>Steve, CEO, said: <q>If my Web site is made with the standards, it will be unexciting and I will lose customers.</q></p>

	<p>With W3C standards, you'll be able to have very exciting Web sites. Creating a Web site which respects the standards has nothing to do with generating text-only Web pages.</p>

	<p>The W3C is currently proposing a set of very cool integrated technologies. You can experience a full multimedia Web site with existing W3C interoperable technologies using <a href="http://www.w3.org/MarkUp/#xhtml1">XHTML</a> (Structured XML markup), <a href="http://www.w3.org/Style/CSS/#specs">CSS</a> (Style sheets), <a href="http://www.w3.org/Graphics/SVG">SVG</a> (2D vector animated graphics), and <a href="http://www.w3.org/AudioVideo/#Specificat">SMIL</a> (Synchronized Multimedia). These technologies have been built on a consensus by the different players of the Web market.</p>
	</li>

	<li>
	<p>Alan, Technical Director, said: <q>I don't have the finances to care about standards in my Web site. It will cost too much!</q></p>

   <p>Designing with standards will simplify Web site code maintenance because you will not have multiple versions for  different browsers. Your pages will have a longer life and will not be dependant upon vaporous technologies. So designing with Web standards will cost you less in fact.</p>

   	</li>

	<li>
	<p>Dean, Artistic Director, said: <q>if I respect the standards, it will infringe upon my creativity.</q></p>

   <p>Technical constraints exist with any artistic medium, whether you are drawing, sculpting, or designing Web pages. Watercolors or oil paintings have their own constraints, but these techniques do not to block creativity, rather they provide structure for creative expression. </p>

	<p>Creating with Web standards will open a new world with techniques particular to the media, the technology, and the audience. There is still a lot to explore in this domain. We are only beginning to explore the benefits of standards-based multimedia experiences.</p>

   </li>
	<li>
	<p>Claudia, Graphic Designer, said: <q>I don't care about accessibility. People with disabilities are not in my target audience.</q></p>

   	<p>You'll <a href="http://www.w3.org/WAI/bcase/benefits.html">benefit by designing with respect to accessibility</a>. People with disabilities represents 8% to 10% of the total population. It's easier to maintain a Web site that follows accessibility guidelines (and therefore Web standards). Your Web site traffic will increase, and a wider variety of browsers will have access to site content.</p>

		<p>Some countries require accessibility by law such as Australia (<a href="http://www.hreoc.gov.au/disability_rights/standards/www_3/www_3.html#1.2">Disability Discrimination Act Advisory Notes</a> Version 3.1 May 1999) or USA (Section 508 - <a href="http://www.section508.gov/index.cfm?FuseAction=Content&amp;ID=11#web">Web-based Intranet and Internet Information and Applications</a>) or Europe which is working on a similar plan (<a href="http://europa.eu.int/information_society/topics/citizens/accessibility/index_en.htm">e-accessibility</a>).</p>
		
   </li>
  
	<li>
	<p>Aminata, Web Programmer, said: <q>Why I should respect standards? The Web is a free place.</q></p>

	<p>The Web is a free place shared by many users whose needs you don't necessarily know. The standards have been designed to keep in mind all potential audiences. There's a challenge to the Web community to create with Web standards. You will not be attached to any company or proprietary technology. You can use technologies that are independent of platforms requirements.</p>

	</li>
	
	<li>
	<p>Karl, Web Developer, said: <q>I have simply followed instructions in books.</q></p>

	<p>Unfortunately, many books do not teach good Web programming. When you are creating a Web site, you should check the correctness of your markup. If you are a Web developer, be careful using books to develop your application and read the particular specifications which you are trying to implement.</p>

	<p>Some Web sites are gathering good materials to help people design in accordance with W3C standards. On the W3C Web site, you will find a <a href="http://www.w3.org/2002/03/tutorials">growing list of tutorials</a> promoting good practices.</p>

	<p>Some people at W3C have developed <a href="/Status">freely accessible software</a> for your own use. We encourage you to use them when it's possible. These software packages implement W3C technologies.</p>

	</li>
	
	<li>
	<p>Tim, Accountant, said: <q>My Web editor generates non-valid markup.</q></p>

	<p>Many authoring tools do not generate valid markup. Some have syntax checkers embedded into them, others do the right thing, and many do not generate valid markup. As an intermediate solution, you have to check your Web page with an <a href="http://validator.w3.org/">HTML validator</a>.  At the same time, contact the software manufacturer (by mail, phone, letter) and let them know. Companies will do the right thing if you ask them to.</p>
	</li>
	
	<li>
		<p>Val&eacute;rie, Web Content Developer, said: <q>It's not my fault. It's the way the engine for templates has been designed. (Often a system with a Web-based interface).</q></p>

		<p>You're right. It's often not your fault. If it's a simple form where you never write HTML by hand, write the developer of your interface or your site maintainer until the problem is solved. If you are not sure if the produced content respects W3C standards, validate the content with the <a href="http://validator.w3.org/">HTML validator</a>, and submit the report to your Web master, or the person in charge of the content management system.</p>

	</li>
	<li>
	<p>Ning, Software Developer, said: <q>There is no information to help me. All of the materials I have found are in English.</q></p>

	<p>Some people have translated documents and specifications to other languages. The W3C maintains a <a href="http://www.w3.org/Consortium/Translation">list of translations</a>.</p>

	</li>

</ol>

<h3 id="HTML">HTML is a standard (and so is XHTML!)</h3>

<p>HTML has evolved during its development, and is available as several <em>versions</em>. All of these versions are standards, and you can select one that suits your needs. Most of the time, the latest version will be the best choice, unless you target a very specific audience, or older, broken browsers. The version you choose defines the elements and attributes you can use. </p>

<p>For instance, in HTML 4.01, you will find the <a href="http://www.w3.org/TR/html401/index/elements.html">list of elements</a> and the <a href="http://www.w3.org/TR/html401/index/attributes.html">list of attributes</a> you are allowed to use in your pages. You can edit your pages manually, a means usually referred to as "hand-coding" or "writing the source."</p>

<p>HTML 4.01 allows you to write a paragraph and an anchor identifier 
to this paragraph, like this:</p>

<div class="example" style="padding:0.1em;width:16em;font-size:0.95em;">
<pre>
&lt;p id="ref"&gt;This is a paragraph&lt;/p&gt;
</pre>
</div>

<p>Pay attention to the way you nest your elements. Some elements 
cannot be included in others, and some attributes belong
only to certain elements.</p>

<p>The elements that you can write in your document or implement in your software depends on the HTML version. This table contains a list of HTML definitions, or document types (DOCTYPEs), that you can use:</p>

<table class="HTMLdoc" style="font-size:0.9em;">
<tr>
	<th>Version</th>
	<th>DTD list</th>
	<th>DOCTYPE Declaration in documents</th>
</tr>
<tr>
	<td class="html"><a href="http://www.ietf.org/rfc/rfc1866.txt">HTML&nbsp;2.0</a></td>
	<td class="dtd"><a href="http://www.w3.org/MarkUp/html-spec/html.dtd">DTD</a></td>
	<td class="htmlcmt">
	<pre>&lt;!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;</pre>
	</td>
</tr>

<tr>
	<td class="html"><a href="http://www.w3.org/TR/REC-html32">HTML&nbsp;3.2</a></td>
	<td class="dtd"><a href="http://www.w3.org/MarkUp/Wilbur/HTML32.dtd">DTD</a></td>
	<td class="htmlcmt">
	<pre>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;
</pre>
	</td>
</tr>
<tr>
	<td class="html"><a href="http://www.w3.org/TR/html401/">HTML&nbsp;4.01</a></td>
	<td class="dtd"><a href="http://www.w3.org/TR/html401/strict.dtd">Strict</a>, <a href="http://www.w3.org/TR/html401/loose.dtd">Transitional</a>, <a href="http://www.w3.org/TR/html401/frameset.dtd">Frameset</a></td>
	<td class="htmlcmt">
	<pre>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd"&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd"&gt;
	</pre>
	</td>
</tr>
<tr>
	<td class="html"><a href="http://www.w3.org/TR/xhtml1/">XHTML&nbsp;1.0</a></td>
	<td class="dtd"><a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">Strict</a>, <a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Transitional</a>, <a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">Frameset</a></td>
	<td class="htmlcmt">
	<pre>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;
	</pre>
	</td>
</tr>
<tr>
	<td class="html"><a href="http://www.w3.org/TR/xhtml11/">XHTML&nbsp;1.1</a></td>
	<td class="dtd"><a href="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">DTD</a></td>
	<td class="htmlcmt">
	<pre>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;
	</pre>
	</td>
</tr>
</table>

<p>You cannot validate your document if you don't use one of these
DOCTYPEs at the beginning of your document. Don't forget it
if you write your documents by hand.</p>

<dl>
	<dt>HTML authoring tools</dt>
		<dd>All HTML authoring tools MUST propose a DOCTYPE and generate the markup according to this language.</dd>
	<dt>HTML template</dt>
		<dd>Any HTML templates MUST have a DOCTYPE.</dd>
	<dt>HTML library or template engine (server side)</dt>
		<dd>Any HTML library or template engine MUST return a DOCTYPE.</dd>
</dl>

<p>Here, you have an example of an XHTML 1.0 Strict document template.</p>

<div class="example" style="padding:0.1em;width:35em;font-size:0.95em;">
<pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;

&lt;head&gt;
	&lt;title&gt;An XHTML 1.0 Strict standard template&lt;/title&gt;
	&lt;meta http-equiv="content-type" content="text/html; charset=utf-8" /&gt;
	&lt;meta http-equiv="Content-Style-Type" content="text/css" /&gt;
&lt;/head&gt;

&lt;body&gt;

     ... Your HTML content here ...

&lt;/body&gt;
&lt;/html&gt;
</pre>
</div>

<p>An XHTML Strict template is very simple to achieve. Document modification and validation is easy and straightforward. </p>

<h2 id="Validation">Validating documents</h2>
<h3 id="HTMLval">HTML validation</h3>

<p>An HTML validator simply checks the correctness of your document against the declared DOCTYPE.</p>

<p>If you want to verify the validity of your final document when it's displayed by the user-agent (for example, a Web browser), you can use the W3C <a href="http://validator.w3.org/">HTML validator</a>. The HTML validator will return a list of errors according to the chosen HTML DOCTYPE. If your document has no errors, it will return a <q>No errors found!</q> message.</p>

<p>If you edit your Web site with the help of forms (and you  don't write HTML tags in your form), you can report the errors to the Webmaster of your site and requests that the HTML markup generator be fixed.</p>

<p>If you create your Web site by hand or directly compose the markup code, and the validator returns errors for your page, simply fix your markup. The HTML validator gives you the line number where the error is.</p>

<p>The HTML validator provides the line number where the error occurs, so it should help you locate the problem in your document. It checks the file line by line, starting from the first line. This means an error which is at the beginning of your document might result in more errors further along your page. A good way to work through the errors is to correct the first displayed error, and then revalidate your page. Often you will find that fixing a problem 
   early in the document resolves a few errors at a time. Continue doing this until all errors are fixed, and the resulting document will be valid</p>

<p>If you are using an HTML authoring tool and your pages are not valid after editing, please report to the software developer or company. You should be able to contact the company's technical support people.</p>

<ul>
	<li><a href="http://www.w3.org/Amaya/">Amaya</a> - <a href="mailto:www-amaya@w3.org">Bug report</a></li>
	<li><a href="http://www.macromedia.com/software/dreamweaver/">Dreamweaver</a> - <a href="http://www.macromedia.com/support/dreamweaver/">Bug report</a></li>
	<li><a href="http://www.microsoft.com/frontpage/">FrontPage</a> -  <a href="http://www.microsoft.com/frontpage/support/default.htm">Bug Report</a></li>
	<li><a href="http://www.adobe.com/products/golive/main.html">GoLive</a> - <a href="http://www.adobe.com/support/feature.html">Bug report</a></li>
	<li><a href="http://www.macromedia.com/software/homesite/">Homesite</a> - <a href="http://www.macromedia.com/support/homesite/">Bug report</a></li>
	<li><a href="http://channels.netscape.com/ns/help/default.jsp">Netscape Composer</a> - <a href="http://channels.netscape.com/ns/help/default.jsp">Bug report</a></li>
</ul>

<p>If you are a developer of a template engine, authoring tool, or content management system, use the HTML validator to fix problems in your implementation. You can also incorporate the HTML validator in your software or back-end. The <a href="http://validator.w3.org/source/">source code of the HTML validator</a> is freely available. The validator is <a href="http://validator.w3.org/todo.html">being enhanced every day</a> and you can participate to its development.</p> 


<p><strong>Note</strong>: <em>Some documents are valid with regards to the DTD and still incorrect with regards to the HTML specification. In the near future, we will present a list of possible errors not detected by the HTML validator.</em></p>

<p>List of HTML validators</p>
<ul>
<li><a href="http://validator.w3.org/">W3C HTML validator</a></li>
<li><a href="http://www.htmlhelp.com/tools/validator/">WDG HTML Validator</a></li>
<li><a href="http://www.doctor-html.com/RxHTML/cgi-bin/single.cgi">Doctor HTML</a></li>
</ul>

<h3 id="LinkVal">Validating links</h3>

<p>Another important issue with many Web sites is URI persistence. When you add links to other Web sites in your documents, you are expecting that those links will remain stable and persistent. It means that the information you want to point out will still be here when someone reading your Web site clicks on one of the links, you gave. You want also verify and guarantee that the links you have given to other Web pages or to other sections of your Web site are also without any mistakes. A tool has been developed for this purpose: <a href="http://validator.w3.org/checklink">W3C Link Checker</a>.</p>

<p>Checklink generates a report of links. The report length depends upon on the time it takes to fetch and verify all the links contained in your page. To verify the link, the program handles an HEAD HTTP request of the document. If the server is misconfigured, you can have a wrong report even if the link is good, but just because the server is not able to give the HEAD. In this case, you should write to the Web master of the Web site to ask him to fix the server configuration.</p>

<div class="example" style="padding:5px;width:21em;font-size:0.95em;">
<pre>
Checking link http://webstandards.org/
HEAD http://webstandards.org/  fetched in 0.1s
</pre>
</div>
<p>Above is an example of the list. It gives the taken time to fetch the link.</p>

<p>After the list of links, you'll have a report of the links which are broken or redirected, which will help you fix incorrect links.</p>

<p>If you want to have more information about the importance of links, we invite you to read the document <q><a href="http://www.w3.org/Provider/Style/URI">Cool URIs don't change</a></q> written by Tim Berners-Lee.</p>

<p>If you, as a Web master, wish to install a program on your Web site to help people to check their Web pages, the <a href="http://dev.w3.org/cvsweb/~checkout~/validator/httpd/cgi-bin/checklink.pl?content-type=text%2Fplain">source code of the W3C Link Checker</a> is freely available.</p>

<h3 id="CSSVal">CSS Validation</h3>

<p>Since 1996, Cascading Style Sheets (CSS) have provided a way of separating the structure from the style in a elegant and effective manner. In the last year (2001), many user agents (browsers) have implemented support for CSS 1 and CSS 2. Using style sheets helps you maintain all the information about the style of your documents in a single place.</p>

<p>At the date of writing this article, you can choose between <a href="http://www.w3.org/TR/REC-CSS1">CSS 1</a> and <a href="http://www.w3.org/TR/REC-CSS2">CSS 2</a> to put style in your documents.</p>

<p>Designing with style sheets has many benefits, like reducing the design cost of your Web site and increasing its interoperability (readability of your Web site on many different user agents). Designing your Web site for multiple versions of user agents with tables and JavaScript increases the cost of initial building by 30%.</p>

<p>Do not use the <code>FONT</code> element with the <code>FACE</code> attribute. It's <a href="http://alis.isoc.org/web_ml/html/fontface.en.html">considered harmful</a> from an internationalization standpoint. If you want to learn how to get rid of your font element and adopt style sheets, we encourage you to read the tutorial by Todd Fahrner <q><a href="http://style.cleverchimp.com/font_size/livetext.html">Beyond the FONT tag:
Practical HTML text styling</a></q></p>

<p>As with the W3C HTML Validation Service and W3C CSS Validation Service, you'll can check the <a href="http://jigsaw.w3.org/css-validator/">validity of your style sheet</a>. You can check the validity of external style sheets called by your document. If you wish to install your own flavor on your Web site, the <a href="http://jigsaw.w3.org/css-validator/DOWNLOAD.html">source code of the CSS validator</a> is freely available.</p>


<h3 id="WAIVal">Validating accessibility</h3>

<p>Making a Web site is not enough. Most of the time you don't know the audience. People accessing your Web site have different materials, browsers and/or specific disabilities. There are a lot of <a href="http://www.w3.org/WAI/bcase/benefits.html">business benefits to doing accessible Web design</a>. Unfortunately, it's less straightforward to validate your documents for accessibility. Some tools, like <a href="http://bobby.cast.org/html/en/index.jsp">Bobby</a>, can help you, but they are not the final answer to your accessibility concerns. You will need to do a human-checking of your content. The <a href="http://www.w3.org/WAI/">Web Accessibility Initiative</a> is maintaining a <a href="http://www.w3.org/WAI/Resources/">list of resources</a> that will help you design accessible Web sites.</p>


<h2 id="Tools">Tools to improve quality step-by-step</h2>

<p>Often people are discouraged to make Web sites valid because of the number of invalid pages they have or because they don't know where to start. It's quite simple, be SMART: <strong>Small, Meticulous, Accessible, Regular, Template</strong>. Taking small steps will help you to have a valid Web site without pain and discouragement. So, think progressively and find solutions that will make your work easier, like using a template engine.</p>

<p>Here are a list of tools that will help you have a better Web site.</p>

<h3 id="Tidy"><a href="http://tidy.sourceforge.net/">HTML Tidy</a></h3>

<p>Tidy was initially developed by Dave Raggett. It will help you make a Web page valid. Sometimes Tidy is unable to fix all the errors. Tidy is not an editing tool&mdash;it will only help you solve things.</p>

<h3 id="TopInvalid">Top invalid docs</h3>

<p>It's very difficult sometimes to know which pages of your Web sites are invalid. If you run a script that will crawl all your pages, you will have a  huge list of invalid pages.</p>

<p>So what's the solution?</p> 

<p>At W3C, Gerald Oskoboiny has developed a QA progressive tool for Web sites that doesn't overload the Web master of a site. It sends a report of the <strong>top ten of most accessed invalid</strong> documents, providing notification so they can be corrected. Each week, the Web master will receive a new report listing 10 more invalid documents. This <a href="http://lists.w3.org/Archives/Public/www-qa/2001Sep/0031.html">tool has been released to the public</a>. You can adapt it for your own needs.</p>

<p>Olivier Th&eacute;reaux, W3C, has developed a more portable and pluggable version of this tool: <a href="http://www.w3.org/QA/Tools/LogValidator/">LogValidator</a></p>

<p>This tool takes a Web server's last logs and processes it through validation modules. Those validation modules check the most popular documents' validity for a certain technology. The default module is HTML validation, but there will be  others available.</p>

<p>So you'll be able to fix the spelling of your Web pages, if you have included metadata, if the links are still valid, etc. An <a href="http://www.w3.org/QA/Tools/LogValidator/API">API documentation</a> will help you to create new modules depending on your needs.</p>

<h2 id="Acknowledgements">Acknowledgements</h2>

<p>Thanks to people who have reviewed this article: <a href="http://www.w3.org/People/Jacobs/">Ian Jacobs</a>, <a href="http://www.w3.org/People/lesch/">Susan Lesch</a>, <a href="http://www.w3.org/People/olivier/">Olivier Th&eacute;reaux</a>, <a href="http://unadorned.org/">Stephanie Troeth</a>, <a href="http://www.zeldman.com/">Jeffrey Zeldman</a> and people on the <a href="http://lists.w3.org/Archives/Public/public-evangelist/">public-evangelist mailing-list</a>.</p>

<p>This article would have not been possible without the participation of <a href="http://www.docboxconsulting.com/">Kim Nylander</a>, Technical writer, who has  reviewed and helped.</p>

</div>
<!-- Footer -->

<hr />

<div class="disclaimer">
<a href="http://validator.w3.org/check/referer"><img
src="http://validator.w3.org/images/vxhtml10" alt="Valid XHTML 1.0!"
height="31" width="88" /></a> 

<p class="author">
Created Date: 2002-04-08 by <a href="mailto:karl@w3.org">Karl Dubost</a><br />
Last modified $Date: 2009/06/14 13:34:48 $ by $Author: ylafon $</p>

<p class="policyfooter"><a rel="Copyright"
href="/Consortium/Legal/ipr-notice#Copyright">Copyright</a> &#xa9; 2000-2003
<a href="/"><acronym
title="World Wide Web Consortium">W3C</acronym></a><sup>&#xae;</sup> (<a
href="http://www.lcs.mit.edu/"><acronym
title="Massachusetts Institute of Technology">MIT</acronym></a>, <a
href="http://www.ercim.org/"><acronym
title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a
href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
href="/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
rel="Copyright" href="/Consortium/Legal/copyright-documents">document use</a>
and <a rel="Copyright" href="/Consortium/Legal/copyright-software">software
licensing</a> rules apply. Your interactions with this site are in accordance
with our <a href="/Consortium/Legal/privacy-statement#Public">public</a> and
<a href="/Consortium/Legal/privacy-statement#Members">Member</a> privacy
statements.</p>

</div>
</body>
</html>