University of Leeds - UI & UX Guidelines

about

These UX Patterns and Guidelines provide crucial standards and consistency for prospective students and other users of the SES CRM Portal.
Please use the buttons under each example to view the UX Patterns and Guidelines.

Please direct any feedback to Kath Hallam or Anthony Allen.

buttons

Primary, secondary & tertiary: Enabled

Primary, secondary & tertiary: Disabled


Primary, Secondary & Tertiary Actions

Why we use this pattern

A typical form usually enables several “final” actions.
Actions like “Submit”, “Save”, or “Continue” are intended to enable form completion – the primary goal.
These are referred to as primary actions.

Secondary or tertiary actions tend to be less utilized and often allow people to retract the data they’ve entered, or go back.
Options like “Cancel”, “Reset”, or “Go Back” represent secondary actions that are counter to most people’s primary goal of completing the form they started.

Because secondary actions can have negative consequences, especially when used unintentionally, secondary and tiertary actions should be used with caution.
Imagine filling in a long form online only to hit the “Reset” button and have all your data erased.

There are some situations where secondary actions make sense (“Save for later”, “Export”, etc.).
In these conditions, visually distinguish primary and secondary actions so that users have an clear path illuminating their primary goal: completing a form.

Reducing the visual prominence of secondary actions minimizes the risk for potential errors and further directs people toward a successful outcome.

Right-aligned Primary Actions

Why we use this pattern

Gutenberg Diagram: Terminal Area:
Putting your call to action in the terminal area makes it quick and easy for users to click your button because it’s in the area where their viewing pattern ends.

The terminal area is the bottom right area of the page focal point. It’s commonly used to optimize displays that have a limited number of elements.
It divides the display into four areas. The primary optical area is at the top left, the strong fallow area at the top right, the weak fallow area at the bottom left, and the terminal area at the bottom right.
The user’s eyes naturally begin at the primary optical area and move across and down the display in a series of sweeps to the terminal area.

A button in the terminal area is a compelling call to action because it’s placed at the end of the user’s viewing pattern. When it’s at the end of their viewing pattern, users don’t have to look around to find the call to action button.

Gutenberg Diagram: Terminal Area
Gutenberg Diagram: Terminal Area

Icons

Help  Help  Help  Help 

Info  Info  Info  Info 


Help icon with 'tooltip' text

Help icons are conventionally used within forms to denote additional information being available on mouseover.
They make efficient use of form real estate and remove visual clutter from too much supplementary text.

When to use it

Use help icons to facilitate the conversation with our customers, should they require clarification on issues such as our reasons for requiring certain data, eg date of birth.

When NOT use it

Help icons should not be used to provide info crucial to task success. Task-critical information should be presented as hint text - see this pattern for more.


Tooltips

Tooltip examples




Primary, Secondary & Tertiary Actions

Why we use this pattern

A typical form usually enables several “final” actions.
Actions like “Submit”, “Save”, or “Continue” are intended to enable form completion – the primary goal.
These are referred to as primary actions.

Secondary or tertiary actions tend to be less utilized and often allow people to retract the data they’ve entered, or go back.
Options like “Cancel”, “Reset”, or “Go Back” represent secondary actions that are counter to most people’s primary goal of completing the form they started.

Because secondary actions can have negative consequences, especially when used unintentionally, secondary and tiertary actions should be used with caution.
Imagine filling in a long form online only to hit the “Reset” button and have all your data erased.

There are some situations where secondary actions make sense (“Save for later”, “Export”, etc.).
In these conditions, the best practice I’ve advocated has been to visually distinguish primary and secondary actions so people have an clear path illuminating their primary goal: completing a form.

Reducing the visual prominence of secondary actions minimizes the risk for potential errors and further directs people toward a successful outcome.

Right-aligned Primary Actions

Why we use this pattern

Gutenberg Diagram: Terminal Area:
Putting your call to action in the terminal area makes it quick and easy for users to click your button because it’s in the area where their viewing pattern ends.

The terminal area is the bottom right area of the page focal point. It’s commonly used to optimize displays that have a limited number of elements.
It divides the display into four areas. The primary optical area is at the top left, the strong fallow area at the top right, the weak fallow area at the bottom left, and the terminal area at the bottom right.
The user’s eyes naturally begin at the primary optical area and move across and down the display in a series of sweeps to the terminal area.

A button in the terminal area is a compelling call to action because it’s placed at the end of the user’s viewing pattern. When it’s at the end of their viewing pattern, users don’t have to look around to find the call to action button.

Gutenberg Diagram: Terminal Area
Gutenberg Diagram: Terminal Area

form controls

Table version:


*

Form group version:







Inline checkboxes


