Skip to content

馃帹 Palette: Search, Filter, and Header UX/A11y Improvements - #67

Merged
amrabed merged 3 commits into
mainfrom
palette-ux-improvements-15515930660076399428
Jun 2, 2026
Merged

amrabed merged 3 commits into
mainfrom
palette-ux-improvements-15515930660076399428

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

This PR implements a set of micro-UX and accessibility improvements focused on search, filtering, and core navigation.

馃挕 What:

  1. OS-Aware Search Hints: The search bar now detects the user's operating system to display the correct keyboard shortcut (鈱楰 for Mac, Ctrl+K for others), making the shortcut hint more intuitive.
  2. Smooth Filter Bar Transitions: The sticky UnifiedFilterBar now uses framer-motion for smooth slide-up and slide-down animations instead of a static appearance.
  3. Prevented Focus Hijacking: Refactored Searchbar to support an optional autoFocus prop. Disabled it in the UnifiedFilterBar to prevent the browser from snapping to the input when the bar appears during a scroll.
  4. Header Accessibility: Added focus-visible styles and a descriptive aria-label to the main "Amr Abed" header button.
  5. UX Journaling: Established .Jules/palette.md to track architectural UX decisions and learnings.

馃幆 Why:

  • Native-feeling shortcuts improve power user efficiency.
  • Animations provide visual continuity and reduce cognitive load when UI elements change state.
  • Focus management is critical for a smooth scrolling experience, especially with fixed/sticky elements.
  • ARIA labels and focus rings are fundamental for ensuring the portfolio is accessible to all users.

馃摳 Verification:

  • Screenshot: [verification.png] shows the OS-aware hint and the header focus state.
  • Video: [video.webm] demonstrates the smooth filter bar transition and the non-intrusive focus behavior.
  • Accessibility: Verified with keyboard navigation (tab order and focus visibility).
  • Tests: pnpm lint and pnpm build passed.

PR created automatically by Jules for task 15515930660076399428 started by @amrabed

- Improved Searchbar: Added OS-aware shortcut hints (鈱楰/Ctrl+K) and optional autoFocus.
- Enhanced UnifiedFilterBar: Added smooth spring entry/exit animations using framer-motion and disabled autoFocus in the sticky bar to prevent scroll hijacking.
- Improved Header: Added focus-visible ring styles and aria-label to the Title button for better accessibility.
- UX Journal: Initialized .Jules/palette.md with critical learnings.
@google-labs-jules

Copy link
Copy Markdown
Contributor Author

馃憢 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 馃憖 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Comment thread src/components/search.tsx Outdated
- Replaced `window` and `navigator` with `globalThis.window` and `globalThis.navigator` in `src/components/search.tsx` to address SonarCloud feedback.
Comment thread src/components/search.tsx Outdated
- Updated `src/components/search.tsx` to compare `globalThis.window` with `undefined` directly instead of using `typeof`, addressing SonarCloud feedback.
@sonarqubecloud

sonarqubecloud Bot commented Jun 2, 2026

Copy link
Copy Markdown

@amrabed
amrabed marked this pull request as ready for review June 2, 2026 10:15
@amrabed
amrabed merged commit 98987a0 into main Jun 2, 2026
5 checks passed
@amrabed
amrabed deleted the palette-ux-improvements-15515930660076399428 branch June 2, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant