Markup and Robustness Evaluation Tools

Importance of Valid and Robust Code to Accessibility

There is more to ensuring the accessibility of a web site than checking it with an accessibility evaluation tool. Accessibility tools scan the source code of a web page using interpretations of either the United States Rehabilitation Act Section 508 standards and/or the World Wide Web Consortium's Web Content Accessibility Guidelines 1.0 (WCAG). These tools can help individuals spot glaring accessibility errors and remind users of accessibility issues that require manual checks, but they cannot determine whether the code for your site is valid and robust. Valid and robust code is a necessary ingredient for accessibility that must be checked using tools that examine the source code of a site for validity and robustness, in other words, markup and robustness evaluation tools.

Valid code

As a general rule valid code is properly formatted and based on standards created by the World Wide Web Consortium (W3C), who establishes what is and is not "valid" code for the web. The importance of valid code to accessibility can be examined when looking at what happens with invalid code. Invalid code creates problems for browsers and assistive technologies, many of which function as simple text browsers. The W3C describes browser difficulties with invalid code in the following statement.

All browsers know how to deal with correct HTML.... Since there are hundreds of different browsers, and more coming all the time (not only on PCs, but also on PDAs, mobile phones, televisions, printers, even refrigerators), it is impossible to test your document on every browser. If you use incorrect HTML and your document doesn't work on a particular browser, it is your fault; if you use correct HTML and it doesn't work, it is a bug in the browser. http://www.w3.org/MarkUp/2004/xhtml-faq - external link

Valid code is simply more predictable and browsers and assistive technologies need predictability in order to present web content in an accessible way. They do try to make guesses when the code isn't valid, and usually those guesses are correct, but not always.

Robust code

Robust is a word that means strong, and powerful. It also carries a connotation of elegance in addition to just careful attention to detail. What characterizes robust code from other code is its ability to recover gracefully from a whole range of exceptional inputs and situations in a given environment. When creating robust code you must take into consideration error recovery.

The concept of robustness is also becoming very important in web accessibility standards with the drafts of WCAG 2.0. The fourth principle in these standards (as currently written in the Nov. 19, 2004 working draft) states: Content must be robust enough to work with current and future technologies. This means that you should use technologies that maximize the ability of your content to work with current and future web browsers, assistive technologies, and other programs.

Unfortunately not all web accessibility standards and guidelines embrace this concept as fully as WCAG 2.0. In general WCAG 2.0 is more forward thinking and will be the standard in the future. Current accessibility standards and guidelines, like Section 508 of the United States Rehabilitation Act and WCAG 1.0, don't address robustness as a major issue.

Different Types of Markup and Robustness Evaluation

There are several different types of markup and robustness evaluation tools that will be generally described here. The use of these types of tools can help you determine whether the code for your site is valid and robust. These tools include HTML validators, CSS validators, link checkers, and tools that determine page weight.

HTML validators

HTML validators can tell users whether or not their code is valid or invalid. HyperText Markup Language (HTML) validators check the markup language of a web page against its document-type definition (DTD). A DTD for a Web page is listed before the <html> tag in the source code and defines the type of HTML being used and the markup tags that can be employed within the page.

For web content to be considered accessible it must follow current standards for HTML, which means that it should have standards compliant, valid code as determined by an HTML validator. A simple example of how valid code can create more accessible content can be seen with alternative text for images. Valid HTML requires alternative text which is also a key accessibility requirement.

CSS validators

Cascading Style Sheet (CSS) validators make sure that your style sheets meet the CSS specification created by the W3C. Valid CSS is necessary to ensure a consistent look across a wide variety of browsers.

Cascading Style Sheets provide precise control over font size, color, and style displayed in a web page. Style sheets help make sites more accessible by separating document structure (HTML markup) from presentation. According to the W3C in their document Accessibility Features of CSS - external link "By separating style from markup, authors can simplify and clean up the HTML in their documents, making the documents more accessible at the same time." This document also mentions another important accessibility benefit when using CSS.

"CSS allows users to override author styles. This is very important to users who cannot perceive a page with the author's chosen fonts and color. CSS allows users to view documents with their own preferred fonts, colors, etc. by specifying them in a user style sheet."

Some additional benefits to using CSS include faster loading sites that are better looking and more flexible. Adjustments to the design of a web site become quick and easy to accomplish when just one file, the Cascading Style Sheet, needs to be changed.

Page weight

As a general rule of web design and usability, users typically spend only seconds on any given page. They also lose interest quickly. If a web page doesn't download within a reasonable period of time, which is a couple of seconds, they will either think something is wrong and go elsewhere, or lose interest and go elsewhere. To get quick download speeds your web site must be streamlined. This includes using Cascading Style Sheets and standards compliant, valid code.

" ... structured HTML with a dollop of CSS will lead to lighter, faster pages than old-school methodologies.... web standards should also lead to greater consistency in design (from a central CSS file), better reliability and much improved accessibility." http://www.htmldog.com/ptg/archives/000033.php - external link

