The shell: a page title per page (WCAG 2.4.2), scroll reset on navigation, and the player-owner's Contents line #796

Closed
opened 2026-09-24 01:57:22 +00:00 by claude-bot · 0 comments
Collaborator

Follow-ups found building the shell's follow-ups (#789). Owner, 2026-09-24 (R4): fix now, as a small shell PR (lane 1's frame, #727).

1. No page has its own title (WCAG 2.2 Level A, 2.4.2 Page Titled)

document.title never changes, so every tab, bookmark and history entry reads the same, and a screen reader announces nothing new when a page changes. This is Level A, stricter than the AA fixes this build has been making.

Fix: a title per page, built from what the shell already knows. shell/useContents.js's barFor() works out each page's crumb and title. Something like This week · The Amberwake Accord · Quest Board. Pages outside the frame (the front door, sign in, help, privacy, licences, accessibility, the setup wizard, not found) need theirs too. #780's focus-on-navigation moves focus to the page heading; the title is the other half of telling someone where they are.

2. Scroll position doesn't reset on navigation

.book__main is the page's scroll container, and nothing resets it, so a new page can open part-way down, wherever the last one was left. Reset to the top on a forward navigation. A fragment that names an element on the page scrolls to that element instead. Back and forward should restore where the reader was, if that's practical with a container rather than the window; say so if it isn't. Coordinate with shell/useRouteFocus.js, which already scrolls a focused heading into view.

3. A player-owner's Contents line

Since D93, a campaign's owner can be a plain player and still has Settings, but the Contents meta line still says "You're a player". Owner's wording: "You're a player, and you own this campaign."

🤖 Generated with Claude Code

Follow-ups found building the shell's follow-ups (#789). **Owner, 2026-09-24 (R4): fix now, as a small shell PR** (lane 1's frame, #727). ### 1. No page has its own title (WCAG 2.2 **Level A**, 2.4.2 Page Titled) `document.title` never changes, so every tab, bookmark and history entry reads the same, and a screen reader announces nothing new when a page changes. This is Level A, stricter than the AA fixes this build has been making. **Fix:** a title per page, built from what the shell already knows. `shell/useContents.js`'s `barFor()` works out each page's crumb and title. Something like `This week · The Amberwake Accord · Quest Board`. Pages outside the frame (the front door, sign in, help, privacy, licences, accessibility, the setup wizard, not found) need theirs too. #780's focus-on-navigation moves focus to the page heading; the title is the other half of telling someone where they are. ### 2. Scroll position doesn't reset on navigation `.book__main` is the page's scroll container, and nothing resets it, so a new page can open part-way down, wherever the last one was left. Reset to the top on a forward navigation. A fragment that names an element on the page scrolls to that element instead. Back and forward should restore where the reader was, if that's practical with a container rather than the window; say so if it isn't. Coordinate with `shell/useRouteFocus.js`, which already scrolls a focused heading into view. ### 3. A player-owner's Contents line Since D93, a campaign's owner can be a plain player and still has Settings, but the Contents meta line still says "You're a player". **Owner's wording: "You're a player, and you own this campaign."** 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#796
No description provided.