Web standards checklist

Date: 13 August 2004
Author: Russ Weakley

Web standards – more than just ‘table-free sites’

The term web standards can mean different things to different people. For some, it is ‘table-free sites‘, for others it is ‘using valid code‘. However, web standards are much broader than that. A site built to web standards should adhere to standards (HTML, XHTML, XML, CSS, XSLT, DOM, MathML, SVG etc) and pursue best practices (valid code, accessible code, semantically correct code, user-friendly URLs etc).

In other words, a site built to web standards should ideally be lean, clean, CSS-based, accessible, usable and search engine friendly.

About the checklist

This is not an uber-checklist. There are probably many items that could be added. More importantly, it should not be seen as a list of items that must be addressed on every site that you develop. It is simply a guide that can be used:

  • to show the breadth of web standards
  • as a handy tool for developers during the production phase of websites
  • as an aid for developers who are interested in moving towards web standards

The checklist

  1. Quality of code
    1. Does the site use a correct Doctype?
    2. Does the site use a Character set?
    3. Does the site use Valid (X)HTML?
    4. Does the site use Valid CSS?
    5. Does the site use any CSS hacks?
    6. Does the site use unnecessary classes or ids?
    7. Is the code well structured?
    8. Does the site have any broken links?
    9. How does the site perform in terms of speed/page size?
    10. Does the site have JavaScript errors?
  2. Degree of separation between content and presentation
    1. Does the site use CSS for all presentation aspects (fonts, colour, padding, borders etc)?
    2. Are all decorative images in the CSS, or do they appear in the (X)HTML?
  3. Accessibility for users
    1. Are “alt” attributes used for all descriptive images?
    2. Does the site use relative units rather than absolute units for text size?
    3. Do any aspects of the layout break if font size is increased?
    4. Does the site use visible skip menus?
    5. Does the site use accessible forms?
    6. Does the site use accessible tables?
    7. Is there sufficient colour brightness/contrasts?
    8. Is colour alone used for critical information?
    9. Is there delayed responsiveness for dropdown menus (for users with reduced motor skills)?
    10. Are all links descriptive (for blind users)?
  4. Accessibility for devices
    1. Does the site work acceptably across modern and older browsers?
    2. Is the content accessible with CSS switched off or not supported?
    3. Is the content accessible with images switched off or not supported?
    4. Does the site work in text browsers such as Lynx?
    5. Does the site work well when printed?
    6. Does the site work well in Hand Held devices?
    7. Does the site include detailed metadata?
    8. Does the site work well in a range of browser window sizes?
  5. Basic Usability
    1. Is there a clear visual hierarchy?
    2. Are heading levels easy to distinguish?
    3. Is the site’s navigation easy to understand?
    4. Is the site’s navigation consistent?
    5. Does the site use consistent and appropriate language?
    6. Does the site have a sitemap page and contact page? Are they easy to find?
    7. For large sites, is there a search tool?
    8. Is there a link to the home page on every page in the site?
    9. Are links underlined?
    10. Are visited links clearly defined?
  6. Site management
    1. Does the site have a meaningful and helpful 404 error page that works from any depth in the site?
    2. Does the site use friendly URLs?
    3. Do your URLs work without “www”?
    4. Does the site have a favicon?

1. Quality of code

1.1 Does the site use a correct Doctype?

A doctype (short for ‘document type declaration’) informs the validator which version of (X)HTML you’re using, and must appear at the very top of every web page. Doctypes are a key component of compliant web pages: your markup and CSS won’t validate without them.

Fix your site with the right doctype

More:

1.2 Does the site use a Character set?

If a user agent (eg. a browser) is unable to detect the character encoding used in a Web document, the user may be presented with unreadable text. This information is particularly important for those maintaining and extending a multilingual site, but  declaring the character encoding of the document is important for anyone producing XHTML/HTML or CSS.

Tutorial: Character sets & encodings in XHTML, HTML and CSS

More:

1.3 Does the site use Valid (X)HTML?

Valid code will render faster than code with errors. Valid code will render better than invalid code. Browsers are becoming more standards compliant, and it is becoming increasingly necessary to write valid and standards compliant HTML

What is valid code

More:

1.4 Does the site use Valid CSS?

You need to make sure that there aren’t any errors in either your HTML or your CSS, since mistakes in either place can result in botched document appearance.

Help! My CSS Isn’t Working!

More:

1.5 Does the site use any CSS hacks?

Basically, hacks come down to personal choice, the amount of knowledge you have of workarounds, the specific design you are trying to achieve.

Standard Hacks?

More:

