Don't use captcha's
Nearly every website on the internet does not need to use Captcha's. To think that you do is incorrect and puts the burden on the user. It is up to web developers to not punish users for problems that we should be handling. Using captcha's to prevent spam is not a reason to place one on a website.
There are many other techniques that we can employe to try to figure out if the form was filled out by a human or a robot.
- Set the current time in a hidden element in the form and if the form is filled out too quickly you can safely assume a robot did it
- Create a hidden field that should not be filled out, if it does get filled out, then you can assume a robot did it
- Get better spam protection software, we can't eliminate all spam, but we can stop them before reaching us
There's many more creative ways to find out if robots or people are completing your web forms. Just don't put the responsibility on the users of your website, it's not up to them and should never be up to them to prove that they are human. It is up to us to prove they are a robot.