Skip to content

Accessibility, responsive & test polish: profile page + leaderboard/marketplace cards - #316

Open
CeceOs92 wants to merge 1 commit into
Ada-Girly881:testnet-implementationfrom
CeceOs92:feat/Accessibility-responsive-test-polish-profile-page-leaderboard/marketplace-cards
Open

Accessibility, responsive & test polish: profile page + leaderboard/marketplace cards#316
CeceOs92 wants to merge 1 commit into
Ada-Girly881:testnet-implementationfrom
CeceOs92:feat/Accessibility-responsive-test-polish-profile-page-leaderboard/marketplace-cards

Conversation

@CeceOs92

Copy link
Copy Markdown
Contributor

Summary

  • Add a Jest + RTL integration test for the profile page covering wallet-disconnected, loading, no-profile, full-profile-with-bots, and no-bots states, mocking useWalletStore and useAccrual hooks so no network/contract calls occur.
  • Audit and polish LeaderboardTable.tsx for keyboard navigation, ARIA labels, color contrast, and mobile responsiveness.
  • Audit and polish BotListingCard.tsx for keyboard navigation, ARIA labels, color contrast, and mobile responsiveness.

Profile page test

  • New: frontend/src/__tests__/profile.integration.test.tsx

LeaderboardTable.tsx

  • Scrollable wrapper is now a focusable role="region" with a visible focus ring, so keyboard users can reach overflow content on narrow viewports.
  • Added sr-only <caption>, scope="col" headers, aria-current="true" on the current user's row, and aria-hidden + sr-only labels on medal/rank icons.
  • Address column is no longer dropped on mobile (hidden sm:table-cell removed) — data stays visible with tighter mobile padding instead of being silently lost.
  • Verified contrast: muted 6.0:1, gold 13:1 against card background — both pass WCAG AA.

BotListingCard.tsx

  • Buy/Cancel buttons now have dynamic aria-labels stating the bot, price, and current state (buying / cancelling / wallet-not-connected) instead of an ambiguous bare "Buy"/"Cancel" across a grid of cards.
  • Decorative icons and tier emoji marked aria-hidden="true".
  • Added visible focus-visible ring styles to both action buttons (none existed before).
  • Responsive: p-4 sm:p-5, min-w-0 + truncate on bot name/seller address, shrink-0 on icons/badges to prevent overflow on narrow cards.
  • Verified contrast: pink 7.4:1, green 11:1, gold 13:1, muted 6:1 — all pass WCAG AA.

Closes #189
Closes #197
Closes #198

Test plan

  • npx jest src/__tests__/profile.integration.test.tsx — 5/5 passing
  • npx jest src/__tests__/LeaderboardTable.test.tsx — 2/2 passing (no regressions)
  • npx tsc --noEmit — clean

@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@CeceOs92 is attempting to deploy a commit to the Ada's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@CeceOs92 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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

Labels

None yet

Projects

None yet

1 participant