The site uses a wide variety of client-side techniques, some of which are described here.
A frame-based structure with 'navigation' and 'content' frames requires minimal changes for new page additions, into the navigation frames.
One disadvantage of frames is that content-frames can be opened independently. Here, JavaScript forces a page into its frameset.
However, many visitors have browsers without JavaScript support, or disabled.
Every page includes a <noscript> tag, with navigation-instructions and hard-coded links to guide the user.
All non-demonstration pages are accessible without JavaScript.
A third, hidden, frame also exists. This retains variables used throughout the site. Alternatives for global-variables are transient cookies or hidden windows, but for a frames-based site, this was easiest.
The Feedback page uses many different JavaScript-based techniques.
Field validation is done on both field-exit (onblur event) and form-submission.
Techniques include:
On form-submission:
Event-handling is used for field-colour-changes and for storing cookies between sessions.
Page-visits increment array values and at session's end, the onunload event of the frameset (index.html) causes page-visit counts and other values to be written to the document.cookie.
Of the options:
I chose the latter for coding style - despite its failure in Opera which does not support onunload (or many events).
All pages have been defined to use the English language and all define the international-standard for (western) characters, charset=iso-8859-1.
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
All pages have been validated to W3-recommendations, using 'XHTML1-Strict' wherever possible. (Deviations from this standard are explained when they occur - see Validation Chart). This helps accessibility through adherence to common standards.
By using Netscape as a development browser, access is given to the JavaScript console, which pinpoints the location of syntax errors.
There are plenty of resources on the web; the browser-detection code that is used was found there, and familiarity with www.W3.org and development sites is essential.
There should be a designer's page.
This page should list and summarise the client techniques that you have employed in the implementation of your site, and state why you have used them.
These techniques might be the same as or different from those of the illustrative JavaScript examples.
More weight will be given to the explanation of why you have taken the approach and used each of the techniques.
You should also briefly describe any measures you have taken to improve accessibility, browser independence and internationalisation of your site.
The designer's page should be no more than 500 words long.