Another benefit to creating streamlined web sites that are very small in size, due to their valid code and use of CSS, is that they are often times more accessible.

"A properly constructed XHTML page with external CSS stylesheets will keep your pages' bulk to a minimum. This allows screen readers, Braille interpreters, and [browser] spiders the ability to properly digest your information without choking on excess fluff." Optimizing Your Chances with Accessibility, Brandon Olejniczak, Digital Web Magazine, March 10, 2004 - external link

List of Markup and Robustness Evaluation Tools

The different types of markup and robustness evaluation tools discussed in this section examine the source code of a web site for validity and robustness. Since valid and robust code is a necessary ingredient for accessibility, web designers, developers, and evaluators should familiarize themselves with these types of tools. To aid in this process, WebAIM has created the following list of markup and robustness evaluation tools listed alphabetically by type (HTML, CSS, links, page weight, and others).

HTML tools

A Real Validator - external link
Shareware HTML validator for Windows; offline version of the WDG HTML Validator - external link.
BBEdit - external link
Shareware text and HTML editor for the Macintosh that includes an HTML validator.
CSE HTML Validator - external link
HTML, XHTML, and CSS validator. Also checks accessibility, links, and spelling. Commercial pro version and free lite version.
HTML Code Cleaner - external link
Lint reduces size of HTML files by removing unnecessary tags and spaces.
HTML TIDY - external link
Free cross-platform utility for cleaning up HTML.
HTML and XHTML Syntax Checker - external link
Locates Web page coding errors, lists error number and page source.
HTML/XHTML/XML validator - external link
Validates and repairs HTML, XHTML, and XML.
Search Engine World Validator - external link
HTML and XHTML validator. Validates by URL and file upload.
STG XML Validation Form - external link
Syntax validator for XML documents.
Validation Bookmarklets - external link
Javascript bookmarklets which check alt text, broken images, small screen readability, and HTML validity.
Validator-Lite - external link
Free HTML and XHTML validator for Linux and other Unix-like systems.
Validome - external link
Online HTML, XHTML, and XML validator available in German and English.
W3C MarkUp Validation Service - external link
Online HTML and XHTML validator.
XHTML 1.0 Validator - external link
Validates XHTML 1.0 documents against the appropriate XML schemas published by the W3C.

CSS tools

CSE HTML Validator - external link
HTML, XHTML, and CSS validator. Also checks accessibility, links, and spelling. Commercial pro version and free lite version.
CSSCheck - external link
A free CSS checker created by the Web Design Group.
W3C CSS Validation Service - external link
A free, easy-to-use CSS checker.

Page weight tools

Accessibility Extension for Mozilla/Firefox - external link
Browser accessibility resource for Web designers. Page size is found under the Information button.
AIS Accessibility Toolbar - external link
Browser toolbar able to examine Web pages for a variety of aspects of accessibility. This includes page weight under the menu Doc Info, Page Weight/Speed.
Dr. Watson - external link
Checks HTML code, links, spelling, download time and link popularity.
Web Developer Extension - external link
Browser toolbar for Mozilla-based browsers has various tools to help Web developers. Page size can be found using the Information menu.
Web Page Analyzer - external link
Free Web site performance tool and Web page speed analysis.

Other tools

Alpine HTML Doctor - external link
Identifies HTML errors, corrects them, and generates a repair file.
Demoroniser - external link
Corrects incompatible HTML generated by Microsoft applications.
HTML Code Cleaner/Compressor - external link
Optimizes HTML documents and checks links. Commercial software with free trial.
HTML Shrinker - external link
Removes unnecessary characters from HTML, CSS, Perl, JavaScript and many other Web file formats. Commercial pro version and free light version.
Microsoft Word 2000 HTML Mess Cleaner - external link
Removes clutter from Microsoft Word 2000-generated HTML.
UITest.com resources - external link
A good collection of links to validators.
Walidator - external link
Portal to several validators and URL analyzers.
WDG HTML Validator - HTML Help - external link
Produces easy to read HTML error messages. Can validate one page or a batch of pages at one time.
Web Mechanic - external link
Validator and lint eliminates redundant or conflicting tags and compresses image files. Pay service.
Web Page Backward Compatibility Viewer - external link
Allows authors to view a page with selected tags unsupported. This is a good tool for ensuring cross-browser compatibility.
Web Page Purifier - external link
Allows authors to check how a webpage looks with different HTML versions.
Web Validators - external link
Links to validators for XHTML, HTML, CSS, RSS, XML, and RDF documents.
VSE Web Site Turbo - external link
MacOS. Image and HTML lint. Commercial software; partially-functional demo.

See also:

Related WebAIM Resources

WebAIM is an initiative of:
Center for Persons with Disabilities (CPD) Utah State University