WARNING!!: This article is old and out of date. CAPTCHAs evolve regularly, and while some features of this particular implementation of CAPTCHA may have been accessible at the time, there is no guarantee they still are accessible. In general, CAPTCHAs go against the principles of accessibility, despite the fact that some of the mechanisms used may be considered accessible.

We have kept this article live for historical purposes only.

Let me get this out of the way right up front just so there is no doubt.

I don’t like CAPTCHAs. Never have, and probably never will. I understand their usage and why they are appealing. In an nutshell, site owners and stakeholders need to protect their sites and services from abuse by automated bots, so they employ some type of challenge to people using the site to solve a visual or audio “puzzle” in order to proceed with their transaction.

The philosophy behind CAPTCHA has always seemed wrong to me. It’s as if we’re saying “Yes, we have this technical problem, and in order to make my life easier, we’re going to make your life tougher.” That doesn’t sit well.

To solve a CAPTCHA, you have to read and transcribe a series of squiggly, distorted letters and numbers. Audio forms exist too, but they’re just as difficult to solve, often using computer generated speech or recorded human voices to read out a series of numbers that are difficult to distinguish from generated background noise.

Whether you are blind, deaf or hard of hearing, whether you have low-vision, some type of mobility or dexterity impairment, or even some type of cognitive difficulty, CAPTCHAs have been a thorn in the side of people with disabilities since the use of these techniques was popularized on the web.

Google introduces the No CAPTCHA reCAPTCHA

Yesterday, Google announced that they’re rolling out changes to their reCAPTCHA, calling it the No CAPTCHA reCAPTCHA. They’ve replaced the challenge of deciphering characters or audio with a simple action to be taken by the person using the site. You now simply need to check a box that proudly declares:

“I’m not a robot”

We were pleasantly surprised to see this change. Why? The very issues that make CAPTCHAs difficult for most people with disabilities to solve are (almost) quite literally gone. The distorted characters are tough enough to read for people with perfect vision, let alone those that have some form of low-vision. The audio CAPTCHA was always provided for someone that can’t see the screen. But if this checkbox works, we don’t need that audio version any more.

Healthy skepticism

Our team was skeptical yesterday when we read about this change. The related Wired article (“Google Can Now Tell You’re Not a Robot With Just One Click”) really worried us. It implied that they weren’t thinking about keyboard users at all. Statements like these from the article gave us cause for concern:

“even the tiny movements a user’s mouse makes as it hovers and approaches a checkbox can help reveal an automated bot”

“The giveaways that separate man and machine can be as subtle as how he or she (or it) moves a mouse in the moments before that single click.”

Internal conversation yesterday went something like, “Oh, this sounds awesome!” and “I wonder if works with a keyboard?” and then moved to, “Because every web user uses a mouse, right?” “What if they didn’t test it with any AT (assistive technology)?” and “Oh, man… the irony. Today is International Day of Persons with Disabilities.”

So, we ran it through some tests, because this No CAPTCHA will only work for people with disabilities if it works well with screen readers, voice recognition software and other assistive technologies.

Testing results

Our healthy skepticism was soon replaced with surprise, and maybe even a reserved delight.

We ran a couple of their implementations through a few tests. We used the Snapchat support login and the WordPress.com registration forms as reference examples:

  1. We tested it without any assistive technology for simple keyboard use. Can I use the keyboard to check that checkbox, and can I see the keyboard focus to know where the cursor is? Yes, I can.
  2. We tested with a couple of screen readers (VoiceOver running on a Mac, Narrator on Windows 8.1, and NVDA on Windows 7). Does the checkbox get announced by the screen reader as a checkbox, even though it clearly is NOT a native checkbox? And does it work properly when checking off the checkbox using the keyboard by pressing the space bar or double-tapping on the touch screen? Yes, on both counts. Google added ARIA’s role="checkbox" to ensure that modern screen readers treat the span as a checkbox, and they allowed that span to take the focus using tabindex.
  3. We tested with Dragon NaturallySpeaking. Using Dragon, can someone look at the screen and say “Click checkbox” or “Click I’m not a robot” to effectively click the checkbox? Yes, on both counts.

If for any reason the risk engine can’t determine that you are a human just by checking off the box, they have a fall back mechanism to prompt you for more information. It kind of falls back to the old squiggly character with audio support model. That may be a challenge still, but it worked reasonably well from a keyboard and “compatible with assistive technology” perspectives.

That isn’t an exhaustive testing regimen, but all those signs are incredibly positive that the team that implemented this at Google considered accessibility needs. We’ve already launched an internal project to test more extensively with other assistive technologies like ZoomText, ChromeVox, JAWS and other screen readers. And, more importantly, we’ll be testing this with people with disabilities to see how it performs in the real world so that we’re not just relying on these technical tests. We’ll be sure to let you know how that goes, but these preliminary results are very encouraging.

Yes, that’s right. I said it. Google has very clearly made a difference for people with disabilities with the rollout of this No CAPTCHA solution. Kudos to you, Google.