Backspace key is not an expected key for the "Go Back" behavior. It doesn't
matter what IE does, because this behavior is incorrect and could cause dataloss
if cache is blocked by CGI and user thinks he or she is in a form. First of all,
BACKSPACE has no equivalent for the other direction. Are we going to make enter
go forward or something? I mean, we have a good way to go back - ALT + <- (ALT +
LEFT ARROW). I say that the only way we could improve this is to map SHIFT + <-
and CTRL + <- to the same functions.
If we had hierarchical navigation, then the up and down arrows would be a good
way to travel between sibling nodes.
PC - Linux/Windows
Already determined to be a WONTFIX issue.
*** This bug has been marked as a duplicate of 108816 ***
I don't agree. Not only has that bug been dead a long time, but it was
originally about checking in the code. Nor has any decision actually been made,
there was more of a stalemate. I will not accept this to be WONTFIX, and I will
need to have a long discussion with people on the developer forums if people
really think this is the proper behavior. If you want to change the status of
this bug, please talk to me on the Mozillazine developer forum, and private
message me before this bug is touched.
I see, I didn't know this was your own private bug to play with. Scuse me.
I don't know how else you interpret bug 108816 comment 22, however.
This isn't my personal bug, but until there is a patch this bug wouldn't really
get much attention. I don't want this to be a personal choice on someone's part,
but a decision made by many people. It appears that in the previous bug people
just gave in. Until there is a patch to reverse the code (I don't think a
literal backing out would be a good idea). That's why in the near future, I'm
going to supply a patch and we can fire up this issue again somewhere outside
Bugzilla. Its nothing against Ben -- he has a right to his opinion. I just don't
agree that backspace is something we want to have and by the comments on the
bug, its obvious I'm not alone. With a patch available, the issue will not be
over, "Is it worth the trouble reversing it?" and will be over, "Should we
For http://bugzilla.mozilla.org/show_bug.cgi?id=108816#c10, it talks about
people expecting the keys to work a certain way. I don't discount that since
people are used to IE, but should we do improper UI behavior because IE does it?
Perhaps we could have a message box that comes up the first time someone clicks
backspace outside a form to ask them if they wanted to go back and tell them how
to use it. That combined with proper help documentation should solve the issue
of people not knowing what button to press.
I still believe, if at all possible, we should handle:
They don't seem to be assigned to anything else. As for the amount of
coordination it takes, if its an accessibility issue, the OS can handle that
with something like Stickeys. There are other multi-key combinations besides
just those. Unless we had 400 keys, we couldn't have a unique key for each
function. Furthermore, a lot of people use 5 button mice for navigation, so the
need to do something wile like Backspace doesn't exist for those people.
Thirdly, it is a one-handaction if you use CTRL instead of ALT unless you have
big hands like mine where you can reach the arrows and ALT with one hand.
<offtopic type="joke">From a health standpoint, doing this will deter people
from wresting their wrists on the keyboard, thus decreasing the instances of
carpal tunnel syndrome ;-)</offtopid>
SHIFT+Arrow is used to extend selection.
CTRL+Arrow is used in text fields for movement by word so that falls on the
same argument you have for dropping Backspace.
ALT+Arrow already is bound to "Go Back/Forward" (at least on Linux).
Yes, ALT+Arrow is bound. Ctrl+Arrow isn't as important as backspace function is,
though. Actually, come to think about it, it seems kinda confusing that you have
3 keybindings like that all with different functions. Grrr, keyboards stink.
Well, I guess the best we can hope for is to remove the backspace, then.
As a mere user, I fail to understand what the huge objection is to using
BACKSPACE as cmd_BrowserBack (previous page from browser history). Not just IE
uses it, even Mozilla and Firebird use it in their Windows versions. Opera uses
it even on Linux. (So, for many of us it IS an EXPECTED key for that function).
it's CONVENIENT to have a single, easily reached key that you can just poke at
that does this. an ALT-xxx combination is way too awkward for casually hitting.
it's almost as clumsy as moving your hand to the mouse, grasping it, then
finding the correct buttons and/or moving it to the right place on the screen. A
single easily reached key is much more useful/usable.
You didn't mention anything about forms. Did you read the preceding comments?
Please do. The biggest problem occurs when someone is not in a form and believe
they are. A single accidental TAB can do this.
Regardless, I plan to discuss this in developers' groups and users' groups and
see what kind of solution we can come up with. Please do not discuss it in this
bug. I'll provide a link to the discussion when its started. I'll paste the
entire discussion in this bug.
> So, for many of us it IS an EXPECTED key for that function
Big deal. That's a 5 second one time annoyance. Possible dataloss on forms is a
MUCH bigger issue.
See firebird bug 208035 for some reasons why a single key shortcut is desirable
for going back a page:
1. Going back is an extremely common action which is fiddly to do with the mouse
2. Alt-Left and friends are fiddly and time consuming. When I am trying to read
web pages my hands are generally not on the keyboard or on the mouse. I want to
be able to stab at a single key on the keyboard to go back a page.
There is a reason Backspace is popular on Windows Internet Explorer and other
browsers: it's very convenient to use. Note that Windows file Explorer also uses
Backsapce to go up a folder, I think that is where the shortcut might have come
I agree that "because Windows does it" is not a good reason in itself. But we
should not ignore the behaviour that 95% of web surfers are used to.
I can see there is a potential for data loss if the focus is mixed up when
entering data on forms. There are lots of ways to lose data on forms that I've
encountered, but I've never seen the backspace problem actually happen.
Perhaps the browser needs to provide some persistence for data entered in forms?
Some websites advise people to write long texts in a separate text editor (so
that they can save the file as they work) but this is kind of broken in my view.
The browser itself should provide an easy way for users to recover data entered
in forms, e.g. with an option on the right-click menu "recover form entry" or
something. This persistence should work across browser sessions (in case the
browser, OS, or hardware crashes).
Privacy issues should and are handled separately, ideally with a "clear all
In general, I find gecko's handling of focus to be generally annoying so I
suspect that is a usability issue that needs fixing independently.
However, perhaps meanwhile an alternate single-key shortcut for Go Back can be
used instead? How about F12? It's what I use in galeon. Other suggestions?
It is very important to me personally to have a single key shortcut. Being able
to easily map F12 to Go Back is one of the major reasons I am using Galeon 1.2
as opposed to all the other browsers. The other reasons are better tabbed
browsing support, better location bar usability, and bookmarks that I find more
convenient to add in the right place.
There is little proof that Backspace is popular on Internet Explorer. I have
never seen a poll of all netizens, and perhaps a lot agree with me that it stinks.
This is a VERY SERIOUS annoyance. I use Mozilla's feature called: "Find As You
Type" which is sometimes called "Quicksearch" which allows you to interactivly
search for a prefix of a string, you type M and u get to the first M, u then
type o and u get to the first Mo and so on. If you have a mistake, you press,
intuitivly, backspace and type another letter. Said you want to delete the whole
word and search for something new, you click backspace a couple of times. But
then, if u click once too much... whoops, you get to the previous page.
It happens to me something like atleast once every 5 minutes. It seriously annoying.
Previously, it was possible to edit some .xul files from the chrome or res dirs,
but now they seem to have no effect. (Firebird 0.7)
Tomer, as a fellow Find-As-You-Type user, I don't really feel the same. I use
this feature all the time, and the problem you described had only hit me once or
twice, and quite a long time ago (when it was still called Type-Ahead-Find...)
The gains in removing Backspace as a Back button would be far outweighed by the
loss of a truely useful, frequent and simple-to-use keybinding. If I could, I
would have voted against this bug.
CCing firstname.lastname@example.org (Tomer), in hope in this mail service is not dead yet
(as it was reported to be).
It doesn't seem like there's a consensus on the behavior of the Backspace key.
Can we just have a hidden pref or something so that everybody can make Backspace
work as they want it to?
Personally, I hate it, because I use find-as-you-type all the time, and always
end up going back in the history when I just want to delete the search term.
Compounding the problem is that if you type a search word very fast,
type-ahead-find will skip letters that don't actually exist in the document,
causing you to think you typed 5 letters, but really it only registered 3, for
example. Then you backspace 5 times and blammo, back to the previous pages.
It'd be better if instead of doing hidden preferences, there were some extension
for modifying keybindings.
Response to comment 19 from Matt:
I like the backspace key being assigned to "go back a page". It is much easier
and faster to use than Alt-Left-arrow.
I think your points can be solved in other ways.
I agree it is annoying the way "find as you type" skips letters, but I think
that is a separate bug.
An easier way to cancel a search is to press Esc. Then you don't have to count
backspace presses. I.e.
Ctrl-G (bounce to second fish)
Return (goes to selected link)
Backspace (back to previous page)
The faulty Backspace behavior, reminiscent of the awful IE, is one of the main annoyances holding me back from upgrading beyond Mozilla 1.2.1. I don't care if I have to create a new XML file, edit the prefs.js, hex-edit the exe, or even edit the registry -- I just want the ability to correct its incorrect behavior. I'm certain I speak in behalf of many out there who have NEVER liked IE, and thus find it insulting to imitate its incorrect behavior. You guys are so much better than that, so please at least give the user the ability to decide.
Please back out the change to make the backspace key go back a page!!!! This is
one of the things I hate about Internet Explorer. This is a stupid feature that
MS should not have implemented.
If I want an annoying, bug ridden browser I will use IE, but I expect better
from Mozilla and Firefox. Stop replicating the stupidity of IE and back out this
The reason I don't like the use of the backspace key in this way is that I'm
constantly wary of pressing the backspace key whenever I use IE and I am
entering text in a form. I have been bitten by this stupid feature before and
trust me, it is very annoying!
Opera has used backspace since forever, IE uses backspace. It's an 'expected'
Adding dataloss keyword since this could cause the forms to be cleared if
expire headers are set. Example: try entering a new email in hotmail, and then
press backspace. You lose everything you were typing.
Also adding helpwanted keyword.
Doug: If it's expected that a car breaks down after 5 years, should all car
companies strive to mimic that flaw?
Reassigning to owner of component.
Some people love backspace, some people hate it, and presumably some people
don't mind either way.
Maybe we need a way to measure the numbers, with the smaller and / or more
expert group being able to do what they want via extensions.
Meanwhile I think dataloss is a separate issue, see bug 265233.
We could try removing it after 1.0 and see how many people complain. I might be
wrong, but I think this is an issue of looking like more of a bug to those that
hate it than looking like a feature to those that like it. I always used to
think this was a bug in IE. Opera probably has it for the same reason we do and
we can't guarantee they don't want it gone too.
If by "back it out after 1.0" you mean Firefox, this is in the wrong component.
If that's the case, please reassign so I can WONTFIX it appropriately. You can
file a hundred bugs on the issue, we're not going to change it.
If you're talking about Mozilla Navigator, I'm still not sure this is the right
component, but the current UI owner is Neil, and I doubt that he's going to
remove something that's existed since 1.2 especially given the "sustained
engineering" path Seamonkey is on.
As a note, the amount of time you've spent posting in this thread dwarfs what a
competent hacker would take to create a removal patch. Given how you've often
talked about how long you've been coding for, I would think such a patch would
Mike: First of all, this bug affects both Seamonkey and Firefox, and this bug is
about Seamonkey but if fixed it should be fixed on BOTH, for CONSISTENCY and
especially if it's to guage peoples' REACTIONS to the fix. If this is not going
to be done in both, it probably should not be fixed at all.
> Given how you've often talked about how long you've been coding for, I would
> think such a patch would be easy.
The thread is obviously NOT about implementation, but to keep opinions about
whether this should be fixed or not out of the bug so it doesn't clutter the
bug. Keybindings of course are just generally one-line fixes. Furthermore, I am
very busy with classes and have been for quite a while and don't have time to
write patches and haven't for ages. To give you an idea, I have about 200 pages
of reading a test and 3 projects due by the 11th. If I did have time, this
wouldn't be the first bug I'd work on. My coding abilities are not relevant to
whether I have time or not, and the validity of a bug isn't dependant on whether
a reporter has time to fix it or not. That is off-topic for this bug.
The other issue is that I and others are not going to waste time writing patches
for something that might just sit there and not be reviewed unless there is some
decision made by project leaders. If some developers with checkin permissions
said a patch would be reviewed if one were available, then it might give people
more incentive to write one. As it stands, no one is even going to waste an hour
(or more in my case since my build-system is out of date) to write a patch that
would most likely be ignored for months like other patches that reviewers are
not particularly interested in. What would be the point to write a patch that
would later have failed chunks by the time it was looked at? You can take a look
at the review queue to see how many patches by various people have been waiting
for a review. Until there is a firm committment and decision by project leaders,
I would not even consider writing a patch. Would you?
> If this is not going to be done in both, it probably should not be fixed at all.
To clarify, that why I said 1.0, and is my opinion only and most likely not the
opinion of others CCed and who voted for this bug.
So basically, you're saying this is already a WONTFIX, since it will never
happen in Firefox. Besides my own opinion, bug 108816 comment 22 is incredibly
explicit on Ben's part. The only reason I'm not marking this WONTFIX right now
is because its not only a Firefox bug, and I don't presume to speak for Neil.
If you want to keep this open as a Seamonkey bug, fine, but from the Firefox
side, its a WONTFIX.
Neil said a backout of this code is WONTFIX, but he might accept a well-written
patch that adds a pref. mconnor implied that if the patch let you pick between
back and pageup, he might accept it for Firefox.
Created attachment 168902 [details] [diff] [review]
Comment on attachment 168902 [details] [diff] [review]
sorry, I included unrelated changes.
Created attachment 168904 [details] [diff] [review]
Comment on attachment 168904 [details] [diff] [review]
I think that the pref should probably be defined near other browser.* prefs.
checked in. changing bug summary to reflect actual change made.
reopening. the patch does not do anything on linux. OS is all on this bug.
if you do not want to fix linux, then the comment needs to be fixed, and the
pref should probably be #ifdef XP_WIN then.
Created attachment 176043 [details] [diff] [review]
handle platforms differently
Mac and all others: nothing
Created attachment 176055 [details] [diff] [review]
change other platforms
windows, os/2: back
*nix: page up
Comment on attachment 176055 [details] [diff] [review]
change other platforms
I need to ignore shift+bksp if bksp doesn't go back :(
Please describe what your patch does.
As far as I can tell it makes Backspace == PageUp the default on Unix.
It's not clear whether you've made Backspace == GoBack the default on Win32.
Also you say the Backspace key shortcut for GoBack is a "Courtesy" to
transitioning IE users.
This path does not represent the discussion in this bug.
There are many firefox users who think Backspace == GoBack is a good shortcut in
its own right, regardless of what IE does.
There are also users who think that Backspace == GoBack should be the default on
I think adding a preference to control it is good for everyone. I am not sure we
have agreement on what the defaults for different platforms should be.
The argument was made that Backspace == PgUp is some kind of convention on Unix,
but I personally found that argument pretty weak on evidence.
(In reply to comment #43)
> Please describe what your patch does.
By default, the only change is bksp=pgup on *nix. It allows you to configure
the behavior on all platforms using a pref - this is new.
> As far as I can tell it makes Backspace == PageUp the default on Unix.
Yes, per the request of some of developers on IRC. Some disagreed.
> It's not clear whether you've made Backspace == GoBack the default on Win32.
"windows, os/2: back"?
> Also you say the Backspace key shortcut for GoBack is a "Courtesy" to
> transitioning IE users.
I copied the key binding code from the Windows file. It's fine.
> This path does not represent the discussion in this bug.
The majority of the comments are Brian Bober complaining about bksp=back. A few
argue the opposite, and comment 16 is just wrong (you have to hit backspace TWO
extra times - FAYT still catches the first extra hit). What in specific is
wrong with it? I see a bunch of people complaining that either choice is wrong,
so this one extends the ability of users to change the behavior to all
platforms. The previous patch was windows-only.
> There are many firefox users who think Backspace == GoBack is a good shortcut in
> its own right, regardless of what IE does.
I copied the key binding code from the Windows file. It's fine. Originally, it
likely WAS a favor to transitioning IE users. Firefox panders to IE users even
more than Mozilla (for example, swapping ctrl+enter and alt+enter). If you can
convince timeless, neil, or jag that this comment should be removed, I'll remove it.
> There are also users who think that Backspace == GoBack should be the default on
> I think adding a preference to control it is good for everyone.
This does have a preference - it just sets different default values. It's a
hidden preference, because I don't think it's worth adding to our
already-cluttered preferences page.
> I am not sure we
> have agreement on what the defaults for different platforms should be.
> The argument was made that Backspace == PgUp is some kind of convention on Unix,
> but I personally found that argument pretty weak on evidence.
Apparently long-time *nix users are used to applications that do pgdn for space
and pgup for backspace. Either way, people will complain, and as this bug
demonstrates, there are some people who can't stand bksp going back.
I am glad there will be a preference. It's better than our current state of not
having a choice (unless we hack the chrome). I can handle having to modify the
pref to my liking. Therefore, I back the patch being given to the tree
regardless of my arguments against the default back behavior. It's a step forward.
(In reply to comment #44)
> (In reply to comment #43)
> > Please describe what your patch does.
> By default, the only change is bksp=pgup on *nix. It allows you to configure
> the behavior on all platforms using a pref - this is new.
So your patch does 2 things:
1. Add a preference to control the behaviour of the backspace key on all platforms.
2. Change the default behaviour of Backspace on Unix from GoBack to PageUp.
My comments on (1): Excellent. I think most people agree that adding a
preference is useful.
On (2): I don't think we have consensus on what the default on Unix should be.
The bug reporter seems to agree in comment 45 that (1) is more important than (2).
I think the default on Unix should stay as GoBack.
> > There are many firefox users who think Backspace == GoBack is a good shortcut in
> > its own right, regardless of what IE does.
> I copied the key binding code from the Windows file. It's fine. Originally, it
> likely WAS a favor to transitioning IE users. Firefox panders to IE users even
> more than Mozilla (for example, swapping ctrl+enter and alt+enter). If you can
> convince timeless, neil, or jag that this comment should be removed, I'll
OK, I thought the IE comment was new. If it's historical I can understand why
you left it there.
I think the implication that only IE users like Backspace == GoBack is verging
on flamebait. I used IE as my regular browser only briefly when Netscape 4.x
bloat and unreliability got too much for me. Before and after that time I used
many other browsers, all the way back to Mosaic on IRIX in 1993.
I can't even remember if the first time I noticed the Backspace == GoBack
shortcut was in Windows File Explorer, Windows IE, or in Opera on Linux or maybe
Opera on Windows. All I know is that I find it very convenient, and I use it
regularly while browsing.
> It's a
> hidden preference, because I don't think it's worth adding to our
> already-cluttered preferences page.
(In reply to comment #46)
> 2. Change the default behaviour of Backspace on Unix from GoBack to PageUp.
No, from "do nothing" to "page up".
(In reply to comment #47)
> (In reply to comment #46)
> > 2. Change the default behaviour of Backspace on Unix from GoBack to PageUp.
> No, from "do nothing" to "page up".
Oh sorry. I'm using firefox 1.0 on Linux, for which Backspace == GoBack.
But this patch is against the Mozilla Suite. My mistake.
Created attachment 179334 [details] [diff] [review]
fix shift+bksp, all platforms
The patch doesn't seem to remove the existing bindings in the unix and mac
platformNavigationBinding files. Or am I missing something?
Otherwise, seems like a great idea. The earlier windows-only patch that got
checked in may have been just a mistake, since it was linux people who were most
bothered by the behavior and there's no particular reason this pref should be
Who needs to approve this sort of thing?
Comment on attachment 179334 [details] [diff] [review]
fix shift+bksp, all platforms
Nit: Just as BrowserHandleBackspace() follows BrowserBack(), shouldn't
BrowserHandleShiftBackspace() follow BrowserForward()?
Comment on attachment 179334 [details] [diff] [review]
fix shift+bksp, all platforms
akk: the binding that bothers you is a firefox feature, this is a seamonkey
Comment on attachment 176055 [details] [diff] [review]
change other platforms
What happened to the pref changes in this patch? backspace now goes back on
Isn't the value of this pref wrong on Linux? I just lost a whole bunch of text
I'd typed because of this checkin because backspace went back!
(In reply to comment #55)
> Isn't the value of this pref wrong on Linux? I just lost a whole bunch of text
> I'd typed because of this checkin because backspace went back!
I'm sorry to hear that. Perhaps you should change the preference on your PC? You
might also consider contributing a solution to bug 265233.
filed Bug 301248 on backspace/linux