Products · Pattern or everyday thing
Custom UI controls
Raised as a usability problem by 107 people on Hacker News over 19 years (2008–2026), in 95 threads.
No issue was raised by at least 3 people in 3 threads this year.
Every issue, all time, most people first
Custom widgets scroll and select differently from native onesUnreviewed
20082026- Framework widgets behave differently or do less than standard OS scroll bars2026-09-23
- Custom-built select boxes ignore accessibility and can't hold rich content like SVGs2025-03-31
- Custom-built select boxes on mobile sites are less accessible and harder to use than native controls2025-02-23
Custom interfaces break accessibility, leaving blind users unable to use themUnreviewed
20082026- Developers must write lots of JavaScript and custom accessibility code for common UI patterns2026-04-21
- Custom-rendered interfaces are opaque to screen readers and accessibility tools2021-07-09
- Custom-built interfaces often break accessibility APIs, leaving blind users unable to use them2014-01-10
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Bespoke pickers make users guess how they work and cause date mix-ups2026-10-05
- Framework widgets behave differently or do less than standard OS scroll bars2026-09-23
- At higher speeds the minimal layout's intricate sequences become demanding and cause hand strain2026-08-24
- Internal tool with very poor UX was basically unusable for scientists2026-08-13
- Custom-built controls not following ARIA practices are inaccessible to screen reader users2026-05-23
- Custom cursor icons change the usual signals of function, confusing users2026-05-12
- Developers must write lots of JavaScript and custom accessibility code for common UI patterns2026-04-21
- Editing content requires configuring an image paste plugin and paths in VS Code2026-04-12
- Typing letters in a custom dropdown jumps to the wrong option, breaking keyboard use2026-03-20
- Custom XML format was really annoying to type, even with Vim keybindings2026-01-10
- Hand-written JavaScript replacements for native dropdowns and scrollbars need thousands of hard-to-follow lines2025-12-28
- Custom scrollbars on websites never behave correctly for users2025-11-12
- DSL is opaque and makes it easy to introduce errors2025-10-30
- Hidden controls must be learned, and custom per-app UI conventions don't transfer between apps2025-07-06
- Custom task apps feel too slow for jotting tasks into a hierarchy2025-06-12
- DSL import needs five button clicks, and the UI is tiny on 4k monitors2025-04-29
- Scrollbars appear only on hover and vanish when the pointer slips, activating elements underneath2025-04-01
- Custom-built select boxes ignore accessibility and can't hold rich content like SVGs2025-03-31
- Custom JavaScript framework interfaces are rarely accessible and slow pages down2025-03-12
- JavaScript-rebuilt controls like selects and switches break outside the happy path2025-03-12
- Custom-styled selects break translation tools, making them hard to navigate2025-03-07
- Reimplemented scrolling changes expected behavior, e.g. middle-click autoscroll keeps the page moving with momentum2025-02-24
- Custom branded UIs hardcode colors and fonts, breaking theming and accessibility adjustments2025-02-24
- Custom-built select boxes on mobile sites are less accessible and harder to use than native controls2025-02-23
- Custom multi-select widgets work differently from the OS standard, so users can't transfer what they know2025-02-20
- Checkbox removed from tab order, so keyboard users cannot reach or operate it2025-01-15
- Recreated media controls have tiny or hard-to-tap touch targets2024-12-13
- Non-native custom widgets are worse to use and frustrate users, especially for accessibility2024-10-31
- Custom-built controls look and behave inconsistently across different websites2024-10-29
- Custom text boxes break basic keyboard controls and scrolling behaviour that browsers handle correctly2024-10-29
- Installing the custom root CA differs per OS and app, so it takes much more work than expected2024-10-22
- Must spend minutes entering and verifying card details after installing the app2024-09-23
- Non-native controls ignore OS conventions like shortcuts, focus, dropdown typing, and Escape-to-dismiss2024-08-27
- Opaque layouts with unlabeled keys or chords are hard for ordinary people to use2024-04-29
- Users must guess which elements are tabs, menus or settings in unique designs2024-03-27
- Custom controls lack standard keyboard shortcuts, so navigation and selection behave unpredictably2024-03-08
- Custom updaters have unfamiliar UI and force immediate restarts2024-02-13
- UI breaks, forces re-navigating after each change, and gives no error feedback2024-01-31
- Model fails about 30% of the time, ignoring its vision ability and making things up2024-01-31
- Emulated links cannot open background tabs, disrupting users' normal tab-opening workflow2024-01-29
- Users cannot view action responses, so they can't tell whether the model's answer is grounded2024-01-10
- Custom branded controls must be relearned in each app2023-12-12
- Wrong interface for itinerary planning, slow and cluttered with useless information2023-12-01
- Custom bloated web apps are dog-slow and don't use familiar interfaces like Excel2023-10-19
- Custom layouts are a pain because there's no standard way to define them and systems don't support layers well2023-10-02
- Some sites refuse custom-domain addresses at signup or never deliver password resets2023-09-12
- Keyboard and OS layout translation must be kept in sync, hard to configure across computers2023-07-14
- Custom menus and widgets hide settings and break familiar shortcuts, forcing users to relearn them2023-07-12
- Custom div dropdown can't be used with keyboard; must click, no typing to select2023-06-13
- Wrapper exceptions make it harder for upstream callers to see what went wrong2022-12-20