-
Notifications
You must be signed in to change notification settings - Fork 1
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
issue #732: allows users to do a refinement search #746
base: development
Are you sure you want to change the base?
issue #732: allows users to do a refinement search #746
Conversation
…veCenter/development Supports translation of interface via lingui
…veCenter/development Implement Style Library
…veCenter/development Use bulk parse endpoint
…veCenter/development Extract and recompile translation messages
…veCenter/development Fix UI Issues and Updates Backstop
…veCenter/development Construct correct search URL on agent pages
…veCenter/development Dependency Updates
…veCenter/development Dependency updates
…veCenter/development Replaces atomic loading skeleton with global loading indicator
…veCenter/development Update dependencies
…veCenter/development Ensure values from Wikidata are unique
…veCenter/development Update styles, bug fixes, and update dependencies
…veCenter/development Add Cite button to generate citation information
…veCenter/development Update base styles
…veCenter/development Update dependencies
…veCenter/development Dependency updates and language force
…veCenter/development Merge dependency updates from dev to base.
…veCenter/development Update My List modals
…veCenter/development Adds configurable Reading Room date picker
…veCenter/development Import DatePicker css
…veCenter/development Update DIMES Duplication Request Modal for Fee Changes
…veCenter/development Toggle on automatic language detection
…veCenter/development Workflows update
…veCenter/development fix typo in workflows
…veCenter/development Dependency updates
…veCenter/development Improve setting of narrative description source on Agent pages
…veCenter/development Update version of node in dependency updates
…veCenter/development Update dependencies
…veCenter/development Dependency updates
…veCenter/development Removes translation of form _name_ attributes
…veCenter/development Adds github workflows
…veCenter/development Dependency updates
…veCenter/development Dependency updates
…veCenter/development Add GitHub App support
…veCenter/development Update link to appointment scheduling.
…veCenter/development Remove translation of search inputs
…veCenter/development Dependency updates
…veCenter/development Dependency updates
…veCenter/development Update stylesheet and footer contents
…veCenter/development Lingua updates for social media icon and reading room hour updates
…veCenter/development Support cases where there is no extent data.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hillel's team will be the authority, but some requests from me.
I have some higher-level questions about the goals of this PR (aside from the specific things that @ctgraham identified). First, it seems like the net effect of this PR would be to remove one click at the expense of masking a lot of search functionality. Users can already get back to the previous search and refine from there by clicking on the "Back to Search" button. I'm not sure that allowing them to update the query only from within a collection view outweighs the additional complexity in code and UI that results. Our user testing indicated that users had no problem identifying and using that "Back to Search" button for search refinement. I'm still not sold that a "search within this collection only" is a use case that we are experiencing on our end, so I think if we're going to continue to go down this road this should probably be a configurable feature. That would also allow us to do some testing before we implement to make sure this is something that works for users. |
…new env variable to make search refinement option configurable per code input
Thanks for your inputs Hillel. I think a main purpose of requesting a search refinement feature is to provide the users with a clear picture of their current query, and an options for easily pinning down their search based on the current results they are viewing. With that in mind, I totally agree that the minimap features allow users to easily click and jump to matches within collections. We also brought your thought and inputs regarding this request during the meeting with our Archives&Special Collections team yesterday. However, from our users' perspectives, we recognize that there are cases where they want to narrow down a search by focusing on a specific collection within the initial results. For instance, a researcher might be looking for a particular name within a specific collection of correspondence found in the search results. In addition, providing option to refine a search within search result page make it more straightforward for users to pin down their finding effectively. The refined search will be conducted on-the-fly and will not directly overwrite the query parameter until execution. This approach aims to minimize the impact on the current minimap and other complex UI features. I also revised the code based on Clinton's and your input. Please let me know if any q or feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple other things, mostly very minor.
The translation for the user-facing label will also need to be added as described in the README.
…veCenter/development Update Dependencies
46fc004
to
0eca0ad
Compare
… for the new msg
0eca0ad
to
1f9dcbd
Compare
Hi there! I'll weigh in with some feedback related to screenreader UX: So for sighted users, the indication that a refined search has successfully completed is that they might see the minimap squares/links change, and they'll see their new search term in the input. For screenreader users, they'll submit the search and the page will reload with the focus moving to whatever record is in the url. If they've been exploring the collection, that will be somewhere in the collection context tree on the right side of the screen. The screenreader will then start from there since that has focus. I'm open to ideas, but I'd suggest mitigating that potentially confusing pattern (that doesn't support WCAG SC 3.2.2) by adding an aria-live announcement with a message like "Links in minimap navigation have been updated to display new search results". We use an aria-live region already to tell users that collection details on the left side of the page have been updated when someone selects a new record using react-aria-live. You can see that implemented in |
…lect the state updates triggered from the refinement form
…d of referring react hook useSearchParams
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I apologize for missing this earlier, but we've tried to use BEM class names so converting those here. I think I got all of them in my suggestions.
Hi @rzhang152 - I was just chatting with @HaSistrunk about the accessibility aspects of this PR. Fundamentally, the challenge here is that the refine search form reloads the page, which has a couple of knock-on implications related to both accessibility and usability:
After thinking about it, I'd like to suggest the following:
Let us know how that sounds - we appreciate your thinking and work on this feature! |
Give users option to refine a search inside the initial search results on Dimes.