Skip to content

Fix the Pagination double live-region announcement that competes with the page status #191

Description

@mikewheeleer

Resolve duplicate polite announcements between Pagination and the marketplace

Description

components/Pagination.jsx renders a visible count with aria-live="polite" aria-atomic="true", while app/invest/page.js also pushes "Showing N of M" into its own sr-only role="status" region via getPaginationAnnouncement. After "Load more", both regions announce the same change, producing a double announcement. This issue removes the redundancy so screen-reader users hear the update once.

Requirements and context

  • Repository scope: Liquifact/Liquifact-frontend only.
  • Choose a single source for the count announcement: either keep the Pagination live region and stop pushing the duplicate string into the page status, or make Pagination's count non-live and let the page status own the announcement.
  • Keep the visible count for sighted users in either case.
  • Preserve focus restoration to the "Load more" button after each load.
  • Document the chosen single-announcement pattern.

Suggested execution

  • Fork the repo and create a branch
  • git checkout -b a11y/invest-14-pagination-single-announce
  • Implement changes
  • Test and commit

Test and commit

  • Run npm run lint, npm test, and npm run build.
  • Cover edge cases: load-more, last page, and single-item list.
  • Include the full npm test output.

Example commit message

fix: remove duplicate pagination live-region announcement

Guidelines

  • Minimum 95 percent test coverage for impacted modules.
  • Clear, reviewer-focused documentation.
  • Timeframe: 96 hours.

Community & contribution rewards

  • 💬 Join the Liquifact community on Discord for questions, reviews, and faster merges: https://discord.gg/JrGPH4V3
  • ⭐ This is a GrantFox OSS / Official Campaign task and may be rewarded. When your PR is merged you'll be prompted to rate the project — if this issue and the maintainers helped you ship, we'd be grateful for a 5-star rating. Clear questions in Discord and tidy, well-tested PRs are the fastest path to a merge and a reward.

Metadata

Metadata

Assignees

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions