Accessibility Techniques for CAPTCHA
Topic Technique WCAG AA Requirement
Text Alternatives Text alternative describing the purpose: If the CAPTCHA is not text-based (e.g. image or audio), a text alternative MUST communicate the purpose of the CAPTCHA, so that the user knows that this task must be completed before proceeding to the next step.
Note 1: Ideally the alternative text would allow non-visual users to complete the task, but at a minimum it should inform users of the purpose of the CAPTCHA.
Note 2: If there is an alternative CAPTCHA (e.g. in text elsewhere on the page, or in audio), the user SHOULD be notified that the alternative exists, by mentioning it either in the alternative text for the original CAPTCHA, or in the surrounding text.
WCAG 1.1.1
Text-based CAPTCHA: A method SHOULD be available in a text-based format (either as the main CAPTCHA or as an alternative) that can be converted by a screen reader to braille output.
Note: Although WCAG does not require a text-based CAPTCHA, deafblind users require a text-based method, because neither visual nor audio methods will be sufficient.
best practice
Sensory Alternatives Sensory alternative: If a non-visual user cannot pass the original CAPTCHA, an alternative method MUST be provided in another sensory modality (e.g. audio). Required
WCAG 1.1.1
Keyboard Accessibility User input controls in a CAPTCHA (or in an alternative representation) must meet all the keyboard functionality requirements. Required
Dynamic Content Any dynamic content in a CAPTCHA (or in an alternative method) must meet all the dynamic content (JavaScript, AJAX) requirements. Required
Custom Widgets Any custom widgets in a CAPTCHA (or in an alternative method) must meet all the custom widgets (JavaScript, ARIA) requirements. Required
Color and Contrast Any visual elements in a CAPTCHA (or in an alternative method) must meet all the color and contrast requirements. Required

Avoid CAPTCHAs if Possible

CAPTCHAs require human problem-solving skills — which can be difficult or impossible for users with cognitive disabilities — and often require sensory abilities — which can be difficult or impossible for users who are blind, deafblind, or deaf. It is best to avoid CAPTCHAs altogether, and instead implement smart algorithms that do not require human input.