-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design how the various search and filtering modes interact #6006
Comments
Something I don't like about the current filter toggle UI is that the button can dramatically change length depending on whether the filter is active or not. This means that the text moves around in a distracting way when it is toggled, and also the hit target changes. So a fixed sized icon is a must in the replacement UI. |
Jared, Dan, Alejandro and myself discussed this on a call yesterday. We arrived at the designs discussed in https://hypothes-is.slack.com/archives/C07NXBDNW/p1704730651476379 (Figma: https://www.figma.com/file/sC8gPsiPLHOuaGKSCvQXUR/Hypothesis---Search-(Sidebar)?type=design&node-id=0-1&mode=design&t=94q4pMDVYxpeYYTi-0): Some notes:
|
Take initial steps to update the design of the search panel and filter controls to align with the mocks in #6006. - Move the filter status UI into the search panel. This reduces the amount of vertical space required when a search and/or filter are active. - Replace the filter status description string + single filter state toggle with a row of toggle buttons, one per filter. Using one toggle button per filter allows the user to toggle the different filter states independently. Removing the filter description saves space and also it was getting increasingly complicated to construct descriptions of all the possible search/filter combinations.
Take initial steps to update the design of the search panel and filter controls to align with the mocks in #6006. - Move the filter status UI into the search panel. This reduces the amount of vertical space required when a search and/or filter are active. - Replace the filter status description string + single filter state toggle with a row of toggle buttons, one per filter. Using one toggle button per filter allows the user to toggle the different filter states independently. Removing the filter description saves space and also it was getting increasingly complicated to construct descriptions of all the possible search/filter combinations.
Take initial steps to update the design of the search panel and filter controls to align with the mocks in #6006. - Move the filter status UI into the search panel. This reduces the amount of vertical space required when a search and/or filter are active. - Replace the filter status description string + single filter state toggle with a row of toggle buttons, one per filter. Using one toggle button per filter allows the user to toggle the different filter states independently. Removing the filter description saves space and also it was getting increasingly complicated to construct descriptions of all the possible search/filter combinations.
Update style of filter toggle buttons to align them with the current mocks. Also fix accessibility of the pressed state by using the `pressed` button prop to indicate whether the toggle is active. Part of #6006.
Update style of filter toggle buttons to align them with the current mocks. Also fix accessibility of the pressed state by using the `pressed` button prop to indicate whether the toggle is active. Part of #6006.
Update style of filter toggle buttons to align them with the current mocks. Also fix accessibility of the pressed state by using the `pressed` button prop to indicate whether the toggle is active. Part of #6006.
Update style of filter toggle buttons to align them with the current mocks. Also fix accessibility of the pressed state by using the `pressed` button prop to indicate whether the toggle is active. Part of #6006.
Update style of filter toggle buttons to align them with the current mocks. Also fix accessibility of the pressed state by using the `pressed` button prop to indicate whether the toggle is active. Part of #6006.
In the new search UI there is no longer a status message which tries to describe the search result counts in detail. Instead we rely on the existing counts that are displayed on tab titles. Add a hidden status message with `role="status", aria-live="polite"` to communicate changes in these counts to assistive technology users. Part of #6006
In the new search UI there is no longer a status message which tries to describe the search result counts in detail. Instead we rely on the existing counts that are displayed on tab titles. Add a hidden status message with `role="status", aria-live="polite"` to communicate changes in these counts to assistive technology users. Part of #6006
Align the styling of the search/clear buttons with the mocks [1] by: - Making the icons visually part of the input field - Increasing their size to match the top bar icons - Adjusting the padding [1] #6006 (comment)
There is one small styling piece left to do in #6130, but otherwise this is done, so I'm going to close this and create new issues for anything else that comes up. |
Align the styling of the search/clear buttons with the mocks [1] by: - Making the icons visually part of the input field - Increasing their size to match the top bar icons - Adjusting the padding [1] #6006 (comment)
Update 2024-01-17: See #6006 (comment) for current mocks.
Implementation sub-tasks
Below is the original problem outline and discussion about how to update the design.
The Hypothesis client has several annotation filtering mechanisms, some of which can be active concurrently. This issue is about clarifying how those mechanisms should interact.
Available filtering mechanisms
The different filtering mechanisms that exist in the Hypothesis client are:
In addition to the above filtering modes, there are conditions under which an annotation that does not match the filters can still be shown. These are:
A. When an annotation is being edited. This occurs when the user creates a new annotation that does not match the current filters, and has not saved it yet.
B. When part of a conversation thread that does not match the filter is revealed by clicking a "Show more in conversation" button
Interactions between filters
The way the filters currently interact is as follows:
Screenshots of individual filters
Search field (old):
Search field (new):
The new search UI moves the search bar into a panel below the header, where we avoid the problem of being very space constrained, leading to issues like #5963.
Selection:
After clicking a highlight in the document, you get this:
Note there is no indication here about why the annotation is being shown.
User focus (active):
A teacher's view when grading a student:
User focus (inactive):
If the user clicks on the "Show all" button, the above changes to:
Content focus:
The planned focus more for content would be similar to the above focus mode for users, but instead of a user's display name, you'd see "pages 100-120", or whatever the selected content range for the assignment is.
Screenshots of combined filters
Search field (old) + user focus:
This is compact but user confusion can arise from the fact there are two filters active, but only one button to clear them. Clicking the "Clear search" button both clears the search AND disables the focus mode. This means that when user focus mode is active, if you perform a search you need to perform multiple actions to get back to the previous state (user focus active, no search).
Search field (new) + user focus:
This UI takes up more space, but makes it clearer that there are two distinct filters active and it should be possible to clear only one of them at a time (TODO: Confirm that the cancel button actually does do this).
Questions to address
The text was updated successfully, but these errors were encountered: