Guidelines for form layouts (Windows Store apps)

1 out of 2 rated this helpful - Rate this topic

These guidelines help you design forms that provide a great touch experience while optimizing the use of screen real estate and reducing the need to scroll.

When designing a form and deciding which layout to use, consider how you want the user to fill out the form and where scrolling might be required. Also consider how much scrolling is necessary when the touch keyboard is visible. The touch keyboard takes up to 50% of the screen in landscape orientation. Inline error notifications will also increase the length of the content.

The next sections describe when to use single- and multi-column layouts.

When to use single-column layouts

Use a single column layout in these cases:

  • You want the user to fill in the form in a specific order.
  • The form shares screen space with other UI. For example, the form might share screen space when:
    • The app uses a two-pane UI layout.
    • The app is in the snapped view state.
    • The screen displays additional notes and info, instructions, or branding and advertising.

Here's an example of a short form that uses a single-column layout:

A short form that uses the single column layout

Here's an example of a longer form that uses a single-column layout:

A longer form that uses the single column layout

Instead of trying to fit a lot of controls into one very long form, consider breaking up the task into groups or into a sequence of several forms. Here's an example of a longer form that is broken up into groups:

A longer form that uses groups

Here's an example of a longer form that's broken up into multiple pages:

A longer form that uses groups

Here's an example of a form that uses a single-column layout because the UI contains additional notes and info:

A form that contains additional notes and information

When to use two-column layouts

Use a two-column layout for short forms with limited vertical scrolling. The two-column layout makes the best use of the visible horizontal real estate in the landscape orientation. Remember to reserve ample gutter space between the two columns.

Here's an example of a form that uses two columns:

A form that uses two columns

Don't use two or more columns when there is a long vertical scroll, because the user has to scroll to the bottom of the first column, then scroll to the top of the second column and back down again to fill out the entire form. This experience becomes even more awkward if the touch keyboard is up.

Here's an example of a form that uses two columns improperly:

A form that uses two columns improperly

When to use three or more columns

To make the best use of the visible horizontal real estate in landscape orientation, you may use multi-columns. This layout works well in fixed or horizontally panning screens, but is awkward in vertically panning screens. Only use this layout when the input order is not important.

A form that uses three columns

Label placement

Most controls need a label. Place labels above their controls or to the left of their control. In any given form, use only one type of label placement. Don't use different label placements for different controls in the same form.

When to use upper label placement

Placing labels above their controls helps establish the relationship between the labels and their controls and help create a clean layout, since all the labels and control elements can be left-aligned. Placing labels above their controls makes it easier to present long strings and handle localization and accessibility issues.

In general, place labels above their controls. When using a multi-column form layouts, always place labels above their controls.

A form that positions labels above their controls

When to use left label placement

In single-column forms where vertical real estate must be conserved, place labels to the left of their controls when the following are true:

  • The label strings are short and approximately the same length.
  • There is enough horizontal space for the longest label string (in any localization).

Here's an example of a form that uses left

A form that uses left label placement

Don't place labels to the left when there is a lot of text string length variance, because some labels will be far away from their controls.

A form that uses left label placement improperly

Don't use left label placement in multi-column form layouts, because the labels will have the appearance of another column. For example, a 2 column layout would look like it had 4 columns:

A form that uses left label placement improperly

Inline placeholder text

Sometimes you can simplify your layout by using inline placeholder text instead of labels. Use inline placeholder text when:

  • The form pattern is commonly understood by a wide audience (for example, a user logon control or a password entry field).
  • The label can easily be implied or construed after the data has been entered in the input field (since hint text disappears after data is entered) .
  • There are a limited number of input fields.

Here's an example of a form that uses inline placeholder text:

A form that uses inline placeholder text

Button placement

Align form buttons to the right, except when there are multiple buttons are embedded with other controls. To show that the buttons feel more cohesive with the other controls, they should match the alignment of those controls. For example, in the PC Settings screen, the embedded buttons are left-aligned:

A PC Settings screen that shows left-aligned buttons

For more info about button placement, see the Guidelines for buttons.

Focus and navigation

The control that a user is interacting with on the form has focus. A user may use the Tab key on the keyboard to navigate around the controls on the form, including controls that are not currently in view. In this case, the panning region containing the focused control should auto-scroll so that entire control is in view. There should be a minimum of 30 pixels between the control in focus and the edge of the screen or the top of the touch keyboard to account for various edge gestures/UI and the text selection gripper.

 

A form with and without the touch keyboard showing

In some cases, there are UI elements that should stay on the screen the entire time. Design the UI so that the form controls are contained in a panning region and the important UI elements are static. For example:

A form that contains areas that should always stay in view

Invoking and dismissing the touch keyboard

When no physical keyboard is detected, the touch keyboard invokes when the user taps an input text field. Don't make your app automatically launch the touch keyboard; let the user invoke it.

The keyboard is dismissed in one of two ways:

  • The user completes and submits the form, leaving the view.
  • The user dismisses the keyboard via the dismiss key.

The touch keyboard does not automatically dismiss while the user is in a form and navigating between controls.

For more info, see the Guidelines for touch keyboard and handwriting panel.

Layout examples

Here's an example of a registration form that follows the guidelines in this document:

A registration form

Here's a diagram that shows the size of each element and the spacing between elements:

Sizing and spacing for the registration form

Related topics

Guidelines for buttons
Guidelines for touch keyboard and handwriting panel

 

 

Build date: 11/28/2012

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.