Knop voor formulierverzending
Silktide onderzoekt de formulieren op je pagina's en meldt formulieren die wel invulvelden maar geen verzendknop hebben. Zonder zo'n knop kunnen sommige bezoekers het formulier niet verzenden en kunnen anderen niet voorspellen wanneer het wordt verzonden.
Waarom dit belangrijk is
Een zichtbare verzendknop vertelt bezoekers twee dingen: hoe ze het formulier kunnen verzenden en dat er niets gebeurt totdat ze daarvoor kiezen. Sommige mensen die gebruiken, kunnen een formulier alleen verzenden door een knop te activeren. Een veld selecteren en op Enter drukken is niet voor iedereen mogelijk. Bovendien wordt een formulier zonder knop vaak automatisch verzonden wanneer de bezoeker tekst invoert of een selectie wijzigt. Dat is een onverwachte contextwijziging die gebruikers van en mensen met cognitieve beperkingen kan desoriënteren, omdat ze tijdens een taak plotseling op een andere pagina terechtkomen.
Dit is succescriterium 3.2.2 van (Bij invoer), een vereiste van en onderdeel van het meest basale conformiteitsniveau.
Zo los je het op
Voeg aan elk gemarkeerd formulier een verzendknop toe en geef deze expliciet
type="submit" op:
<!-- Probleem: geen manier om het formulier bewust te verzenden -->
<form action="/search">
<input type="text" name="q">
</form>
<!-- Oplossing: een expliciete verzendknop -->
<form action="/search">
<input type="text" name="q">
<button type="submit">Zoeken</button>
</form>
Als het formulier echt nergens naartoe moet worden verzonden, bijvoorbeeld een filter dat de resultaten live bijwerkt en het gedrag ervan aankondigt, kun je of het element uitsluiten van controles.
Hoe Silktide dit test
- Zoek elk
<form>-element op de pagina, behalve elementen die je hebt uitgesloten van controles. - Negeer formulieren zonder bruikbare velden: formulieren die bij het laden van de pagina geen zichtbare invoervelden, tekstgebieden, selectievakken of knoppen bevatten. Hierdoor worden trackingformulieren en onzichtbare formulieromsluitingen overgeslagen die sommige platforms genereren en die anders fout-positieven zouden opleveren.
- Meld elk overblijvend formulier dat geen element met
type="submit"bevat.
Problemen oplossen
Mijn formulier heeft een knop, maar is toch gemarkeerd
Silktide zoekt naar een expliciete type="submit". Een <button> zonder een
type-attribuut verzendt het formulier in de meeste browsers wel, maar wordt
door deze controle niet herkend. type="submit" toevoegen is sowieso een
goede gewoonte, omdat het gedrag van de knop daarmee ondubbelzinnig wordt.
Knoppen met type="button" verzenden nooit een formulier.
Het formulier wordt door interactie zichtbaar
Velden worden beoordeeld wanneer de pagina voor het eerst wordt geladen. Een formulier dat aanvankelijk verborgen is en later zichtbaar wordt, bijvoorbeeld in een pop-upmenu, wordt mogelijk niet getest. Een geslaagde controle betekent daarom niet dat elk formulier op de pagina een knop heeft.