Scripts and widgets
This library is all about getting back to basics — there's no tag soup, no annoying mouse-trails or pointless visual effects, only scripts which are genuinely useful, standards-compliant, and as sensitive and accessible as they can be (with reliance on scripting a given). Scripts that give control back to users, instead of trying to wrestle it away from them.
I'm not trying to build an all-encompassing library here, or trying to cater for every possible need. There are plenty of resources for that already out there, and anyway, the growing popularity of JavaScript frameworks is making such things essentially redundent.
No, what you've got here is a sort of boutique, if you like — a novel
collection of scripts that I develop because I need them myself, or because I was
curious to try something out, or because somebody asked me to develop something
specific. Obviously I can't publish everything I write, because much of my work is
for, and ultimately owned by, paying clients. But everything I can publish,
I generally do; and here we are
You'll also find a strong emphasis on accessibility in everything I write. As far as possible, every interface is accessible to the keyboard, and every script plays nicely with screenreaders, to the best of my knowledge and ability. I also do my best to develop with internationalization in mind, and I always have education at the back of my mind (especially when I'm commenting my code!)
Notes and specs
The majority of the scripts in this section are client-side, written purely in JavaScript.
However some of the scripts are marked with a
symbol, and these are either entirely server-side, or they're hybrid scripts that use
PHP for server interactions.
Dependencies
All the client-side scripting stands alone — there are no dependencies on external frameworks. This means you can pick and choose little bits of functionality you need, without the overhead of an entire library with loads of things you don't. It also means you can see what the code is doing, which should be helpful if you're interested in learning more about JavaScript, rather than merely using it.
MIME compatibility
All the scripts work within XHTML
served as application/xhtml+xml (as well
HTML or
XHTML served as
text/html).
Browser compatibility
Some of the scripts only work in a limited number of browsers, and in each case the page will say which are supported.
But most work in all modern graphical browsers, and this specifically means: Opera (for Windows, Mac OSX and Linux); Mozilla browsers like Firefox or Camino (for Windows, Mac and Linux); Safari (for Mac OSX, including OmniWeb 4.5 or later); Chrome (for Windows); Konqueror (for Linux); Internet Explorer 6 or later (for Windows).