




We have over 8 years of experience in web development. The web has always been an ever-changing environment not just in terms of content but also in terms of the technology with which it can be presented to people.
Unfortunately many web developers are still using outdated technology, in part because desktop tools haven't been able to embrace the newer concepts and in part due to ignorance of the "new way". Substantial benefits can be gained from using such techniques.
Where a web browser doesn't support a given feature, it's often possible to provide some form of workaround to enable the page to work in that browser. This allows the advantages of the techniques while ensuring that pages work in older browsers. This is called "graceful degradation".
CSS
Cascading Stylesheets are a language for providing formatting information for HTML documents.
CSS allows a seperation of content and style, which gives certain benefits:
XSL and XML
CSS doesn't provide sufficient power for complete theming. To a certain extent you can replace the stylesheets and change the presentation of information, but some presentational information is still encoded in the HTML web page. Most notably, the order of the content is encoded in the HTML, which doesn't always make sense (should a menu come before the prose or afterwards?)
Creating documents in a completely presentation-neutral language called XML and transforming it into HTML with XSL (all W3C standards) provides that flexibility.
Server-side processing
When producing interactive content, there is a choice between server-side and client-side processing. Server-side means that the server is programmed to do the processing; client-side means that some form of program is sent to the web browser and run there. Client-side programming requires support within the browser for executing the type of code you send it; server-side code is inherently request-driven which means that less interactivity is possible.
Server-side processing guarantees accessibility by browsers which don't support any form of client-side code. Dependence on client-side code can mean that your site is inaccessible to those whose browsers don't support the client-side language you use and those who choose to disable client-side code.
AJAX & modern client-side utilities
Server-side processing is vital to almost all web applications. However, we are increasingly able to improve the web experience by the addition of client-side processing on top of server-driven applications.
This empowers us to deliver more easy-to-use, more interactive sites and smaller page load times through to vastly better ways of interacting with visitors and delivering and receiving information.
Historically, the use of extensive client-side scripting has been largely overlooked by the professional web development community because of certain specific omissions from the client-side platforms which would have made these approaches unworkable. These problems are now, for the most part, rectified.
Tables for layout
Tables are grid-like structures originally intended for tabular data. However a lack of powerful formatting tools combined with quite a lot of flexibility in table markup meant that tables were widely adopted for layout purposes.
Transparent images for layout
Tables give the browser a lot of flexibility as to how to render content. Some web developers sought to impose more rigidity by using transparent images which don't show up but do affect layout by padding out certain distances and so on.
Font Tags
Font tags and similar presentational markup was introduced by Netscape into HTML to allow for different font sizes and colours.
Marquees, Blink Tags and AnimationAll of the above forms of animation are heavily distracting. Some can reduce accessibility or in rare cases trigger epileptic fits in epileptics.
Macromedia Flash
Flash is a technology for embedding animated vector graphic in webpages. Flash does look very good, but that won't be a comfort to visually impaired visitors!
Flash can't be fully replaced by accessible techniques at the moment but there is hope that SVG might one day provide a similar technology without the accessibility problems.
There is no standards procedure for Flash: it is controlled by Adobe. There is one tool for creating Flash. Open standards might expect thousand of tools, generating a lot more power for developers like us. There is a lot more potential with SVG, so there are ideological reasons for us to avoid Flash as much as possible.
Framesets
Framesets are the HTML technique used to divide the browser's page area into seperate rectangles, with a different page displayed in each. Many sites use framesets to separate navigation pages from content, such that the navigation is kept on-screen at all times. This is largely a hallmark of sites which don't accomodate server-side processing. With a tiny amount of processing, navigation and titles can be incorporated into every page, which provides significant advantages over the frameset technique.
