Skip to content

Asking for information

patterns

Introduction

Asking for information plays a key part in our customers’ experience with British Gas. All functional journeys include elements of data capture and asking a customer to make a choice. Grouping questions, information, and choices together in logical and relatable sections can make our experiences as intuitive as possible.

Framing your content

The lakeside type of the ns-landmark, is ideal for introducing and framing your pages. It is non-decorative, therefore reducing the distraction. It supports a sub-heading and heading, along with a single paragraph. You can use this to signpost the journey, and frame the context of the information you are asking the customer for.

Further research: We are currently researching the use of legends and labels as headings, with the view that you would not need to use an ns-landmark to start each page.

ns-form

The <ns-form> component is a wrapper used to contain all your form controls. It’s primary purpose within the design system is to manage the validations of your form controls. Semantically it sits at the top of the hierarchy.

ns-form-group

The <ns-form-group> component is an element that sits directly in an ns-form. We use the form-group to help group form controls such as inputs, radios, and checkboxes. Within ns-form-group there is a legend element - this can help describe the form controls and provide context to the customer.

It is unnecessary to use ns-form-group and legend when presenting the customer with a single input field relating to one piece of information.

Grouping your questions

As expressed in the journey patterns documentation we advise that you approach each functional journey in the same way - breaking down the journey into smaller sections, asking the customer a single question or group of questions at a time. The idea is to reduce the cognitive load and help a customer complete what they need to do as efficiently as possible.

Group by theme

Grouping questions together thematically can help a customer understand the context and objective of what you are asking.

Group by type of control

Radio buttons and checkboxes should be grouped in their own respective form-groups. The legend should be used to provide context to the choice(s) a customer is being asked to make. Each form control should use their own label as the answer.

Form inputs

The <ns-inputter> component is a multi-purpose wrapper component for displaying form controls such as text inputs, radio buttons, and checkboxes. The component has a number of features that allow for things such as validation, masking, and formatting.

Common information

The ns-inputter component is capable of supporting the following common types of information you might ask a customer for:

  • Names
  • Telephone numbers
  • Email addresses

Complex information

Along with these, you can use a combination of validation, mask, and separator to ask the customer for more complex information such as:

  • Meter reads
  • Sort codes
  • Reference numbers

Further research: We are currently developing pattern documentation for the use of these patterns, by doing this we look to ensure that there is a consistent approach to asking customers for this information across customer journeys.

Making choices

Radio buttons and checkboxes are common form control elements used to ask customers to make choices from a small list of options, or to answer simple yes/no questions, or to toggle a single option on or off.

For accessibility, the heading attribute found on the ns-inputter must be used to provide a <legend> to describe the options. These are usually in the form of a question - such as “Are you a British Gas customer?” or “Which British Gas services would you like to choose?“.

Radio buttons

Checkboxes

Last updated: