Skip to content

Add a reduced-motion guard to the Notification page framer-motion list transitions #497

Description

@1nonlypiece

📌 Description

src/pages/Notification.tsx animates list items with framer-motion
(AnimatePresence + transitionEnter) without honouring
prefers-reduced-motion. Users with motion sensitivity see animated entrance on
every page change. This issue gates the animation behind the reduced-motion
preference.

🎯 Requirements and Context

  • Read prefers-reduced-motion (reuse the existing hook pattern) and disable or
    shorten transitions when set.
  • No layout shift difference between motion and reduced-motion modes.
  • Keep the default animated behaviour when motion is allowed.

🛠️ Suggested Execution

1. Fork the repo and create a branch

git checkout -b a11y/notification-reduced-motion

2. Implement changes

  • Update src/pages/Notification.tsx (and extract a shared hook if helpful).
  • Tests: extend src/pages/__tests__/Notification.test.tsx mocking matchMedia.
  • Docs: note the reduced-motion behaviour.

3. Test and commit

  • Run npm test.
  • Cover edge cases: reduced-motion on/off, matchMedia change mid-session, no
    visual jump.

Example commit message

a11y: respect prefers-reduced-motion in Notification list transitions

✅ Guidelines

  • Minimum 95% test coverage on the new/changed lines.
  • No layout shift between modes.
  • Timeframe: 96 hours.

🏷️ Labels

type-security · area-frontend · type-enhancement · MAYBE REWARDED · GRANTFOX OSS · OFFICIAL CAMPAIGN

💬 Community & Support

  • Join the Disciplr contributor Discord to coordinate, ask questions, and get
    unblocked fast: https://discord.gg/xvNAvMJf
  • Please introduce yourself in the channel before you start so we can avoid
    duplicate work, pair you with a reviewer, and get your PR merged quickly.
  • Maintainers actively triage this channel and aim for fast, clear, respectful
    reviews — reach out any time you're blocked.

Metadata

Metadata

Assignees

Labels

GRANTFOX OSSGrantFox open-source campaignMAYBE REWARDEDEligible for GrantFox rewardOFFICIAL CAMPAIGNOfficial GrantFox campaign issueStellar WaveIssues in the Stellar wave programarea-frontendFrontend / UI worktype-securitySecurity review / hardening

Type

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions