Every disabled checkbox on the Overview says why

Onboarding hub Overview: a tooltip on hover, keyboard focus and tap, with each row's real reason

5 Oct 2026 · branch fix/onboarding-hub-disabled-tooltips · captured against propflow-stage · at 4aa7c3675db

Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.

1 · Before (main): a disabled checkbox, no explanation

On main, hovering the checkbox beside Your admin account is set up shows the "no" cursor and nothing else. The checkbox is disabled because that row ticks itself from the facts, but the page never says so.

(The before server runs the tip of main, which is main without this change.)

Asserted in the captured DOM — Your admin account is set up

Before (main): a disabled checkbox, no explanation
Provenance. Captured from commit 5ad31bedc31, read from the worktree the server was started from (/Users/miniclaw/code/PropFlow/wt-tips-before) — the server could not report its own commit, so this is the weaker of the two sources. That commit is already merged into origin/main.
Sections 2–7

2 · After, desktop light: the reason, on hover

The same hover now shows a tooltip with the reason, worded from the row's own rule (deriveAccountReadyRow: an admin who accepted the terms and turned on two-step sign-in).

Asserted in the captured DOM — Before Clara goes live · Done automatically when your admin signs in, accepts the terms and turns on two-step sign-in

After, desktop light: the reason, on hover

3 · After, desktop dark

The same tooltip in dark mode.

Asserted in the captured DOM — Done automatically when your admin signs in, accepts the terms and turns on two-step sign-in

After, desktop dark

4 · After, desktop: a questions item

A questions item's checkbox ticks itself too, once every question in that tab is answered.

Asserted in the captured DOM — Ticks itself once every question in this tab is answered

After, desktop: a questions item

5 · After, keyboard: focus reaches the disabled checkbox

A disabled checkbox cannot take focus, so the wrapper is the focus stop. The capture focuses it with the keyboard (Tab from the item before it), and the tooltip shows with no mouse involved.

Asserted in the captured DOM — Done automatically when your admin signs in, accepts the terms and turns on two-step sign-in

After, keyboard: focus reaches the disabled checkbox

6 · After, phone light: a tap opens it

At 390px a tap on the checkbox opens the same reason. The bubble wraps instead of running off the screen.

Asserted in the captured DOM — Done automatically when your admin signs in, accepts the terms and turns on two-step sign-in

After, phone light: a tap opens it

7 · After, phone dark

The same tap in dark mode.

Asserted in the captured DOM — Done automatically when your admin signs in, accepts the terms and turns on two-step sign-in

After, phone dark
PropFlow Docs