| UI or UX | UI + UX - Persisted named search criteria for rerunning a dynamic result set | UI + UX - Search input and result list | UI + UX - Grouped filter control panel for narrowing a current result set | UI + UX - Automatic list of items the current user opened recently |
| UI guidance | Render Save search near the active query and result summary, and show exactly which query text, filters, scope, and sort will be stored. | Render a labeled search field, result count, matching rows, and clear action. | 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 labelled list or rail of items the current user actually opened, ordered most recent first, with enough identity to recognize each item such as name, type, thumbnail or icon, location, status, and last-viewed time. |
| UX guidance | Use saved search when users repeatedly need the same dynamic result set and must rerun it without rebuilding query, filters, sort, and scope. | Help users find known content without browsing every category. | 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. | Use recently viewed to reduce re-finding effort when users compare items, pause work, resume documents, or return to records they inspected during the current or recent sessions. |
| Good UI | A search results page shows Save search beside the result count, opens a naming dialog, and previews query, filters, scope, and sort before saving. | A clearly labeled search field with result count and results placed directly below. | 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 procurement dashboard shows Recently viewed records with title, record type, status, project, last-viewed time, and a remove control for each row. |
| Bad UI | A star icon saves an unnamed search with no confirmation or criteria summary. | Search input hidden behind only an icon with no label. | A filter drawer closes with no active count, leaving users unaware that filters are still hiding records. | A homepage shows a Recently viewed carousel filled with promoted products the user never opened. |
| Good UX | A user saves a search for Open renewal risks, returns next week, reruns it, and sees newly matching cases included. | Users can type, revise, clear, and keep context while inspecting results. | 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. | A user opens several supplier records, returns to the dashboard, and reopens the most recent record without reconstructing the search. |
| Bad UX | Saving search stores only the current three results, so future matching records are missing. | Search silently changes unrelated filters. | Applying a filter silently resets the query, sort order, current page, and view density. | Users trust a Recently viewed rail as a recommendation and choose an irrelevant item because sponsored content was mixed into history. |
| Best fit | Users repeat the same search criteria across sessions or operational cycles. | Users know a word, name, or identifier. | Users need to narrow the current search results, browse results, table, card grid, or list by multiple criteria. | Users inspect multiple objects and often need to return to one they recently opened. |
| Avoid when | The query is a one-off lookup that users will not need again. | The task is choosing a command with side effects. | The result set is small enough that scanning is faster than filtering. | The content set is tiny, linear, or easy to scan without history. |
| Required state | Unsaved current search with Save search available only when criteria are meaningful. | Empty query state. | Default state with no user-applied filters and an explicit result count. | Empty or hidden state before any qualifying item has been viewed. |
| Accessibility burden | Use labelled form fields for saved-search name, description, visibility, and subscription settings. | The input has a stable accessible name. | Use semantic form controls with fieldsets, legends, labels, and accessible names for filter categories and values. | Use a heading or labelled region that describes the scope of the list. |
| Common misuse | Saving static result IDs instead of reusable criteria. | Using placeholder text as the only label. | Hiding active filters inside a closed panel with no count, chips, or result-state summary. | Filling recently viewed with recommendations, ads, popular items, or related content. |