| UI or UX | UI + UX - Over-broad filter reset anti-pattern | UI + UX - Grouped filter control panel for narrowing a current result set | UI + UX - Search input and result list | UI + UX - Compact chip set for toggling or removing result filters | UI + UX - Persisted named search criteria for rerunning a dynamic result set |
| UI guidance | Treat Clear filters or Reset filters as scoped to filter criteria only; keep the submitted search query, query field, search scope, saved search identity, sort, pagination policy, and view settings visible and unchanged unless the control explicitly names those states. | Render filter categories as labelled form controls in a panel adjacent to the result set on wide layouts, with a visible result count and active-filter summary near the results. | Render a labeled search field, result count, matching rows, and clear action. | Render filter chips as a compact set of short, consistently styled controls near the content they filter, with clear selected, unselected, focused, disabled, and removable states. | Render Save search near the active query and result summary, and show exactly which query text, filters, scope, and sort will be stored. |
| UX guidance | Use this anti-pattern during review when users try to loosen filters but lose the search term or saved search context that got them to the result set. | Use a filter panel to help users narrow the current list or search result set while preserving orientation, search query, sort order, pagination context, and selected values. | Help the person reach a clear task outcome. | Help the person reach a clear task outcome. | Preserve the distinction between running a saved search temporarily and updating the saved criteria, especially when a saved search is shared or subscribed to. |
| Good UI | A result page shows Query: appeal and filters Status: Open, Date: Last 30 days; Clear filters removes only the filter chips and keeps the query token. | A desktop search page shows a left filter panel with Status, Type, and Date groups, while active chips and the result count sit above the results. | A clearly labeled search field with result count and results placed directly below. | A search results page shows chips for Open, Urgent, Appeals, and Benefits below the search box, with selected chips using a checkmark and stronger background. | A search results page shows Save search beside the result count, opens a naming dialog, and previews query, filters, scope, and sort before saving. |
| Bad UI | Removing one filter chip resets the entire query and sort state. | A panel mixes filter options, navigation links, sort controls, and saved views under one Filters heading. | Results jump, resize, or use heavy borders that make scanning feel like reading a form. | A single pill labelled Filter sits alone and behaves like a vague button. | Saved searches, recently searched terms, browser bookmarks, and saved filters are mixed in one list called Saved. |
| Good UX | A user searching appeal clears all filters and still sees results for appeal sorted by Newest. | A user selects Status: Open and Type: Appeal, applies the batch, lands back at the result summary, and sees 12 records with both criteria removable. | Users can type, revise, clear, and keep context while inspecting results. | A user tabs to Status: Open, presses Delete, and focus moves to the next applied chip while the result summary updates. | A user saves a search for Open renewal risks, returns next week, reruns it, and sees newly matching cases included. |
| Bad UX | Clear filters empties the search field. | Applying a filter silently resets the query, sort order, current page, and view density. | Search silently changes unrelated filters. | Tapping a chip changes the page route and clears the result context. | Saving search stores only the current three results, so future matching records are missing. |
| Best fit | Use it when a reset label is narrower than the actual state it clears. | Users need to narrow the current search results, browse results, table, card grid, or list by multiple criteria. | Users know a word, name, or identifier. | A few common filters should stay visible and directly toggleable near the content. | Users repeat the same search criteria across sessions or operational cycles. |
| Avoid when | The action is intentionally a full Start over reset and the UI clearly lists search, filters, sort, scope, and view state as affected. | The result set is small enough that scanning is faster than filtering. | The task is choosing a command with side effects. | There are many criteria, ranges, dates, or grouped fields that need a panel or form. | The list is small enough that recent searches, bookmarks, or manual scanning solve the problem. |
| Required state | Default state with visible query, filters, sort, scope, and result count separated by ownership. | Applied state with active-filter count, result count, and removable applied criteria near the results. | Empty query state. | Selected chip state with visible selected indicator and updated result count. | Unsaved current search with Save search available only when criteria are meaningful. |
| Accessibility burden | Give reset controls precise accessible names such as Clear all filters, Clear search query, or Clear search and filters. | Use semantic form controls with fieldsets, legends, labels, and accessible names for filter categories and values. | The input has a stable accessible name. | Use button semantics for interactive chips and expose selected state with aria-pressed or equivalent semantics. | Use labelled form fields for saved-search name, description, visibility, and subscription settings. |
| Common misuse | Implementing Clear filters by reinitializing the whole search page state object. | Using a filter panel as a navigation drawer that sends users to different pages instead of narrowing the current data set. | Using placeholder text as the only label. | Using a lone chip as a generic Filter button. | Saving static result IDs instead of reusable criteria. |