Does WCAG 2.0 Allow CAPTCHA?
Last time we checked if CAPTCHA is Section 508 compliant. Now let's see what WCAG says about it.
When WCAG requires to provide a text alternative for non-text content, it also makes a couple of exceptions. One of them is CAPTCHA. As a text alternative for an image CAPTCHA would defeat it's purpose, WCAG requires to provide alternatives for different sensory perception.
So, the quick answer is that WCAG allows CAPTCHA. But let's see how we can implement it. While the primary requirement is to provide an alternative for different sensory perceptions, it would be very hard to try listing all kinds of different abilities/disabilities and make sure that all groups can work with your solution. Instead, let's look at the other guidelines to see what in fact makes a CAPTCHA solution accessible. Once you follow the rest of the guidelines, it will at the end fall into place, as the different solutions will enable all sensory perceptions to make use of your CAPTCHA.
Image CAPTCHA is not the only way to ensure human interaction. You can use several CAPTCHA alternatives. These can be in the form of challenge questions, or other on-screen verification.
If you decide to use a sound alternative, please understand that it is not accessible to deaf blind people, as they need a text alternative to read with their Braille display.
Regardless of what kind of solution you decide to use, ensure that your CAPTCHA has a contrast ratio, sufficient for people with visual impairment.
If you decide to use a text based human verification, ensure that text can be resized inside the browser.
Ensure that challenge questions are not only identified by text, but the text is programmatically assigned to the text fields.
All solutions have to be keyboard accessible, meaning that users can enter their response only by using the keyboard.
Also ensure that your instructions are readable. Make sure you provide clear instructions for the user to submit the response. While it is possible to eliminate robots if the challenge questions or other response assignments are very complex, this could make it impossible to use for people with cognitive disabilities.
While often overlooked, it is also important that your human verification uses valid code.
When the user does not properly make a response, ensure that all errors are properly identified.
I have only listed those guidelines which are most frequently encountered when designing a CAPTCHA solution, but it certainly does not mean that other guidelines do not apply. Once you place your human verification in context of your page, other guidelines will apply to the entire page which are not directly related to CAPTCHA.