There are a lot of great defaults when it comes to browsers and the web. Think about all the accessibility features that are baked into HTML so that you don’t have to do weird stuff, like this example from Manuel:
<h2 role="heading" aria-level="1" class="sr-only"> Title </h2>
You can just write your
<h2> and the browser deals with the accessibility parts. This is why we should start with semantic HTML first before adding ARIA roles to everything.
There are other great defaults of the modern web, like responsive design: a lot of folks have mentioned that the web is responsive by default and it’s actually us web developers that break it.
Then there are defaults when it comes to CSS. I’m thinking of stuff like
flex. It feels pretty darn good to slap
display: flex onto a parent element and all the children just snap next to each other since that’s mostly what I want to accomplish.
So: defaults on the web are good!
But there’s also a lot of bad defaults. You might be familiar with my favorite website, an Incomplete List of Mistakes in the Design of CSS, where the CSS Working Group lists out a ton of problems in the CSS spec such as:
sizeshould have been a shorthand for
heightinstead of an @page property with a different definition
These defaults are annoying, some minor, some major. And some of them can be fixed, like the
box-sizing CSS property. Yes, there was a time on the web when even adding padding, borders, or width to an element would be confusing as all heck. Now we don’t have to worry about that quite so much.
But I think the absolute worst default on the web was the backspace key—in most browsers, it would force users to go back to the previous page. There have been countless times where I’ve tried to remove text in an input field and suddenly I would be dragged back to the last page I was on and all my data would be lost. That sort of thing makes typing into forms feel so fragile, as if at any moment you might exhale and your entire house implodes.
Side note: I think this is why a lot of folks prefer native over the web. They feel how fragile the web is when it comes to these default settings. When you load an app it feels like you’re on solid ground but a web app? It’s a rickety house that’s ready to fall apart at any moment.
Anyway, I didn’t even realize that Chrome removed the backspace key shortcut way back in 2016! Firefox also removed it earlier this year and yet, to this very day, five years later, I’m still scared of clicking that darn backspace key. I’ll always hesitate if I click the wrong key and then, very slowly, I’ll make sure that I’m focused on the correct input, unless I nuke all my data in the form.
I think this is kind of a good lesson when designing software: first, default settings are the most important thing in the world and are very difficult to get right; second, even if you do the right thing and fix all those bad defaults, habits are extremely hard to break.
What is the story of backspace being used as a back button? I use an old application that uses alt+backspace instead of Ctrl+Z, is it related?
About losing data in forms you can lose it in many other ways: one click to close a window, a F5 press, etc. Surely, using backspace for back is bad because it’s a easy way to lose data as you would use it normally when filling a form.
But it reveals other side of this problem: what if the browser saved this data for you? Firefox does that, sometimes even when it’s not needed. Often when I send a message in some website it auto-fills the last message when I open the website again, even if this website disables autocomplete in the input. IIRC it can be disabled if the website uses
<form autocomplete=off>. In the other hand I think disabling it is not ideal, instead make the detection of when the user might closed the page accidentally better. Well, for most cases it works fine but there just this one website that messes with this detection…
As a heavy keyboard user, I remember being very disappointed when Chrome switched from the Backspace key to Alt+LeftArrow to navigate back a page. I spend 99% of my time in a browser reading, not filling in forms, and I realize that not everyone is the same, but requiring two hands to go back a page (or some weird hand stretching position) was not the right answer — not to mention issues with keyboards that don’t have dedicated arrow keys.
What’s wrong with just going forward to the page you accidentally left? The form should still be in the state you left it, and if browsers had difficulty handling edge cases, they should have corrected for those cases rather than change keyboard behavior that had been in effect since the early days of the Internet. Sorry, but I simply disagree with the Backspace key being a bad default.
I’m sure there are some things I’m not considering, but changing habitual keyboard shortcuts and requiring users to just “look it up” when they suddenly don’t work is bad practice.
Nevertheless, the new shortcut for going back one page is a joke – and Mozilla copied Chromes behaviour.
Now you not only need two key strokes but also both hands to execute something that is an essential functionality for a browser.
Very sad UX. I’ld really had more insight what lead to this decission.
I don’t see the web being responsive by default …
IMGs break out for example, if not handled with
Also long links can be an issue if not treated with
Oh yeah, Backspace as ‘go back a page’ always used to catch me at the worst time. The changed shortcut doesn’t bother me—I can’t remember the last time I bought a mouse without forward & backward thumb buttons, which I find much more convenient than reaching over with that hand.
Count me among those who were actually annoyed when they did this. For my own browsing, I use Firefox exclusively and when they disabled the backspace key for going back, I had to unlearn 20 years of muscle memory. Don’t think I ever lost data in the way Robin describes in the article, at least not due to an unintended backspace.
I knew about using the arrow keys with alt, but find this much less convenient, especially on Mac OS, where the cmd modifier key is used, which conflicts with home and end (though admittedly, that horrible key combination for a common thing is more Mac OS’s fault than the browsers’).