Form submit button
Silktide examines the forms on your pages and reports any that have fillable fields but no submit button. Without one, some visitors have no way to send the form, and others cannot predict when it will act.
Why this matters
A visible submit button tells visitors two things: how to send the form, and that nothing happens until they choose to. Some people using can only submit a form by activating a button - pressing Enter in a field is not available to everyone. And a form without a button often submits automatically as the visitor types or changes a selection, an unexpected change of context that can disorient users and people with cognitive disabilities, who suddenly find themselves on a different page mid-task.
This is success criterion 3.2.2 (On Input), a requirement - part of the most basic conformance level.
How to fix it
Add a submit button to each flagged form, explicitly marked with
type="submit":
<!-- Problem: no way to deliberately submit -->
<form action="/search">
<input type="text" name="q">
</form>
<!-- Fix: an explicit submit button -->
<form action="/search">
<input type="text" name="q">
<button type="submit">Search</button>
</form>
If the form genuinely should not submit anywhere - for example, a filter that updates results live and announces its behavior - you can the finding or exclude the element from checking.
How Silktide tests this
- Find every
<form>element on the page, skipping any you have excluded from checking. - Ignore forms with no usable fields - forms containing no visible inputs, text areas, selects, or buttons when the page loads. This skips tracking forms and the invisible page-wrapping forms some platforms generate, which would otherwise be false positives.
- Report each remaining form that contains no element with
type="submit".
Troubleshooting
My form has a button but was still flagged
Silktide looks for an explicit type="submit". A <button> without a type
attribute does submit the form in most browsers, but is not recognized by this
check - and adding type="submit" is good practice anyway, since it makes the
button's behavior unambiguous. Buttons with type="button" never submit.
The form is revealed by interaction
Fields are assessed as the page first loads. A form that starts hidden and is revealed later, such as inside a popup menu, may not be tested, so a pass here does not guarantee every form on the page has a button.