Accessible and effective CAPTCHA

Tags:

I’ve visited the topic of different CAPTCHA methods for checking that the user sending data is a human being in a couple of occasions in the past.

There’s usually a slight problem with accessibility and ease of use in some methods – take the typical image-based CAPTCHA as an example: How would you use it with a text-only browser, or with images disabled on a mobile browser to save traffic?

I’ve previously mentioned using a form field with a simple question like “What color is the grass?”, which would work quite well. Now, there’s an interesting new kid called Figlet

Figwhat?

FIGlet is basically a tool for generating ASCII “art” out of text using different typefaces. It has been around for quite a while by now, but I haven’t seen it being used on the web very much yet, despite being highly useful.

 db   db  d88888b  db       db        .d88b.
 88   88  88'      88       88       .8P  Y8.
 88ooo88  88ooooo  88       88       88    88
 88~~~88  88~~~~~  88       88       88    88
 88   88  88.      88booo.  88booo.  `8b  d8'
 YP   YP  Y88888P  Y88888P  Y88888P   `Y88P'

 _______ __   _______ __      _______.___________.
 |   ____|  | /  _____|  |    |   ____|           |
 |  |__  |  ||  |  __ |  |    |  |__  `---|  |----`
 |   __| |  ||  | |_ ||  |    |   __|     |  |
 |  |    |  ||  |__| ||  `----.  |____    |  |
 |__|    |__| \______||_______|_______|   |__|

As you can see, it’s quite easy to read if the font is good. Guess what it looks in a text browser or with images disabled? Exactly the same!

So you can probably see where I’m going on here. It’s easy to read, it works the same in various browsers, it can use multiple fonts, it’s difficult for a computer to parse because of the fonts but easy for a human…

Implementations

There are some implementations of Figlet linked at the FIGlet wikipedia page. An early PHP implementation can be found at Zend Framework’s proposal page for Zend_Figlet, and it also includes some examples on usage and screenshots.

With good tools like this, I hope there won’t be no more incredibly annoying and ridiculous captchas like the one at Rapidshare…