High-level Form UX principles

  • Reduce number of fields
  • Reduce number of words
  • Define naming conventions
  • Cut out the noise
  • Break big tasks into smaller steps
  • Inline validation
  • Reduce the number of taps
  • Use proper input types

Reduce number of fields

Always (always!) look to combine or reduce the amount of fields to the absolute minimum required for task completion.
This greatly reduces the mental and physical effort required by the user.
It also manages the expectations of the user - nobody likes being faced with a vast number of fields to tackle;
Expectations impact conversion.

Reduce number of words

Always be as concise as possible. Question whether every single word absolutely needs to be included or not.
Every word used increases cognitive load on the user.
Remember, less is more.

Define naming conventions

Consistency of language is crucial in reducing the cognitive (mental) burden on the user.
Ideally, a globally agreed document which defines naming conventions should be discussed and agreed prior to any code build.

Cut out the noise

It’s important to create an interface that helps users focus on the task at hand. For key tasks, it’s often a good idea to remove superfluous elements that can distract users.
Including a simplified header and footer (a la Amazon’s checkout) and removing sidebars and other auxiliary content will help users accomplish the task faster.

Break big tasks into smaller steps

Another way to cut out the noise and help users focus is to break the form into smaller chunks.
This reduces the cognitive load on the user, and also presents a much less intimidating form than exposing all fields at once.
Again, Remember that expectations impact conversion:

Expectations impact conversion.

Inline Validation

There’s nothing worse than submitting a massive form only to be scolded to go fishing to find your erroneous fields. Inline validation can help users fix their problems while they’re still focused on the general area.

Reduce the number of taps

An important overall goal of a form is to reduce as much as humanly possible. The less work the user has to do the more likely they are to complete the form. Simple things like combining fields like “First Name” and “Last Name” into a field simply called “Full Name” reduces the amount of taps the user has to endure.
It can always get even simpler.

User proper input types

Using the proper HTML5 input types and pattern attributes pulls up the appropriate virtual keyboard on mobile devices, saving users from having to manually switch over to enter a number.


Specific Form UX Guidelines

Required and optional fields

When to use this pattern

For required fields, use the following text positioned below the form heading and above the form fields; Grey text with red asterisk:
"Please answer all questions marked * "
The red asterisk is then included after every required field label, separated from the label by one blank space. See example above.

Label capitalisation

When to use this pattern

Labels should follow the 'sentence case' format. Sentence case text (where only the first word on the label is capitalised) is more eligible due to familiarity.

ISO-9241 part 17 states:
"Initial upper-case (capital) letter for field labels: To facilitate readability, the text field labels begin with an upper-case letter. The rest of the label should contain lower case (small) letters except for cases where the label is a logo, an acronym or language convention that requires each word in the label to begin with a capital letter."

Label font and weight

Label font

  • Pick a standard font, eg Arial, Helvetica.
  • Ensure good contrast with background (eg black on white).
  • Make sure that the users can increase the size if they want to.

Label weight

Labels should not be bold, their CSS font-weight should be 'normal'.

Bold labels have been shown to cause around a 60% increase in saccade (eye movement) time to move from the label to the input field — from 50ms without bold labels to 80ms with bold labels — with no apparent advantage from the more prominent labeling.

Bold labels are more difficult for users to read and perceive—probably because there is more visual confusion between bold text and the adjacent borders of input fields.

'Hint' text

Hint text guides users through answering certain questions, allowing them to complete the form more quickly and avoid potential validation errors.
Hint text clarifies information which is crucial for task success to the customers it applies to, and so, unlike the help icons' alt text, should be visible at all times when required.

When to use it

Hint text should be used to provide info crucial to task success, for example the constraints and formats of required data input.

How not to use it

Hint text should not be placed within the field. This is an increasing common practice, partly due to mobile screen size constraints.
Hint text within a form field makes it difficult for people to remember what information belongs in a field, and to check for and fix errors. It also poses additional burdens for users with visual and cognitive impairments.

User testing continually shows that placeholders in form fields often hurt usability more than help it. See Norman Nielsen study here.

Hint text should not be placed within the label.

Recommendations

Help hints are increasingly underneath vertically aligned fields, again due to mobile screen size constraints.

The design of help hints should differ from the design of form labels to differentiate their purpose.
It is usually shown in smaller, greyed text:

  • Font size should be 2 pixels smaller than field labels.
  • Text style should be italic to denote task-critical status.
  • Text colour should be grey.

Form Validation

Form-level validation messages

Error Message! Resolution text to help user fix issue(s).
Success Message! Explanatory text to confirm successful action taken by user.
Info Message! Text for important user information (which is not error based).

Inline validation messages


Live inline validation example - fill out the form

You have some form errors. Please check below.
Your form validation is successful!

High-level form validation principles

  • Never imply that the user has done something wrong!
  • Keep validation messages objective and blame-free.
  • Clearly communicate when an error is blocking someone from completing a form. Error messages are arguably the most important element on a form when present. Make sure they appear that way!
  • Display error messages in context so they can be resolved quickly.
  • Provide actionable remedies that enable people to resolve errors easily.
  • 'Form-level' (ie at the top of the form after the user submits details) error messages should indicate an error has occurred and how it can be resolved. If multiple errors exist, they should be listed in the top-level message.
  • If any input fields are responsible for an error, clearly mark them with a double visual emphasis to ensure they are noticeable.
  • Visually associate any responsible form elements with a top-level error message to clearly communicate they need to be resolved in order to continue.
  • Reserve red text and warning icons for error messages.

Red - error, eg the user has made a mistake and action is needed.

Error Message! Resolution text to help user fix issue(s).

Green - success, eg the user has successfully completed a task.

Success Message! Explanatory text to confirm successful action taken by user.

Blue - informational, eg feedback which does not relate to a user error.

Info Message! Text for important user information (which is not error based).

We always approach error messaging like this:

  1. Make it clear that something is wrong - main warning.
  2. Show the user which field (or fields) are wrong in form errors.
  3. Where necessary, provide guidance to help the user fix the error - hint text.
  4. Save what the user has entered—both good and bad, so they do not have to repeat data entry.

Form-level validation messages

When to use it

We implement form-level validation messaging when a user has come to the end of a process, or the page has reloaded in a state which requires that the user's attention be drawn to a message.

  • Main warning: bold font weight.
  • Explanation and success parameters repetition (where appropriate): normal.

Form-level validation. How to use it:


Short form - single error:
Sorry! Please fix your email format.

Short form - multiple errors:
Sorry! Please complete the fields in red below.

Long form - single error:
Sorry! Please fix your email address

Long form - multiple errors.

Anchor the user back at the top of a long form, using these jump tags to address errors (or scrolling down independently to address them).

Sorry! Please take a look at these:

How not to use it:


Short form - single error:
Error! There is a problem with your input.

Inline validation messages

When to use it

Submitting and resubmitting forms to check answers can lead to a frustrating and unsuccessful behaviour sometimes called 'pogosticking.'

Pogosticking is common when we ask users to provide an answer they may not be able to guess correctly the first time, and so inline validation should be used for fields which have potentially high error rates.
Selecting a unique username, for example, often involves pogosticking: nobody knows beforehand whether their username is available, so they guess, click “create account,” find out the username they want is taken, guess again, click “create account,” again, and so on.

How to use it

How not to use it

Inline messaging should always firstly alert the user of the exact problem, and secondly provide a resolution.
Generic messages such as "There is a problem, please re-enter your details." should be avoided where possible.
Refer to the parameters required to complete the task - for example "Sorry, email format should be: user@user.com".

Try to maintain a strong visual relationship between the field and associated error message without encroaching on the field, especially for resposnive and mobile interfaces.
Where alternative answers are offered by the system, ensure that there is a clear visual separation between the explanative text and alternative answers.

Recommendations

  • Do not interrupt the user flow by attempting to validate the field before the user indicates that they have finished by moving onto the next input field.
  • Use suggested inputs to disambiguate. Repeat data input limits - the original instructive text will be hidden by the validation message, so this repetition (eg 6-12 characters, only letters and numbers) is crucial for task success.
  • Use double visual emphasis (ie displaying the inline error message combined with changing the label/border colour to red) on fields where there are errors. This creates astronger visual relationship between the error message and the field it refers to.
  • When it is necessary to present alternative answers to those provided by the user, for example when choosing a username, they should be clearly formatted radio buttons, not links.
  • When the user has successfully corrected an error, any validation message, red field border or red field label text changes back to the default state.

Basic text field inline validation process

1. The user is asked for their email address.

The label, text field border, icon area and hint text are in default state:



2. The user mis-types their email address.

The label, text field border, icon area and hint text change to error state once the user taps/clicks outside of the field in focus:



3. The user clicks/taps back into the field to change their input.

Validation now occurs as the user is typing.
The hint text (in red error state) stays in the same position. It is important to maintain visibility of the success parameters.

An additional, context-sensitive, error message can appear below if required - see 3a.
For example, if the user deletes all their text input: 'This field is required'.


3a. Example with hint text.


3b. Example without hint text.

4. The user enters the correct input.

Validation still occurs as the user is typing.
Once the user has entered the correct parameters into the field, then the label, text field border, icon area and hint text return to the default state.