Should required fields be marked?
user-interface.io
user-interface.io
Designing UIs has been part of my job for a while now, and it's always about the bigger picture. Where is this "optional" information being used? If it's optional, does this introduce complexity down the line (handling / not handling it depending on whether it was provided)?
You can always break down and simplify things. Perhaps this optional information is irrelevant -- exclude it altogether. Is it relevant in some contexts only? Handle it separately for these contexts only.
Marking "required" fields is lazy design imo.
You could work around it by adding a bunch of conditional fields which then move more work onto the person filling in the form (tell me you need the extra fields then I'll show them and they will then be required) and add code complexity (more UI flows to test).
Many optional fields are indeed nice to have but assuming they all are misses that the world has a lot of fuzzy edges, and optional spaces handle those with a simple convention that many people expect and understand.
Consider something like a contact form for an airline — they can find your booking more quickly if they have your booking reference number to hand, so asking for it speeds up the process. That said, they can still find your booking without it, it just takes a bit longer and has a bit of a margin for error (e.g. two customers with the same name on the same flight).
If there was a "zero tolerance" of optional fields, you'd have to choose between forcing the customer to have it (which is worse service) or never asking for it (which is pushing more work to the team & increasing costs).
I'd approach that bit of UX by asking the user to provide one of the pieces of information required to proceed: either the name, phone number, or booking number. Depending on what they provide, the flow proceeds to the appropriate next step.
In this example I would probably structure it so that if they can only provide the name or phone number, the next thing they see is a disambiguation / confirmation dialog, which also shows the booking number. One of the fields is required, but it doesn't matter which one. In cases like this I'd like to indicate completion by enabling the previously disabled "next" / "proceed" button.
This fork in the flow can then merge back into "standard" flow of requiring the booking number to proceed -- keep the business logic / implementation simple, regardless of whether the user enters the booking no directly, or it is looked up by the system.
But on shorter forms (e.g. "Add a gift message" on an online order), I think they can be overkill, both extra dev effort but also extra friction for the user.
ETA: just when you say — " I think in this case we're looking at a required input with an optional lookup workflow -- if you have that extra piece of information, you can take a shortcut."
That's another distinction too — I think this is true of the business process as a whole, but possibly not all within this form.
For some businesses, it could make sense for this to be just one more data point that's sent along in the message rather than trying to build out a completely automated form submission (e.g. if the ticket was going to be picked up manually anyway)
Or what about if it's a government form and they're legally required to ask race, gender etc, but you aren't required to answer.
I don't disagree with the sentiment, but you very quickly run in to situations where you need optionality. It's like making apps easy to use by having no options. Great in theory but annoying in practice.
PO Box.
Country.
Zip/Postal Code.
Middle Name.
Phone extension.
But which book is this?
https://discourse.wicg.io/t/browsers-should-clearly-mark-req...
> On the one hand, it feels more natural to me. It's like asking people in real life "Hey, may I have caramel syrup if you have one?".
Strange that a UI designer might consider more natural language in a form to be better, as it seems antithetical to "Don't make me think".
Asterisks aren't an invention of the web, they're a hold over from paper forms. It is/was common to have an asterisk beside required fields. Because that was already a convention it was adopted by designers & ported over to digital.
> You can separate required and non required fields
I think this is good when its appropriate to the data. It's almost like you'd apply it at a fieldset level rather than field level. As in, asking for username/email/password and then in another section asking for what your interests are for the algo recommendations is great.
If you have something like fields for name — first name/last name are both mandatory; middle name is optional — it would really break the flow of the form if they weren't in conventional order.
If the system _is_ designed to require a first name/last name, trying to correct for that on the front-end just makes the problem worse in my opinion (e.g. doing something like breaking on space and calling the first bit the "first name" and the second bit the "surname").
But overall, for global optimization, I'm a fan of legal/preferred.
That said, global inclusivity does seem to be more important.
I work on ERP software. Name-handling is ridiculously over-complicated. FML, preferred, chosen (distinct from preferred), prior/maiden, legal/mailing, etc.
What kind of horseshit is this? With a 5" wikipedia search:
> In the Middle Ages, the asterisk was used to emphasize a particular part of text, often linking those parts of the text to a marginal comment.
That's practically identical to the use of asterisks on the web: pointing to a side note that says that these fields are mandatory.
Also, the examples used to demo the asterisk counter-proposals are cherry-picked to be super simple. The minute your form becomes more complicated than "email/password/phone", the counter-proposals become inferior to simply using an asterisk.
PS. Who the hell spells web as "WEB" in 2022? In fact when "WEB" was ever considered proper, outside of all-caps headings?
Yes, and the one on paper forms almost always was used for "required".
Besides, when it didn't, normally there were many of them, so they were numbered instead of an asterisk. The asterisk itself was all but reserved for "required".
> side note
I find that to be disturbingly rare on the web, i.e., asterisks with no footnote do seem to have been popularized by web forms specifically. Drupal, for example, is like this, leaving the site builder to get creative if they want to add this note somewhere.
I don't have a sampling of paper forms handy to see if they, too, suffer from this, though.
I am not familiar with the famous UI book written in Russian that the verbiage came from, but given that it is supposedly famous, it is doubtful that it was written in 2022. Fame tends to take a fair amount of time to acquire.
> In fact when "WEB" was ever considered proper, outside of all-caps headings?
Given that the book was said to be written in Russian, we can surmise that this is translated. Perhaps even by an automated tool. It is unlikely to be what one would choose if they were writing natively, but that isn't the case here.
As long as the intent is conveyed it is proper. There are no rules, just outcomes.