All in the <head> – Ponderings and code by Drew McLellan –

Web Standards and Accessibility with Adobe Spry

Two years ago, I wrote a brief critique of what was then Adobe’s brand new Ajax framework, called Spry. At the time I noted how its use of obtrusive JavaScript techniques and liberal application of custom attributes would not only invalidate your web pages, but also make them impossible to use without JavaScript and hamper usability for users of assistive devices. A little over a year ago, Roger Johansson made similar observations of the framework, which at that point had changed little if at all.

Back in October of last year, Adobe released a brand new version of Spry, version 1.6, and I was contacted and asked to take another look at it. Adobe were keen to demonstrate that they’d listened to community feedback and had made radical changes to ensure that the issues they were criticised for in the past had been addressed. I spent around half an hour on a webcast with a bunch of the Spry team going through the improvements and demonstrating how although by default Spry still used obtrusive scripting techniques, it was perfectly possible to use it unobtrusively too. Whilst still not perfect, this was a massive improvement.

Adobe sent me a copy of Spry 1.6 to try myself, and I promised them I’d write a new review based on all the good new stuff. Despite a quick update to the original review to point out that it was out-dated, I let the Spry team down there because after all these months I’ve still not finished and published my review. A bit embarrassing, but sometimes life gets in the way of these things. In an attempt to finally get it finished, I sat down this morning and fired up Dreamweaver to give it a workout.

The guys at Adobe Labs have published some great articles about how unobtrusive JavaScript techniques can now be used with Spry, about getting Spry pages to validate and an entire section on best practises – all really good stuff that I was ready to try out.

After a quick poke around it became evident that the version of Spry in Dreamweaver CS3 is version 1.4, and not the much improved 1.6, so I went to Adobe Labs to grab the latest version. I spotted that a preview of version 1.6.1 was available to try out, and thought that would be the best version to go with as it’s clearly the most up-to-date. Clicking the link to download the update prompted me to log in to my Adobe account.

I know I must have an Adobe account. I certainly used to have a Macromedia account, as it was required to manage the extensions I had uploaded to the Macromedia Exchange, so I tried out some likely email address and password combinations until I found one that was accepted. This presented me with a screen stating that my email address was registered with both an Adobe account and a Macromedia account and that I should now enter the password for whichever of those two I’d not just successfully logged in with. Sigh. After trying a few more likely passwords, I gave up and requested a password reminder. I’m still waiting for that to show up, about an hour later.

With no sign of my password reminder, I thought I’d just register another account with a new email address (a Gmail account) so I could get access to the update. As part of the process for creating a new account I was asked to pick a ‘screen name’, which apparently needs to be unique. Why I should need a screen name for getting access to a software update I don’t know – but after five or six attempts at trying to find something that was both memorable and available, I could take it no more and did eventually just give up.

Adobe: having great engineers working on significant software improvements is all a total waste if you hide those updates behind an account system that prevents customers accessing them. Updating software isn’t anybody’s favourite task, and it’s unlikely customers will jump through hoops to do so. I’m pestered most days by the Adobe Updater application, yet somehow it didn’t deliver me Spry 1.6. I’m thoroughly confident that the improvements to how Spry works are excellent, however it’s meaningless if people aren’t using it.

So despite what I understand to be massive improvements in how Spry works to enable pages to remain both accessible and valid, I’ve still not got a review done. Instead, I’m writing this while I wait for my password reminder.