1.6 Does the site use unnecessary classes or ids?

I’ve noticed that developers learning new skills often end up with good CSS but poor XHTML. Specifically, the HTML code tends to be full of unnecessary divs and ids. This results in fairly meaningless HTML and bloated style sheets.

Markup tactics

1.7 Is the code well structured?

Semantically correct markup uses html elements for their given purpose. Well structured HTML has semantic meaning for a wide range of user agents (browsers without style sheets, text browsers, PDAs, search engines etc.)

Semantically correct markup

More:

1.8 Does the site have any broken links?

Broken links can frustrate users and potentially drive customers away. Broken links can also keep search engines from properly indexing your site.

More:

1.9 How does the site perform in terms of speed/page size?

Don’t make me wait… That’s the message users give us in survey after survey. Even broadband users can suffer the slow-loading blues.

Speed Up Your Site: Web Site Optimization

1.10 Does the site have JavaScript errors?

Internet Explore for Windows allows you to turn on a debugger that will pop up a new window and let you know there are javascript errors on your site. This is available under ‘Internet Options’ on the Advanced tab. Uncheck ‘Disable script debugging’.

2. Degree of separation between content and presentation

2.1 Does the site use CSS for all presentation aspects (fonts, colour, padding, borders etc)?

Use style sheets to control layout and presentation

Web Content Accessibility Guidelines 1.0 – checkpoint 3.3

2.2 Are all decorative images in the CSS, or do they appear in the (X)HTML?

The aim for web developers is to remove all presentation from the html code, leaving it clean and semantically correct.

3. Accessibility for users

3.1 Are “alt” attributes used for all descriptive images?

Provide a text equivalent for every non-text element

Web Content Accessibility Guidelines – checkpoint 1.1

3.2 Does the site use relative units rather than absolute units for text size?

Use relative rather than absolute units in markup language attribute values and style sheet property values’

Web Content Accessibility Guidelines – checkpoint 3.4

More:

3.3 Do any aspects of the layout break if font size is increased?

Try this simple test. Look at your website in a browser that supports easy incrementation of font size. Now increase your browser’s font size. And again. And again… Look at your site. Does the page layout still hold together? It is dangerous for developers to assume that everyone browses using default font sizes.

3.4 Does the site use visible skip menus?

A method shall be provided that permits users to skip repetitive navigation links.

Section 508

Group related links, identify the group (for user agents), and, until user agents do so, provide a way to bypass the group

Web Content Accessibility Guidelines – checkpoint 13.6

…blind visitors are not the only ones inconvenienced by too many links in a navigation area. Recall that a mobility-impaired person with poor adaptive technology might be stuck tabbing through that morass.

Keep them visible!

3.5 Does the site use accessible forms?

Forms aren’t the easiest of things to use for people with disabilities. Navigating around a page with written content is one thing, hopping between form fields and inputting information is another

Accessible forms

More:

3.6 Does the site use accessible tables?

For data tables, identify row and column headers… For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells.

Web Content Accessiblity Guidelines – checkpoint 5.1

More:

3.7 Is there sufficient colour brightness/contrasts?

Ensure that foreground and background colour combinations provide sufficient contrast when viewed by someone having colour deficits

Web Content Accessibilty Guidelines – checkpoint 2.2

More:

3.8 Is colour alone used for critical information?

Ensure that all information conveyed with colour is also available without colour, for example from context or markup

Web Content Accessibilty Guidelines – checkpoint 2.1

There are basically three types of colour deficiency; Deuteranope (a form of red/green colour deficit), Protanope (another form of red/green colour deficit) and Tritanope (a blue/yellow deficit- very rare).

More:

3.9 Is there delayed responsiveness for dropdown menus?

Users with reduced motor skills may find dropdown menus hard to use if responsiveness is set too fast.

3.10 Are all links descriptive?

Link text should be meaningful enough to make sense when read out of context – either on its own or as part of a sequence of links. Link text should also be terse.

Web Content Accessibility Guidelines 1.0 – checkpoint 13.1

4. Accessibility for devices

4.1 Does the site work acceptably across modern and older browsers?

Before starting to build a CSS-based layout, you should decide which browsers to support and to what level you intend to support them.

Colored boxes – one method of building full CSS layouts

4.2 Is the content accessible with CSS switched off or not supported?

Some people may visit your site with either a browser that does not support CSS or a browser with CSS switched off. In content is structured well, this will not be an issue.

4.3 Is the content accessible with images switched off or not supported?

Some people browse websites with images switched off – especially people on very slow connections. Content should still be accessible for these people.

4.4 Does the site work in text browsers such as Lynx?

This is like a combination of images and CSS switched off. A text-based browser will rely on well structured content to provide meaning.

More:

4.5 Does the site work well when printed?

You can take any (X)HTML document and simply style it for print, without having to touch the markup.

Going to print

More:

4.6 Does the site work well in Hand Held devices?

This is a hard one to deal with until hand held devices consistently support their correct media type. However, some layouts work better in current hand-held devices. The importance of supporting hand held devices will depend on target audiences.

4.7 Does the site include detailed metadata?

Metadata is machine understandable information for the web

W3C – Metadata and Resource Description

Metadata is structured information that is created specifically to describe another resource. In other words, metadata is ‘data about data’.

4.8 Does the site work well in a range of browser window sizes?

It is a common assumption amongst developers that average screen sizes are increasing. Some developers assume that the average screen size is now 1024px wide. But what about users with smaller screens and users with hand held devices? Are they part of your target audience and are they being disadvantaged?

5. Basic Usability

5.1 Is there a clear visual hierarchy?

Organise and prioritise the contents of a page by using size, prominence and content relationships

Create a Clear Visual Hierarchy

5.2 Are heading levels easy to distinguish?

Use header elements to convey document structure and use them according to specification

Web Content Accessibility Guidelines 1.0 – checkpoint 3.5

5.3 Is the site’s navigation easy to understand?

Your navigation system should give your visitor a clue as to what page of the site they are currently on and where they can go next.

Design Tutorial – Navigation

5.4 Is the site’s navigation consistent?

If each page on your site has a consistent style of presentation, visitors will find it easier to navigate between pages and find information

Juicy studios – Navigation

5.5 Does the site use consistent and appropriate language?

The use of clear and simple language promotes effective communication. Trying to come across as articulate can be as difficult to read as poorly written grammar, especially if the language used isn’t the visitor’s primary language.

Clear language

5.6 Does the site have a sitemap page and contact page? Are they  easy to find?

Most site maps fail to convey multiple levels of the site’s information architecture. In usability tests, users often overlook site maps or can’t find them. Complexity is also a problem: a map should be a map, not a navigational challenge of its own.

Site Map Usability

5.7 For large sites, is there a search tool?

While search tools are not needed on smaller sites, and some people will not ever use them, site-specific search tools allow users a choice of navigation options.

5.8 Is there a link to the home page on every page in the site?

Some users like to go back to a site’s home page after navigating to content within a site. The home page becomes a base camp for these users, allowing them to regroup before exploring new content.

5.9 Are links underlined?

To maximise the perceived affordance of clickability, colour and underline the link text. Users shouldn’t have to guess or scrub the page to find out where they can click.

Guidelines for Visualizing Links

5.10 Are visited links clearly defined?

Most important, knowing which pages they’ve already visited frees users from unintentionally revisiting the same pages over and over again.

Change the Color of Visited Links

6. Site management

6.1 Does the site have a meaningful and helpful 404 error page that works from any depth in the site?

You’ve requested a page – either by typing a URL directly into the address bar or clicking on an out-of-date link and you’ve found yourself in the middle of cyberspace nowhere. A user-friendly website will give you a helping hand while many others will simply do nothing, relying on the browser’s built-in ability to explain what the problem is.

The perfect 404

6.2 Does the site use friendly URLs?

Most search engines (with a few exceptions – namely Google) will not index any pages that have a question mark or other character (like an ampersand or equals sign) in the URL… what good is a site if no one can find it?

Search Engine-Friendly URLs

One of the worst elements of the web from a user interface standpoint is the URL. However, if they’re short, logical, and self-correcting, URLs can be acceptably usable

How to make URLs user-friendly

More:

6.3 Does the site’s URL work without “www”?

While this is not critical, and in some cases is not even possible, it is always good to give people the choice of both options. If a user types your domain name without the www and gets no site, this could disadvantage both the user and you.

6.4 Does the site have a favicon?

A Favicon is a multi-resolution image included on nearly all professionally developed sites. The Favicon allows the webmaster to further promote their site, and to create a more customized appearance within a visitor’s browser

Favicon.com

Favicons are definitely not critical. However, if they are not present, they can cause 404 errors in your logs (site statistics). Browsers like IE will request them from the server when a site is bookmarked. If a favicon isn’t available, a 404 error may be generated. Therefore, having a favicon could cut down on favicon specific 404 errors. The same is true of a ‘robots.txt’ file.

More about this list

This checklist was first outlined in a rough form on the Web Standards Mail list in May 2004. It was presented to the Sydney Web Standards Group on 5 August 2004. It is also available as a downloadable pdf checklist for developers.

