ReviewOS

also looking at this

loghqorg/loghq

chore(release): promote UI, accessibility, and STX updates to production

#11
Merged glennmichael123 wants to merge main into production
16 files +176 -67

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

resources/partials/Breadcrumbs.stxmodified+17-4
Changes to resources/partials/Breadcrumbs.stx
@@ -7,10 +7,23 @@
77 Each crumb is { label, href?, url? }. The last has no href: it is the
88 current page.
99
10 Deliberately NOT the shipped Breadcrumb component. That component builds its
11 trail with @foreach(item in displayItems), and the loop parser only accepts
12 the ` as ` form — the ` in ` form is skipped outright, so the literal
13 directive text would ship to the browser on all 22 pages.
10 Still hand-written rather than the shipped <Breadcrumb>, but no longer
11 because the component is broken. It used to be: the component loops with
12 @foreach(item in displayItems), the parser accepted only the ` as ` form,
13 and the directive text shipped literally on all 22 pages.
14
15 That is fixed as of stx 0.2.395, checked by rendering rather than by
16 reading: `<Breadcrumb :items="…" />` emits a real
17 <nav aria-label="Breadcrumb"><ol>, the separator inside each <li> and
18 hidden from assistive tech, aria-current="page" on the last item, and
19 data-stx-link on the anchors so the SPA router still intercepts them.
20 That is the same markup this file writes by hand. analyticshq's own
21 partial already calls the component this way.
22
23 What is left is a styling choice rather than a constraint: the component
24 brings its own utilities (flex, gap-2, text-sm, text-fg-muted) where this
25 trail is dressed by `shell subnav`. Worth doing deliberately, not as a
26 side effect of editing this file.
1427
1528 Ordered list, not a row of anchors: this is a sequence, the position is
1629 meaningful, and assistive tech should say so. The separators are decorative