Forms are a popular way for spam bots to send unwanted emails. To stop them, Captchas were implemented. A Captcha is a Completely Automated Public Turing test to tell Computers and Humans Apart (invented by Alan Turing). But most commonly used methods are not ideal for accessibility:

  1. Images
    are a problem for people with a visual impairment. In best case there is an alternative, but this must be found and used as well.
  2. Interactive tasks ("Put the ball in the box!")
    are difficult for people with motorical restrictions.
  3. Repeating letters or solving a math exercise
    is hard for people with dyslexia or dyscalculia. They can often be hardly read as well, especially with an visual impairment.
  4. Repeat audio
    may be difficult to understand due to bad quality computer voices or background noises.

These methods are possible to be implemented accessible, but even more user-friendly and accessible are alternatives that do not need user interaction at all.

Captcha Alternatives

Common alternatives are:

  1. A hidden field (honey pot or bot trap)
    Bots normally fill out every field to catch all required fields. If a hidden field is filled out, it is likely a bot - as a human does not see that field. For an accessible usage it is important to make a good implementation so that for example it is not focused when using the keyboard.
  2. Minimum fillout time
    A human reads what is asked for in the form and fills it out. This takes some time. So you can set a minimum fillout time for the form and reject submission if it send before that time.
  3. Block lists
    There are some block lists that collect IP addresses from well known spam bots. Is the form submitted from a listed IP, submission will be rejected.
  4. Reject strings
    It is possible to identify special strings as spam and block submissions on that base. In practice it is tricky to define these strings as spammers know the method and use unusual spellings ("v1agra$"). Additionally it is possible that the filter detects false positive messages.

Combine several methods

If you have a registration form, contact form or booking option on your website without any spam protection, you will sooner or later get unwanted bot messages.

Choose user-friendly and accessible methods and combine several mechanisms to get the highest protection. If for example the honey pot is recognized by a bot, it is good to have an additional minimum fillout time.

Aimy's Accessibility Implementation

Aimy Captcha-Less Form Guard implements all mentioned captcha alternatives for Joomla! forms. You can make your settings in the plugin options. All features are accessible. All error messages are emitted using Joomla!'s default message queue and are translatable (using language overrides).

For the minium fillout time we recommend to use "Text Hint" as it is the most verbose and readable hint for the user to wait before submission.

The honey pot is hidden with CSS ("display:none"). Elements that are visually not seen should not be evaluated by screen readers as well.
The field is not focussed when using the keyboard.

Black lists are queried in the backround and cannot be influenced at all.

If the users enters a defined reject string, a clear (translatable) message is given and an alternative for contacting the website's owner is given.

You can increase compatibility for assistive technology with the option Accessibility optimizations (since version 19.0). If enabled, certain attributes (i.e. aria-hidden and tabindex) will be added to form elements where useful.

As aria attributes increase the chance that bots read them as well, Aimy Captcha-Less sets these attributes dynamically using JavaScript. Screen readers evaluate the rendered code, already including these attributes. A spam bot most likely does not execute JavaScript.

This way, Aimy Captcha-Less Form Guard is a very user-friendly and accessible solution. If you still determine a barrier within our plugin, we appreciate your hint to become even better.