Captchas are those words rendered in images that you have to type to be able to submit content to almost any public website nowadays. There is a good entry in Wikipedia so I won't go into details here...

The fact is they are pretty annoying. And some times even humans are having trouble with them. Is the case important? It is a 1 or an l? etc...

Not long ago I came across this post about Negative captchas and I must admit that the idea is interesting! Why not instead of proving you're not a robot just proving you're human.

Practically just add an hidden parameter in your form. Humans won't see it so won't populate it where robots will process it and try to give it some relevant content. Simply checking whether the content is empty on the server side proves you that the user is human! For the human user it is completely transparent. On the server side it is even simpler than managing regular captchas as you don't have to generate anything and remember it.

There is a relevant comment though on this post. What about visually impaired users? The tools they use may tell them: Hey there is a parameter here asking for an email address (or something else). So they will populate it and be refused form submission having been taken for a robot.

I guess there is a way around that by adding a title attribute to the hidden field explaining the purpose of this field to users. And in the end negative captchas could even make it easier it terms of accessibility as captchas based on images are not really accessible to visually impaired users.

I really think that with a bit of work and thought negative captcha could be a great solution to robot free form submission.