The fields
Required fields.
Say which ones.
You leave one empty. The form says it was required. The label never did.
The short answer
Mark the required fields before the first try. An asterisk or the word required does it. A short form is demoted: three fillable fields or fewer, all of them required, and this finding is not raised.
Walk your signup
Why the form stalls
Phone had no asterisk. You skipped it. The form came back and said Phone was required. Email and a password, on their own, do not need that mark. A longer form does, when those fields are required and nothing says so. So does a short form that also has a field that is not required. You should be able to see which ones matter before you press the button.
Stumblet does not learn this by submitting. It reads the required attribute, or aria-required set to true, and then looks for a mark. No mark, and the field is named. The word optional is not part of this check.
What Stumblet flags
1“Email” doesn't say it's required
One required field, with no mark. The title is “Email” doesn't say it's required. The fix is Mark “Email” as required before the first try. The line is “Email” is required, and the form never says so. The rank is 41.
More than one field uses don't say they're required, and the line says they are required, and the form never says so. Email, Password, Company, and Phone, all required and unmarked, names all four. The names stop at four. A fifth field is left out of the words, and the plural still follows the full count.
A short form is demoted. Three fillable fields or fewer, when every one of them is required, does not raise this finding. Email and password on that form are treated as obviously required. No asterisk on those two is still not this finding. A field that is not required lifts the demotion, and only the required unmarked fields are named. Nickname, not required, next to a required Email, is not in the line.
2A mark, and a form the check ignores
A mark is an asterisk or the word required, in the label, the placeholder, or the hint, or a star drawn on the label. A marked field is left out. If every required field is marked, there is no finding, however long the form is. The questions below have the hint, the title attribute, and the star drawn with ::before or ::after.
The check runs when the screen has an email field or a password field. Tick boxes, radios, and hidden inputs are not counted and are not named. A trap field is removed first. One fillable field is not enough. A form with no required attribute and no aria-required true is not this finding. Every screen the walk plans is checked.
Which fields to cut, and which ones Impatient leaves empty, is on signup fields. A required terms tick box is a different finding, on terms box.
3Behind a specific finding
This is a generic form finding. In the walk's order it sits behind every specific finding, whatever their number. A vague heading ranks at 38 and still comes first there. That order picks the stuck point and the finding that is drawn. With one persona, the report lists up to five fixes by rank number, highest first, so 41 can be listed above that heading. The mockup still draws the specific finding.
Labels that aren't tied to the fields are the other generic finding. They rank at 28, so this one sits above them. A missing price ranks at 32 and is a template finding, so this one comes first. When this finding is the one drawn, the mock does not add an asterisk. The line under it is the fix. The questions below have the heading, the dropped labels, and when there is no mockup.
A button that only says Continue is on button text. What the first screen should say is on signup page copy.
Questions
Which fields are named?
A fillable field that has the HTML required attribute, or aria-required set to true, and that is not marked. Fillable means the type is not checkbox, radio, or hidden. A select counts. A textarea counts. A tick box does not, and neither does a radio or a hidden input. The screen has to have an email field or a password field, or this finding is not raised. An email field is type email, autocomplete email, or email or e-mail in the type, the label, the name, the placeholder, or the autocomplete. A password field is type password, or password or passcode in those same places. A confirm-password field counts, because password is in one of those places. A trap field is removed before the count. The words are leave this field blank, leave the field blank, leave field blank, leave blank, do not fill, honeypot, for bots only, and bot-field. Those words are read from the type, the label, the name, the placeholder, and the autocomplete. One fillable field is not enough. If no fillable field is required, there is no finding, however long the form is. The word optional is not read. A label that says optional does not take a field out, and it does not put one in.
What counts as a visible mark?
An asterisk, or the word required, in the raw label, the placeholder, or the hint. Capitals do not matter. The raw label is the label text before asterisks are stripped, including an aria-label, clipped at 90 characters. The hint is the text from aria-describedby, the aria-description, the title attribute, and the text beside the field, joined and clipped at 180 characters. A title that is only the word required, or only the word password, is not added to the hint, so that title on its own is not a mark. The text beside the field is the next element, and the element after the parent, when the parent is not the page body. That element has to be on the screen, 180 characters or fewer, and not a button, a link, an input, a select, a textarea, a form, or a label. It is skipped when it contains an input, a textarea, a select, a button, or a link, and when it says terms, privacy policy, or by signing, registering, creating, or continuing. The label element counts when its own text is from 1 to 60 characters and contains an asterisk or the word required. The same look covers that element, its first six children, and the next element. A child, or the next element, counts when its text is only asterisks, or exactly the word required. A ::before or ::after on that element, a child, or the next element counts when its content contains an asterisk or the word required. A parent counts the same way when that parent holds at most one input, textarea, or select. Asterisks are taken off the name that gets quoted.
When is a short form demoted?
Three fillable fields or fewer, when every one of them is required, and this finding is not raised. That is the demotion. The finding stays quiet. It is not given a lower rank. Email and password on that short form are treated as obviously required. Two required fields are the same, with or without an asterisk. A name as the third required field is the same. One fillable field is already out, before this rule. More than three fillable fields is not demoted, even when every field is required. A short form is also not demoted when any fillable field lacks the required attribute and aria-required true. Then each required field that is not marked is named, and the field that is not required is left out. Email required and unmarked, with Nickname not required, names “Email” only. Nickname is not in the line. A trap field does not count as that extra field, because it was removed first.
How is the title written?
The name is the label. With no label, the placeholder. With neither, the name attribute, and underscores and hyphens become spaces. A trailing colon or asterisk is dropped. The first character is made a capital. The rest stays as written. An empty name becomes A field. Each name is clipped at 32 characters. A longer name keeps 31 characters, trimmed, and then an ellipsis. The names are in curly quotes. Up to four, in the order the fields were read. Two are joined with and. Three or four use commas, and and before the last. A fifth field is not named. One field: “Email” doesn't say it's required. The fix is Mark “Email” as required before the first try. The line is “Email” is required, and the form never says so. More than one field uses don't say they're required, and are required, and the form never says so. Four required unmarked fields, Email, Password, Company, and Phone, use all four names. The singular and the plural follow the full count, including a fifth field that the words leave out. The joined list is not clipped again. The line is given a full stop.
Where does this finding sit, and what does the mockup change?
The rank is 41. It is a generic form finding, with labels that aren't tied to the fields. Those rank at 28, so this one sits above them in the same bucket. Generic findings sit behind every specific finding in the walk's order, whatever their number. A vague heading ranks at 38 and still comes first there. An extra field comes first. A required terms box at 36 comes first. Work email only at 42 comes first. Jargon at 40 comes first. That order picks the stuck point and the finding that is drawn. With one persona, the report lists up to five fixes by rank number, highest first, so 41 is listed above a specific finding with a lower number. The mockup still draws the specific one. A missing price at 32 is a template finding, so this one comes first, in the walk's order and on the report. No person and no company ranks at 24 and is a template finding too. The terms sentence under the button sits last in the walk's order. An earlier screen wins a tie in the walk's order. The walk keeps one of this finding. The first screen that raises it is the one kept, because the rank does not go up later. Every screen the walk plans is checked. This finding is not one the mockup redraws. When it is the one drawn, the after heading is the step's headline. With no headline, it uses the screen name, unless that name is the button or the document title, and then it is Create your account. A screen name that ends in …, with at least 8 characters before the ellipsis, and that starts the document title, counts as the title. The button stays as it was, or Create account when the step has none. The after side keeps up to three field labels. A label that says checkbox or radio is dropped. A label is also dropped when it matches company, organisation or organization, team size, company size, employees, role, job title, phone, use case, industry, workspace, headcount, website, username, user name, display name, confirm password, repeat password, re-enter password, reenter password, password again, or again password. If nothing is left, the after side shows Email and Password. The line under the mock is the fix. The fields are not given an asterisk. A finding whose screen, or what the step did, says hands off to is not the one drawn. There is no mockup when the page did not load, when a bot check or a human check stopped the walk, when the URL is not a signup, or when the signup is clean. This finding is enough to keep the signup from being called clean.
Which fields to cut is on signup fields. Asking for the password twice is on confirm password. What the first screen should say is on signup page copy. A button that stays disabled is on signup button. Showing the rules before anyone types is on password rules. Asking for a work email is on work email. A provider button above the email is on social login. A password with no show control is on show password. A required terms tick box is on terms box. A card before the product is on credit card. Welcome back on a first visit is on welcome back. A button that only says Continue is on button text. Running it yourself, and keeping the top five, is the new-user signup test. The short list is the onboarding checklist. The AI onboarding audit is the walk, and the signup prompt is the job it runs.
The walk is free. It starts on the home page.
Walk your signup