Platform Notes
Drupal Webform is common on Drupal-based council sites. Here's what we've observed from auditing forms built with this module.
Drupal Webform is an open-source module that enables form building, submission collection, and results analysis within Drupal. It's actively maintained and widely used by government agencies, councils, and enterprises worldwide.
Webform is free and open-source, maintained by the community. If you rely on it, consider supporting the project.
Donate or sponsor developmentThis guide is based on Drupal core accessibility guidance and recurring Webform accessibility issues raised in the Webform and Drupal issue queues.
Where Webform is typically strong
Standard HTML patterns
Common issues we've observed
Based on real audits
How to audit Webform forms
URL and HTML upload methods
Recommendations for authors
Quick fixes and best practices
When built with care, Drupal Webforms can be very accessible because they are based on standard HTML form controls and progressive enhancement.
Based on audits of Drupal Webform implementations, we commonly see:
| Issue | Frequency* | Severity |
|---|---|---|
| Labels hidden without accessible name fallback | Common | High |
| Help text not programmatically linked | Common | Medium |
| Required fields rely on visual marker only ('*') | Common | High |
| Checkbox/radio groups missing fieldset/legend | Occasional | Medium |
| Generic error messages | Occasional | Medium |
| Missing input type hints (email, phone) | Occasional | Low |
| Autofill blocked or missing autocomplete tokens | Occasional | Medium |
| CAPTCHA with no accessible alternative | Occasional | High |
*Observed frequency based on audits reviewed by our team.
These issues are often caused by configuration choices, theming, or add-on widgets (like Select2/Chosen), not limitations of Drupal Webform itself.
Paste the form URL directly into auditmyform.com. Most Drupal Webforms render server-side and work well this way.
This is the fastest method for public forms.
Use this when the form is behind a login, on a staging site, or if 403 blocks automated requests.
If your Webform uses a wizard (multiple pages), audit each step separately. Issues often appear on later steps where conditional logic and validation rules kick in.
Explain what information is needed and in what format.
Use the required attribute, not just visual indicators.
Email, phone, and date inputs provide better mobile keyboard hints.
Make error messages specific and actionable, not generic.