Skip to content

Improve shared site structure, content loading and accessibility - #35

Merged
sileneer merged 3 commits into
mainfrom
fix/code-quality-and-ux-review
Oct 19, 2026
Merged

sileneer merged 3 commits into
mainfrom
fix/code-quality-and-ux-review

Conversation

@sileneer

Copy link
Copy Markdown
Contributor

What changed

This branch improves content loading, shared templates and site accessibility. It includes the original review commits and a follow-up review that fixes regressions found in their implementation.

  • Consolidate the shared document into one real app root so the branded 404 exports with its styles; preserve independent playground surfaces.
  • Retain production content caches while allowing development refreshes to read changed Markdown/YAML/JSON.
  • Restore page interaction when the mobile menu is resized to desktop; complete radio-filter arrow navigation and keep substantive card content available to screen readers.
  • Restore saved themes before paint, supply detail-page descriptions, source navigation and recurring labels from content, and improve intermediate-width calendar behavior.
  • Preserve factual content, existing routes, hidden member detail URLs, historical assets and legacy redirect stubs.
  • Add focused content-loader and exported-page regression checks to the build.

Validation

  • npm run build passed on Windows / Node 24.19.0: design guard, 20 image references, 11 calendar tests, 3 content-loader tests, TypeScript/static export, 21 redirect stubs and 2 post-export checks.
  • 36 browser screenshots captured at desktop/mobile in both themes, plus intermediate calendar widths. Menu/Escape/focus/resize, filter arrows, theme persistence, calendar navigation/selection/empty states, playground surfaces and no-JavaScript fallback passed.
  • 24 targeted axe WCAG A/AA scans reported no violations. Mobile calendar contrast checks left 17 incomplete nodes per theme; screenshots were reviewed manually. No screen-reader test is claimed.
  • 21 exported HTML routes and 29 local links/resources returned 200; unknown routes return the styled 404. No observed broken images, document overflow, console errors or hydration errors.

Findings, screenshots and limitations: docs/design/code-quality-review-2026-10-19.md.

Owner preview gate

Preview is running at http://localhost:4102/. Owner testing/approval of this implementation and the Build Next.js site (no deploy) check are required before squash merge. This PR does not claim publication or live verification.

Code quality: memoize build-time content loaders, add path-contextual
error reporting and required-key shape assertions, remove dead markdown
helpers, guard the collection sort comparator, share one SiteData type,
validate calendar statuses at load, extend the image-reference check to
styles/*.css, harden serve.mjs path resolution, consolidate the thirteen
identical root layouts into one (site) route-group layout, extract a
shared JournalCard and reformat single-line page JSX.

UI/UX: restore the saved theme before first paint via a blocking inline
head script, add a branded not-found page, move the calendar single-column
breakpoint to 1000px, inert content/footer and close on outside pointer
or focus loss while the mobile menu is open, give whole-card links concise
accessible names, switch activity filters to radio semantics with a
result-count announcement, focus the calendar dates region only when it
scrolls, keep promoted:false member pages out of the sitemap, add meta
descriptions to detail and Contact pages, action-labelled theme toggle,
content-driven header/footer menus via menus.yml, ui.yml keys for
calendar aria labels and open seats, a no-JS calendar notice, and
announce event details only after explicit selection.

DESIGN.md and the change record are updated per the design contract.
Copilot AI balanced review requested due to automatic review settings October 19, 2026 21:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sileneer
sileneer merged commit 7df1210 into main Oct 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants