I can't use my number pad for 2FA codes
Keyboard and input event hijacking
- Many commenters complain about sites hijacking key events (Home/End, arrow keys, PageUp/Down, Cmd/Ctrl+F, right-click) for custom behavior.
- This breaks expected OS/browser features: text navigation, scrolling, suggestions, opening in new tabs, context menus, and accessibility.
- Using
KeyboardEvent.codefor validation is criticized as wrong; better to react to text input (inputevents) instead of raw key events.
Paste and clipboard restrictions
- Strong frustration at sites that block pasting into password/OTP fields or require a manual keystroke before submission.
- This undermines password managers and secure long passwords, especially when sites simultaneously demand “strong” credentials.
- Some note that browsers exposing paste vs typing lets sites do this at all; others counter there are legitimate reasons to intercept paste (e.g., richer clipboard formats).
- Workarounds include “force paste” extensions, password manager auto-typing, drag-and-drop of passwords, and devtools hacks.
OTP / 2FA input design
- Multi-box OTP inputs (6 separate fields) are widely disliked:
- Often break paste (only first digit entered).
- Mishandle fast typing, navigation (Tab/Shift+Tab, arrows), and correction/backspace.
- Sometimes require physically typing each digit despite being short-lived, single-use codes.
- Many argue a single plain text input is superior; any extra behavior (e.g., parsing pasted codes) should be additive, not restrictive.
Standard controls vs custom JS UI
- Repeated theme: don’t “reimplement the browser.”
- Native HTML inputs and OS widgets bring accessibility, performance, and correct behavior “for free.”
- Custom controls and rich JS input logic frequently recreate bugs, ignore autofill, IMEs, mobile keyboards, and screen readers.
Browser role and JavaScript power
- Several lament that browsers act less as “user agents” and more as canvases for sites, giving developers too much power over basic interaction.
- Some argue JavaScript violates the “rule of least power” for UI; others respond that powerful client-side behavior was necessary as HTML lagged.
Testing, platforms, and ergonomics
- Perception that many broken behaviors arise from only testing on macOS with specific shortcuts and hardware.
- Calls to test on other OSes, older/low-end devices, different browsers, JS-disabled setups, and slow connections.
- A side discussion debates alternative numpad-style layouts on letter keys; opinions differ on whether this is more ergonomic or just confusing.