Checklist for a web programmer

1. Quality of code

1. Does the site use a correct Doctype?
A doctype informs the validator which version of 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.

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.

3. Does the site use Valid 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.

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. CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, color, etc) to structured documents.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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

1. Does the site use CSS for all presentation aspects (fonts, color, padding, borders etc)?
Use style sheets to control layout and presentation.

2. Are all decorative images in the CSS, or do they appear in the 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

1. Are “alt” attributes used for all descriptive images?
Provide a text equivalent for every non-text element.

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’.

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.

4. Is there sufficient color brightness/contrasts?
Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits.

5. Is color alone used for critical information?
Ensure that all information conveyed with color is also available without color, for example from context or markup.

6. Is there delayed responsiveness for dropdown menus?
Depending upon the need and requirements of the layout dropdown used in the website should not be too heavy to load on page.

4. Site management

1. Does the site have a meaningful and helpful 404 error page that works from any depth in the site?
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.

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?

3. Do your URLs 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.

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.