canonical / design-vanilla-framework

Design components for Vanilla Framework.
https://vanillaframework.io
GNU General Public License v3.0
62 stars 11 forks source link

Review usage of "optional" vs "required" in forms #34

Closed yaili closed 5 years ago

yaili commented 7 years ago

Following the discussion on this issue we thought it would be good to investigate the usability and accessibility concerns around indicating optional vs required fields in forms.

Vanilla and ubuntu.com has been indicating optional, whereas MAAS has recently agreed to do the opposite.

matthewpaulthomas commented 7 years ago

This issue overlaps with design for…

kwm14 commented 5 years ago

It's been over a year since this issue was reported, our brochure sites and applications have evolved since then so I want to do another audit to see what we're doing 😄 identify a style to add to Vanilla so that we're consistent across our products 👍

Ubuntu website

screenshot 2018-12-06 at 11 00 39

Juju GUI

screenshot 2018-12-06 at 11 16 44

MAAS application

add-user

availability-zones

subnets

kwm14 commented 5 years ago

Review

As you can see from examples in our applications and sites we're quite inconsistent with variations of use:

We have 3 solutions so it's up to us to decide which is the better one to implement and will work for all use-cases. I will look at other example sites/applications to see other options in the field 👍

matthewpaulthomas commented 5 years ago
  • Currently using asterix (*) on form labels

  • 'Asterix' added to end of form label

It does increase the attractiveness of the form, but making an Asterix recognisable takes up a lot of space:

asterix-required

Meanwhile, in October, Baymard rewrote their article on this topic: “E-Commerce Checkouts Need to Mark Both Required and Optional Fields Explicitly (Only 14% Do So)”. The highlights:

Now, that research was just on e-commerce checkouts, and we have few of those. Maybe we don’t need a pattern for this — maybe it’s form-specific — but if we do, it’s only necessary beyond some threshold. We’d never need it for a search form, for example, or a sign-in form, or a single-field subscription form.

kwm14 commented 5 years ago

It does increase the attractiveness of the form, but making an Asterix recognisable takes up a lot of space:

asterix-required

Haha @matthewpaulthomas love it! We can propose this upstream to Vanilla 😉

  • In their test of “60 top e-commerce sites”, on the “37% of sites [that] mark only optional fields”, “32% of users during testing had a validation error because they did not complete a required field.”

That's an interesting highlight

  • “By explicitly denoting both optional and required fields, users aren’t forced to infer anything and don’t have to look backwards at prior form fields — but can instead stay focused on just the one form field they are filling out.”

Another interesting highlight especially using optional and required fields, for MAAS these are both needed dependant on your configuration.

Maybe we don’t need a pattern for this — maybe it’s form-specific

I agree with you here too and it makes me question which style to move forward with:

  • An asterisk is more obvious, but not to everyone, there are always some who do not understand
  • Less visual noise on your form makes it more readable and therefore faster to complete
kwm14 commented 5 years ago

Examples

Looking at styling of required/optional in forms on other sites/applications.

Ant Design

ant-design-required

Material Design

material-design-required

Mozilla

mozilla-required

Salesforce

salesforce-required-01 salesforce-required-02

Sky

sky-toolkit-required

kwm14 commented 5 years ago

Next steps