- Shipped
- September 5, 2026 at 7:27 PM UTC
- Author
- Kamo
- Commit
- eff6d20
**The *** could not work.** This fork of Capcha declares its endpoint attribute as `challenge`; I had set `challengeurl`, upstream's name. The widget was therefore built with no endpoint at all and reported "Verification failed. Try again later." — which reads as a service outage rather than as a typo here, and made the form unsubmittable. Its CSS variables were wrong for the same reason (`--Capcha-color-border` for `--Capcha-border-color`), so it had been ignoring the surface it sat on. Both are now taken from the bundle's own declarations. **Phone numbers** format to `(555) 555-5555 x3342`, as they are typed and wherever one is displayed — the officer card, the footer, the licence complaints lines, the confirmation. Hand-rolled rather than libphonenumber: this site is a US mortgage application, so the template is right, and 200 KB of metadata on a page a borrower opens on a phone is not. Anything that is not a NANP number is handed back untouched rather than mangled. **The dropdowns** are ours now. A native `<select>`'s option list is painted by the OS: its inset is not addressable from CSS, which is why items sat flush against the border. The replacement is a real `listbox` with arrows, Home/End, type-ahead, Enter/Escape and `aria-activedescendant` — behaviour that came free with the native control and had to be written to get the padding. **The background now runs behind both columns**, with the sign-in site's cross-fade and Ken Burns drift ported over so a borrower who has seen one of this lender's screens recognises the next. The rail lays a strong wash of the lender's primary over its third; the form column lays a strong white one over the rest. The image is blurred once at the source rather than by a backdrop-filter on two full-height panels, which is the first thing to stutter on a mid-range phone. **`--ink-muted` and the error red are darker** because of that: the surface behind them is now translucent over photography, and both fell under 4.5:1 against it. Found with axe, not guessed. The error red is a token now instead of four hardcoded hexes. Also: the logo is centred on the rail, the steps carry numbered markers that check off, a line of their own saying what each covers, and a plate under the current one, and the content column is 860px rather than 680. Axe clean at WCAG 2.1 AA on all four pages.