The presentation is also available in:

Thanks as always to Rose Cox for proof reading and Lea de Groot for her developer checklist suggestions.

Comments so far

  1. Excellent checklist. The only thing I could think was missing was anything about FEEDBACK. Ideally, you want some sort of feedback (:hover effects) for most links and menus, especially ones which are not explicitly obvious in nature. While not technically a web standard, this is highly encouraged for ease of usability.

  2. Russ says:

    @spencer: good points!

  3. rafat says:

    really useful tips! good work

  4. [...] I found Web standards checklist. It will be helpful when we design any web [...]

  5. [...] http://www.maxdesign.com.au/articles/checklist/ This site says that web standards can mean different things for different people.   Russ Weakly explains that it can mean a table-free site.  Using a CSS based site simply makes managing a site easier than using tables.  This site has a list of reasons why using a table-free method is better.  One reason that makes sense to a beginner is that tables are “hard to look at” in HTML.  This would obviously make the site harder to manage.  Also as stated in my previous blog web standards helps with web accessibility making it easier for people with disabilities. [...]

  6. [...] , per realizzare un sito web professionale sotto tutti i punti di vista, così quando ho trovato la web standard checklist finalmente ho avuto sott’occhi in una sola pagina il resoconto organizzato di tutti i [...]

  7. bart says:

    really wide and useful tips. but what about design? are there any rules about colors or position and shape of menu etc?!

  8. Russ says:

    @bart: That would be a good list, but an entirely different topic – a web design checklist. It sounds like it would need to cover design and usability issues. That is not something I would be keep to write as it would be very hard to define and document. :)

  9. [...] 2) Weakley, R. (2004). Web Standards Checklist. Retrieved April 3, 2010, from maxdesign.com.au: http://www.maxdesign.com.au/articles/checklist/ [...]

  10. its an amazing check list……..
    very well defined…
    thanks for sharing dis

  11. Excellent really useful checklist. thanks for sharing.

  12. [...] Recentemente se tem discutido muito sobre critérios de avaliação de um trabalho web, se é "tableless" ou não, se é "webstandards" ou não e por aí vai. Alguns defendem simplesmente trocar tabelas por divs outros defendem que apenas se o código estiver validado pelo validador da W3C é que o trabalho será webstandards. Navegando pelo site do Maujor, CSS para Web Design encontrei o CheckList para web standards que é uma tradução de um artigo do Russ Weakley. [...]

  13. Very nice web design checklist.It is really useful when I will start web designing it’s great help me. thanks

  14. Jabuke.Net says:

    [...] How does the site perform in terms of speed/page size? [...]

  15. Hello, this was a very useful checklist – 5 stars. ^^,

    I’m an extremist regarding web standards, although I’m just an amateur in the f2e world (7 months old ^^), may I add some accessibility requirement from your list.

    1. Image ‘desc’ription – although not mandatory in every images, you should at least put ‘desc’ into your logo, in case the use wants to know what the logo is all about, it is the opposite of ‘alt’, which is the short version.

    2. d-link – because ‘desc’ is not majorly supported by browsers (even the major browsers), this will serve as the alternative to link to your ‘desc’ file.

    3. skip-link – You should give users (especially for blind users using assistive technology – e.g. screen reader) to be able to skip navigation links. Skip links help the user to jump immediately to content, rather than letting them wait to read out all the links of the page before even reaching the content.

    4. default value for input elements/tags – This is useful for forms and even search features of your web site. This allows the user to know what should be typed in the field.

    Keep up the good work,
    Kind regards,
    Jelome ^^,

  16. Russ says:

    Hi Emmanuel-Jelome

    Good to hear from you. Thank you for the comments.

    Re points 1 and 2:
    I presume you are talking about the longdesc attribute?
    http://www.w3.org/TR/REC-html40/struct/objects.html#adef-longdesc-IMG

    [img longdesc="URL" alt="ALT text" /]

    We have found that although longdesc is great, it has two issues:
    1. people stopped using them some time ago so it has died out as a practice
    2. in all of our testing, blind users did not use these – they are bombarded by too much info anyway, and generally a good “alt” attribute was more than enough.

    Re point 3:
    There is info on skip links above.

    Re point 4:
    I am not a fan of adding values into input elements as a general. I think it is much more important to include a good label, with a “for” attribute that describes the input element. Labels are vital for blind users, and useful for everyone.

    One key issue with adding a value into an input field is that it should be “cleared” before users start typing – otherwise it can cause all sorts of usability issues – agin, this affects sighted and blind users.