Skip to content

Conversation

@MohamedEslam04
Copy link

🔗 Linked issue

Resolves #
❓ Type of change
👌 Enhancement (improving an existing functionality)
✨ New feature (a non-breaking change that adds functionality)
🐞 Bug fix (fixes a teardown error in tests)
📚 Description
This PR enhances the Marquee component with focus on accessibility, speed control, and a new interactive pause mechanism.

Key Enhancements:

Accessibility Improvements:
Added motion-reduce:animate-none to support users with motion sensitivities.
Applied aria-hidden="true" to duplicated marquee content to optimize screen reader experience.
pauseOnClick Functionality:
Users can now click the marquee to toggle between playing and paused states.
Implemented smart event filtering to ensure inner interactive elements (buttons, links) remain functional without triggering the pause.
Animation automatically resumes when clicking outside the component using onClickOutside.
Custom Duration: Added a duration prop (in seconds) to allow dynamic control over scrolling speed.
Visual Feedback: Added a hover-enabled overlay to indicate the marquee is interactive when pauseOnClick is enabled.
Bug Fixes & Tooling:

Test Stability: Resolved a ReferenceError: document is not defined in
Slideover.spec.ts
by introducing unmount() in accessibility tests.
Updated Tests: Optimized
Marquee.spec.ts
with new cases for duration and interaction logic, and updated snapshots across the library to reflect structural theme changes.

📝 Checklist
I have linked an issue or discussion.
I have updated the documentation accordingly.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 10, 2026

npm i https://pkg.pr.new/@nuxt/ui@5846

commit: a632447

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v4 #4488

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant