Scripting Languages: Client-Side and Server-Side
Often one of the most contentious issues in web site development is the use of Scripting Languages, and the choice between client-side and server-side scripting solutions. Developers must remember that in the spirit of Universal Accessibility, not all user agents will support client-side scripting. For example, older technologies may not support JavaScript, or newer, cutting edge application such as cellular phones, PDAs or similar devices. Occasionally, users may also disable client-side scripting due to security concerns of similar considerations. For this reason all "Mission Critical" scripting MUST reside on the server side for universal accessibility. These include, but are not limited to Search Functions, content inclusion ("e.g. "Date Last Modified") and form validation. This also includes most AJAX driven applications.
While JavaScript should only be used for non-essential functions such as "mouseover" behaviors, when employed, ensure that event handlers are device independent. For example if using "onMouseover" and "onMouseout" also use "onFocus" and "onBlur".
Further Reading:
- 10 "must read" articles on AJAX, Accessibility and Web 2 technology: http://soap.stanford.edu/show.php?contentid=65
- Making AJAX work with Screen Readers: http://juicystudio.com/article/making-ajax-work-with-screen-readers.php
