Russ Weakley
13-August-04
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
Quality of code
Does the site use a correct Doctype?
Does the site use a Character set?
Does the site use Valid (X)HTML?
Does the site use Valid CSS?
Does the site use any CSS hacks?
Does the site use unnecessary classes or ids?
Is the code well structured?
Does the site have any broken links?
How does the site perform in terms of speed/page size?
Does the site have JavaScript errors?
Degree of separation between content and presentation
Does the site use CSS for all presentation aspects
(fonts, colour, padding, borders etc)?
Are all decorative images in the CSS, or do they appear
in the (X)HTML?
Accessibility for users
Are "alt" attributes used for all descriptive
images?
Does the site use relative units rather than absolute
units for text size?
Do any aspects of the layout break if font size is
increased?
Does the site use visible skip menus?
Does the site use accessible forms?
Does the site use accessible tables?
Is there sufficient colour brightness/contrasts?
Is colour alone used for critical information?
Is there delayed responsiveness for dropdown menus
(for users with reduced motor skills)?
Are all links descriptive (for blind users)?
Accessibility for devices
Does the site work acceptably across modern and older
browsers?
Is the content accessible with CSS switched off or
not supported?
Is the content accessible with images switched off
or not supported?
Does the site work in text browsers such as Lynx?
Does the site work well when printed?
Does the site work well in Hand Held devices?
Does the site include detailed metadata?
Does the site work well in a range of browser window
sizes?
Basic Usability
Is there a clear visual hierarchy?
Are heading levels easy to distinguish?
Is the site's navigation easy to understand?
Is the site's navigation consistent?
Does the site use consistent and appropriate language?
Does the site have a sitemap page and contact page?
Are they easy to find?
For large sites, is there a search tool?
Is there a link to the home page on every page in
the site?
Are links underlined?
Are visited links clearly defined?
Site management
Does the site have a meaningful and helpful 404 error
page that works from any depth in the site?
Does the site use friendly URLs?
Do your URLs work without "www"?
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:
http://www.w3.org/QA/2002/04/valid-dtd-list.html
http://css.maxdesign.com.au/listamatic/about-boxmodel.htm
http://gutfeldt.ch/matthias/articles/doctypeswitch.html
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:
Character encodings
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:
W3C Markup Validation Service
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:
W3C CSS Validation Service
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:
CSS Hacks
To hack or not to hack
CSS filters
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:
Semantic data extractor
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:
W3C Link checker
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.
Why use CSS to separate content from presentation?
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:
Web Content Accessibility Guidelines - checkpoint
3.4
How to size text using ems
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:
Accessible html/xhtml forms
Accessible form builder
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:
How to create accessible tables
Accessible table builder
Creating accessible tables
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:
Colour Contrast Analyser
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:
Colourblind Webpage filter
Vischeck
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:
Lynx Viewer
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:
Web Design References - Print
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:
Creating Search Engine Friendly URLs
How to make URLs user-friendly
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:
Bulgarian, thanks to Boby Dimitrov
Chinese, thanks to Jjgod Jiang
Spanish, thanks to Osvaldo Rainero
Italian, thanks to Franco Carcillo
Italian, thanks to Livio Mondini
French, thanks to Christophe Ducamp
German, thanks to Mario Mueller
Polish, thanks to Krzysztof Szafranek
French (Quebec), thanks to Chantal Ide
Portuguese, thanks to Mauricio Samy Silva
Czech, thanks to Vit Dlouhy
Russian, thanks to Alex Kachanov
Finnish, thanks to Kalamuki
Serbian, thanks to Goran Mitic
Hungarian, thanks to Krisztian Klisics
Norwegian, thanks to Tormod Rangnes
Dutch, thanks to Ramon Eijkemans
Romanian, thanks to Adrian Sandu