Changelog: vibe-landing v1
Standards-compliance pass (AGENTS.md sections 3 and 5)
Done in place on the latest version. No change to design, copy or product behaviour that was reviewed.
URLs and history
- Unknown routes and record ids show a "Page not found" view instead of silently landing on home or search.
- Empty-hash and sign-in redirects now replace history (no Back trap).
- Search tabs, search text and filters are in the URL (
?q=…, replace, debounced). Detail tabs, wizard steps and dialogs use?tab=,?step=,?modal=(push). - Hub sections, communities and conversations have URLs (
#/hub/feed,#/hub/communities/c1). - Signed-out
#/huband#/accountredirect (replace) to#/signin?next=…and return after sign-in. The demo session moved tosessionStorage. - Navigation controls are real
<a href>links (nav, back links, cards, menu, buttons that only navigate). Modified clicks open new tabs. - Per navigation:
document.title, focus to<h1>, scroll top / restore on Back and Forward,aria-current. Smooth scroll respects reduced motion.
Accessibility
- One
<main>, banner, navigation and contentinfo landmarks; skip link. - Heading outline repaired without visual change (levels via
aria-level, oneh1per view). - AA contrast:
--sage-deepdarkened, gold text on white, placeholders; two-tone focus ring (old citrine ring was 2.2:1). - Labels and names for form fields, icon-only buttons, switches, toggles (
aria-expanded,aria-current). - Dialogs:
role=dialog, focus in, inert background, Tab wrap, Esc closes, focus returns to trigger. - Live regions for chat, toasts and typing; Esc closes the menu popover.
prefers-reduced-motionstops all animation and transitions.
Responsive and touch
- Interactive elements are at least 44 px; no horizontal scroll at 320 px (search tabs, sign-in field, filters, chat send).
Where: small labelled edits in the bundle (router, link tags, tab/step state) plus the "STANDARDS PATCH" <style> and <script> blocks at the end of <body>.
- Let's AI page: its visible title is exposed as the single
h1(via the patch layer, no visual change); hub rail headings sit at level 2.