Don't Roll Your Own ...
2 days ago
- The article draws an analogy from cryptography's maxim 'Don't roll your own crypto' to advocate for using native browser features instead of custom implementations in web design.
- It lists specific UI elements that should not be custom-built: page scrolling, link navigation, text selection, context menu, copy/paste, password fields, and date pickers.
- Custom scrolling disrupts familiar user interactions and can break keyboard navigation, making the page feel unfamiliar.
- Custom link navigation often slows down loading and defeats the browser's built-in efficiency, as seen on GitHub's event listeners.
- Custom password fields can interfere with password managers, autofill, security warnings, and accessibility tools, potentially exposing passwords.
- Custom date pickers force users to learn different interfaces across websites, while native date pickers are consistent and reliable; two separate date inputs are preferable.
- The article argues that custom form controls generally introduce new problems and urges developers to avoid frequent UI redesigns that burden elderly users.