Created: 2017.04.17
Upwork clients often ask for form customisations. They two main systems they mention are Ninja Forms and Gravity Forms.
Both Ninja Forms and Gravity Forms allow you to create forms with required fields, make use of field validation, and have the ability to perform calculations based on the data that the user has entered. Unlike Ninja Forms, Gravity Forms isn’t available in a free version. Instead, you’ll need to choose from one of the three paid options the features and capabilities of Ninja Forms can be enhanced by installing one or more of the available extensions
The editor is easy to use:
There's no way to disable the default styling.
As a result the Ninja styling clashes with my existing styling:
Fields utilising a fixed length display the same width as non-fixed-length fields:
There's also no option to move, remove, or replace the 'Fields marked with an *
are required' message.
Both anti-spam fields and Google's reCAPTCHA are supported.
label
elements are tied to input
elements, but that's where the accessibility starts and ends.
It's worth noting that, despite there being a raft of requirements for public/premium WordPress themes, there's no obligation for theme or plugin developers to comply with WCAG. Perhaps this is why Ninja Forms have not done due diligence here.
I couldn't find a way to implement a fieldset
or a legend
.
Fields aren't marked as required
, either using HTML5 or WAI-ARIA.
Invalid fields aren't marked as invalid
, and the error messages aren't tied to the fields.
Disabling JavaScript causes the whole form to be replaced by a JavaScript-required message: