From 50d2624985898667c86999ada151d2f72b6b8d27 Mon Sep 17 00:00:00 2001 From: Mikhail Yenuchenko Date: Mon, 3 Aug 2026 22:43:52 +0300 Subject: [PATCH] panel: put the session row on top of the nav bar The two rows were the right call; the order was not. The session block belongs at the top right, where a signed-in user expects it, with the page entries under it and the active one sitting against the bar's bottom border. Done by moving the session div ahead of the links div in the layout rather than with a CSS `order`, so the reading and tab order still follow what the eye sees. That does make Sign out the bar's first tab stop -- the same as on any site with a user menu up there, and nothing activates on focus, so it is a reordering rather than a hazard. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 9 ++++----- internal/web/static/panel.css | 8 ++++++-- internal/web/templates/layout.html | 17 ++++++++++------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index efaec28..5aa46d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,11 +31,10 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); version no exemption from the panel's Content-Security-Policy — and are hidden from screen readers, which still announce the label alone. -- panel: the navigation bar is laid out as two rows on purpose — the page - entries, then the signed-in user, Account and Sign out along the right edge. - It no longer fits on one line and used to wrap on its own, which left the - session block sitting left-aligned under the entries as if it were more - navigation. +- panel: the navigation bar is laid out as two rows on purpose — the signed-in + user, Account and Sign out along the top right, the page entries below. It no + longer fits on one line and used to wrap on its own, which left the session + block sitting left-aligned under the entries as if it were more navigation. ## [0.2.0] - 2026-08-03 diff --git a/internal/web/static/panel.css b/internal/web/static/panel.css index 3f09558..5e4498b 100644 --- a/internal/web/static/panel.css +++ b/internal/web/static/panel.css @@ -94,8 +94,12 @@ details form { margin-top: 0.6rem; } the entries, reading as a third row of navigation. Shortening labels would buy the ~200px back but undo the point of naming each entry after its page. Rows rather than columns: a two-column grid of entries came out a third taller - (107px against 83px) and no easier to read. Entries stay first, in the - document order, so tabbing reaches the pages before Sign out. */ + (107px against 83px) and no easier to read. + The session sits on top, at the right edge, and the page entries below — the + usual arrangement, and the layout template puts the session first so the + reading and tab order follow what the eye sees rather than being flipped by a + CSS `order`. The cost is that Sign out is the bar's first tab stop; nothing + activates on focus, so that is a reordering, not a hazard. */ .nav { display: flex; flex-direction: column; align-items: stretch; gap: 0.5rem; margin-bottom: 1.2rem; padding-bottom: 0.6rem; diff --git a/internal/web/templates/layout.html b/internal/web/templates/layout.html index f095b93..d4ec6d2 100644 --- a/internal/web/templates/layout.html +++ b/internal/web/templates/layout.html @@ -35,6 +35,16 @@ .User and get no nav. */}} {{define "nav"}} {{end}}