Learn about visual thememore

Filtering lists

Filters enable users to adjust lists to only display the items that match their specific criteria.

Follow these SKY UX design principles when you include filters with lists, and present the filtering options based on the needs of users and the specific scenarios.

Structure content around tasks Include filters, set defaults, and organize filters based on user goals.
Maintain a clean, cohesive interface Don't overwhelm users or clutter the user interface with too many filters. Collapse filtering options that users can discover on their own.
Offload work from users Consider options, such as pre-filtered lists, to present lists that don't require filtering.

Include filters with lists when users can:

  • Select individual items to take action or navigate to more information.
  • Create smaller, filtered lists to take action on multiple items or to complete related tasks.
  • Create datasets to review, export, or take action on items.

Full-page lists

When the main, or only, task on a page is to narrow a collection of items or manipulate a pre-filtered collection, use a filter bar or tabs to support the filtering tasks.

Dedicated full-page lists can appear on list pages or in tabs on record pages.

undefined
A full-page list with a filter bar included on a list page.

Lists in containers

When lists appear in containers such as boxes, use simple filters, such as checkboxes and HTML select inputs, and make them persistent or expandable.

Persistent inline filters

When users only need one or two simple filters and containers have room to display the filter controls above the lists, use persistent inline filters. Persistent inline filters are always visible, so users can apply them directly to lists without invoking a button. They are especially useful for controls that users will use frequently or that have significant impact.

Persistent inline filters appear in a toolbar above lists and are applied immediately after users make selections.

undefined
Users can select filter criteria in HTML select fields.
undefined
Users can toggle filter criteria with checkboxes.

Expandable inline filters

When users need up to four simple filters for lists that appear within containers, such as boxes, on pages or modals, use expandable inline filters. Filter controls are hidden by default and accessed through a Filter button, so they are especially useful for filters that users don't need frequently or that don't have significant impact.

If users need more filters or more complex filtering, use a dedicated list view with a filter bar instead.

undefined
Expandable filters let users expand and collapse the filters. The filter button is highlighted when filters are set.

When users regularly need to access or work with collections of items, consider providing pre-filtered lists.

Use pre-filtered lists in tabs when

  • Users need regular access to a small number of lists.
  • One list in a small group of lists needs priority or will be used most frequently.
  • A small number of lists have different tasks for users to complete.
undefined
Do use tabs to support easy access to a few pre-filtered lists.

Don't use pre-filtered lists in tabs when

  • Users need to access a large number of lists.
  • Users don't need to access lists regularly.
  • Pre-filtered lists already exist in the system. Use call-to-action patterns, such as notifications or needs attention items in action hubs, instead.
undefined
Don't use tabs for a large set of pre-filtered lists.

Use pre-filtered lists with a filter bar when

  • Users need to adjust preset filter values or add additional filters to refine lists.
  • Users access lists through calls to action and need to further narrow the lists before taking action.
undefined
Do use pre-filtered lists to make user workflows more efficient. Users can narrow lists further as necessary.

Filter bar

1
Filter bar label
2
Filter button (filter not set)
image

Filter bar with filter chooser

1
Filter bar label
2
Filter chooser button
3
Filter button (filter set)
4
Clear filters button
image

Filter bar with filter operators

1
Filters dropdown button
2
Operators selector (All/Any)
3
Filter button (combination filter set)
4
Combination filter popover details
image

Filter chooser

When a list requires many filters to give users multiple ways to narrow the collection of items, include a filter choose to let users select the filters to include in the filter bar.

Within filter choosers, organize filters alphabetically.

If some filters will be used in most of the time, include them directly in the filter bar by default instead of the filter chooser.

undefined
The filter chooser button opens a modal to select the filters to enable in the filter bar.
undefined
For more than 10-12 filters, group filters into categories on a sectioned form. The number of enabled filters appears beside section headers.

Logical operators

When users may require the ability to apply logic to filtering criteria, enable logical operators. In the filter chooser dropdown, users can select to display logical operators in the filter bar, and then they can apply operators as necessary to narrow the list.

undefined
Users enable operators through a dropdown and then apply them from the filter bar.

Multiple types of selection methods are available for filtering lists. They support a large and powerful range of filter criteria creation, including a single value for a property, multiple values for a property, ranges of numbers and dates, and more complex filter groupings.

Lookup or categorical
Numeric
Boolean
Date
Month-day
Text
Combination filters
Grouped filters

Clearing filters

When users select Clear all values, confirm their intention before removing the filter values to avoid losing their work by mistake.

undefined

Filter details display

For combination filters that aggregate filters in a filter button but don't display the filter values, use a popover to progressively disclose the values on focus and hover. This keeps users in context and avoids extra effort to obtain the information.

undefined

Filter bar and button states

Filter bar states
Filters not set
undefined
Filter set
undefined
More filters available with filter chooser button
undefined
More filters and operators available
undefined
Operator shown (options displayed)
undefined
Button stateFilter not setFilter set
Base
undefined
undefined
Hover
undefined
undefined
Focus
undefined
undefined
Click
undefined
undefined

Filter bar responsive behaviors

Larger than extra small (XS) breakpoint
More filters available
undefined
Operator shown
undefined
Smaller than extra small (XS) breakpoint
More filters available
undefined
Operators set
undefined

Updates to summary details

When filters or search criteria are applied to a list, update the list count and summary details to reflect the filtered list. Add “match” to the list count label to reflect the list is in a filtered state.

undefined
Do update summary details when filters or search criteria are applied to a list. To provide context, update the list count label to include 'match.'

Use colons after filter property names when filters are set.

When displaying filters in the filter bar by default, organize them in descending order of importance based the tasks that users will perform. Place the most important or most frequently used first filters first.