molecule-core/canvas/src
Dev Lead Agent cf8db07020 fix(canvas): WCAG critical — ARIA live toasts, dialog focus trap, keyboard nav
Addresses the three release-blocking WCAG violations from the UX audit
(3rd consecutive cycle) and the new ChatTab ARIA gap from Audit #2.

Changes:
- Toaster: split into polite (success/info) + assertive (error) live
  regions, both always in DOM so screen readers register them before
  any toast fires. Adds x dismiss button on every toast. Errors no
  longer auto-expire after 4s — persist until explicitly dismissed.
- ConfirmDialog: on open, requestAnimationFrame focuses the first
  button inside the dialog. Tab/Shift-Tab is now trapped inside the
  dialog while open. Added role="dialog" aria-modal="true" and
  aria-labelledby pointing to the title h3.
- WorkspaceNode: outer div gains role="button", tabIndex={0},
  aria-label, aria-pressed, and onKeyDown (Enter/Space => selectNode,
  ContextMenu key => openContextMenu). Keyboard-only users can now
  reach and activate workspace nodes.
- ChatTab sub-tab bar: role="tablist" on wrapper, role="tab" +
  aria-selected + aria-controls on each button, matching
  role="tabpanel" + id on each panel div. Textarea gets
  aria-label="Message to agent".

453/453 Vitest tests pass. Production build clean (Next.js 15).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 08:31:06 +00:00
..
__tests__ fix(a11y): prefers-reduced-motion WCAG 2.3.3 compliance 2026-04-14 11:25:23 +00:00
app feat(canvas): AuthGate — redirect anonymous users to cp login (Phase F close) 2026-04-14 20:37:26 -07:00
components fix(canvas): WCAG critical — ARIA live toasts, dialog focus trap, keyboard nav 2026-04-15 08:31:06 +00:00
hooks initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
lib feat(canvas): AuthGate — redirect anonymous users to cp login (Phase F close) 2026-04-14 20:37:26 -07:00
store fix(canvas): WORKSPACE_PROVISIONING grid origin offset — prevent viewport clipping 2026-04-15 07:53:45 +00:00
stores initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
styles fix(canvas): dark theme a11y — settings buttons, input fields, ReactFlow colorMode, zinc-400 contrast, aria-labels 2026-04-15 07:56:53 +00:00
types initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
middleware.ts initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00