Demo · A3

Stripe / Linear / generic React component pattern

Inspired by
Modern React-component-based 2FA forms (Stripe Dashboard, Linear) where the rendered input has no name attribute because state is managed in JS, not via HTML form submission.
Pattern
Single input with no name, only id="otp-input", aria-label="One-time passcode", autocomplete="off", inputmode="numeric", pattern="[0-9]*", maxlength="6".
Hits
None of TotpFieldNames nor AmbiguousTotpFieldNames on htmlID/htmlName/placeholder. The aria-label contains "passcode", which isn't in any list, and "one-time" with the hyphen doesn't form a matchable token.
Expected
Detection misses entirely. Page-load and manual trigger both unable to surface the field. Future fix: aria-label semantic promotion or structural detection.

Two-step verification

Open your authenticator app to continue

← Back to demo index