[EDITOR’S NOTE: Twitter is a ‘microblogging’ system that allows people to supply a feed of very short messages, or ‘tweets’ – just 140 characters long, to whoever subscribes to their feed. Subscribers can then reply openly with their own messages, or use the system to send private messages in reply. However, despite the fact that it is such a simple concept (and leaving aside for the moment the question of who has time to use it), the service raises various accessibility issues. Here, blogger Gez Lemon offers one innovative solution.]
Considering the standard Twitter website is so basic, it’s surprising it is so inaccessible.
There are many accessibility problems with Twitter, but by far the biggest issue is the use of various links that can only be activated using a mouse. The links for making a particular tweet a favourite; the links for replying to a particular tweet; and the links to delete a tweet or direct message can only be activated using the mouse on the standard Twitter website. The favourite, reply and delete links are revealed when the user hovers the mouse over a tweet.
Hiding actions and only revealing them when the user moves the mouse results in a very poor user experience for everyone, since many mouse users will be unaware that the functionality exists at all. But for keyboard-only users, the situation is far worse, as they could never possibly know the functionality exists.
Twitter also offers a set of commands to use with Twitter updates, including an ‘@username’ command to send a reply to a particular user. However, use of these commands from the keyboard does not offer the full functionality available to mouse users, who can click on function buttons.
The syntax for the manual command is ‘@username message you want to send to the user’. While useful, there are two significant difficulties with this syntax.
First, the reply is associated with the last tweet the user sent. If the user has sent tweets since the particular message a user intends to reply to, the reply is associated with the wrong tweet. By contrast, the reply is always associated with the correct tweet when using the mouse-operated reply button.
Second, the user has to physically type the username. As usernames aren’t always simple to remember, the user sometimes has to copy and paste them. By contrast, the name is automatically put into the reply box with the correct syntax, and associated with the correct tweet, when a user hits the reply button.
So overall, using commands to manually send replies is not an equivalent for a button that does everything for the user.
There is also a manual ‘FAV’ command to make a tweet a favourite. The syntax is ‘FAV username’, which will make the last tweet by the user a favourite. But as with replies, the FAV command assumes you are talking about the very last tweet from a user, which may or may not be the case, and once again requires the user to type the username.
Keyboard-only users also cannot delete tweets or direct messages, as there are no manual commands for deletion.
So how to solve these problems?
In fact, there are so many accessibility issues with Twitter that I originally wanted to build an entire new accessible application for using Twitter. The problem is that I wouldn’t have the bandwidth to run a server-side Twitter application, and Twitter doesn’t currently use ‘OAuth’, an open authorisation system that allows other applications to interact with it, without which I would have to ask users to trust me directly with their usernames and passwords.
When discussing this on Twitter, one correspondent Derek Feather suggested using ‘Greasemonkey’, a plug-in for the Firefox web browser that allows users to install scripts to change web pages. This was a good idea, as it at least allowed the biggest accessibility problems to be addressed immediately.
So it was that I wrote the ‘Focus Twitter Greasemonkey’ script. The script reveals Favorite, Reply and Delete links when appropriate for each tweet in the timeline. The link phrases have contextual information for assistive technology, but hidden visually, as the links are clearly grouped with the tweet to which they belong. I also removed the avatar from the keyboard tab order to reduce the number of redundant links for keyboard-only users, as the name immediately by the side of the avatar activates the same link. I have left the link in place so that mouse users have a larger target area, as they can click on the avatar.
If you don’t already have Greasemonkey installed, you will first need to install Greasemonkey in Firefox first. After installing the extension, select the Focus Twitter Greasemonkey script, and you will be prompted to install the script. From then on, you will have access to reply, favourite and delete links using the keyboard.
This goes to show what’s possible, but more needs to be done. Web 2.0 has great promise, offering software developers the ability to get rich applications out to a wide audience on multiple platforms, but basic usability principles are often overlooked. Software developers have a responsibility to ensure their applications are accessible and usable by everyone, regardless of ability.
Gez Lemon runs Juicy Studio: