fix(nav): the app knew which page you were on and never said it - #37
Merged
Conversation
Both nav surfaces compared `pathname === link.href` to paint a highlight and set no aria-current, so the current page existed only for people who can see it. There were zero occurrences of aria-current in the whole repo. - Desktop and mobile nav links announce aria-current="page". - The project step rail announces aria-current="step" — it is a progress rail through one project, and `step` is the token for exactly that; `page` would claim something else. Three targets were also under the 44px touch floor, which this repo enforced nowhere: nav links (py-2 on text-sm, ~36px), step pills (~36px), and the mobile menu button (h-10 w-10 = 40px) — the one control a phone user must hit to reach any other page. All now min-h-11 / h-11 w-11. The hamburger also gains aria-expanded and an aria-label, which it had neither of. No visual change beyond the target sizes; the active styling is untouched. Found by the fleet nav-contract audit, which flags a repo whose navigation computes an active state and never announces it anywhere. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XeELB8b3N4JrT2asYL9WvE
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.
Both nav surfaces compared
pathname === link.hrefto paint a highlight and set noaria-current— the current page existed only for people who can see it. Zero occurrences ofaria-currentanywhere in the repo.Fixes
aria-current="page".aria-current="step"— it's a progress rail through one project, andstepis the token for exactly that;pagewould claim something else.Three targets were also under the 44px touch floor, enforced nowhere in this repo: nav links (
py-2ontext-sm, ~36px), step pills (~36px), and the mobile menu button (h-10 w-10= 40px — the one control a phone user must hit to reach any other page). All nowmin-h-11/h-11 w-11. The hamburger also gainsaria-expandedand anaria-label, which it had neither of.No visual change beyond the target sizes; active styling is untouched.
Verification
Typecheck clean, lint clean, 84 tests pass.
Found by the fleet nav-contract audit, which flags a repo whose navigation computes an active state and never announces it anywhere.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XeELB8b3N4JrT2asYL9WvE