Repository navigation
Accessibility: skip-link landmarks, shared announcer, onboarding checklist, and responsive overlays - #746
Merged
techisigu merged 4 commits intoOct 23, 2026
Conversation
…nt skip-link landmark to f Closes stellar-vortex-protocol#617
…Settings status messages t Closes stellar-vortex-protocol#618
…nboarding checklist tied t Closes stellar-vortex-protocol#619
…of dialog overlays for sma Closes stellar-vortex-protocol#620
|
@devoclan 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Accessibility: skip-link landmarks, shared announcer, onboarding checklist, and responsive overlays
What was solved
#617 — [Trivial] Add the missing main-content skip-link landmark to four pages
Add the missing
id="main-content"landmark to the top-level<main>element on the four routes whose pages currently lack it, so the global skip link insrc/app/layout.tsxlands on real content. Match the existing pattern used insrc/app/solve/dashboard/page.tsx(<main id="main-content" ...>). Scope is strictly limited to the four confirmed-missing pages; no audit of other routes, no unrelated refactors.Addressed:
id="main-content"to the top-level<main>(or equivalent landmark) onsrc/app/governance/archive/page.tsxid="main-content"to the top-level<main>onsrc/app/governance/delegates/page.tsxid="main-content"to the top-level<main>onsrc/app/governance/voter/[address]/page.tsx#618 — [Medium] Route ExportDialog and SwapSettings status messages through the shared Announcer
Adopt the shared Announcer in ExportDialog and SwapSettings so their status/error messages are announced through useAnnounce() with the documented politeness policy (polite for progress, assertive for errors), while keeping the existing visual presentation and local live regions intact.
Addressed:
#619 — [Medium] Build a guided first-swap onboarding checklist tied to real milestones
Implement the empty
src/components/OnboardingHints.tsxas a small, dismissible first-swap onboarding checklist whose items are driven by real application state: wallet connection (useWalletStore), token favorites/recents (TokenSelector localStorage), swap settings opened, and a submitted intent (loadLastSubmittedIntent). Persist dismissal/completion locally so the panel does not reappear once finished or dismissed, and satisfy/extend the existingOnboardingHints.test.tsx.Addressed:
#620 — [Medium] Add a bottom-sheet variant of dialog overlays for small screens
Add a responsive bottom-sheet presentation for the SwapSettings and ExportDialog overlays on narrow viewports (below the existing sm breakpoint), while keeping the current anchored popover on desktop. Reuse the existing useDismissableOverlay hook for outside-click/Escape dismissal, and respect prefers-reduced-motion / data-motion="reduce" for the slide-up transition. Scope is limited to these two components; other overlays are out of scope.
Addressed:
Changes
src/app/governance/archive/page.tsx(modify)src/app/governance/delegates/page.tsx(modify)src/components/ExportDialog.tsx(modify)src/components/SwapSettings.tsx(modify)src/components/OnboardingHints.tsx(create)src/lib/intentLifecycle.ts(modify)src/app/globals.css(modify)Approach
Issues
Closes #617
Closes #618
Closes #619
Closes #620