It’s 2025, and we’re still building dark mode toggles with JavaScript like it’s 2019. This is a UX oversight. Mode preference — light or dark — is a personal, system-level setting, and browsers already know how to handle it. Yet, websites keep reinventing the wheel with janky toggles that often don’t persist, don’t sync with system changes, and can’t even influence CSS media queries. The result? Inconsistent UX, broken themes, and wasted developer time — all to replicate something that should be a native browser feature, just like zoom or autoplay controls.
There are plenty of practical and technical reasons why theme switching belongs in the browser, not in your app code. Here’s a breakdown of why this shift would be a win for users, developers, and the web platform as a whole:
Native switches could be surfaced consistently across all sites, making them easier to find and use — especially for users relying on keyb