Closed Bug 108816 (backspace) Opened 23 years ago Closed 23 years ago

World War III: "What should Backspace do (or not)"

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P3)

x86
Windows 2000
defect

Tracking

()

VERIFIED FIXED
mozilla0.9.6

People

(Reporter: bugs, Assigned: bugs)

References

(Depends on 1 open bug)

Details

(Keywords: platform-parity)

Attachments

(1 file)

This used to work. This is a nuisance regression and inhibits use of the 
browser for people who frequently use IE. Backspace is also an easier target 
to hit than Alt+Left.

Patch in a sec...
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla0.9.6
Comment on attachment 56857 [details] [diff] [review]
patch to fix

sr=hewitt
Attachment #56857 - Flags: superreview+
Attachment #56857 - Flags: review+
r=waterson
Checked in. Thank you. 
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
cc'ing aaronl to let him know this has been implemented.
Component: XP Apps: GUI Features → Keyboard Navigation
Keywords: pp
Summary: Back/Shift+Back don't operate as Back/Forward → Backspace/Shift+Backspace don't operate as Back/Forward
This bug should be marked RESOLVED INVALID and the patch removed from the tree.

There was a long discussion about this particular issue in bug 69981 which
resulted in these key bindings being removed. Please don't start that all over
again.

If you want to use these shortcut keys, then you should use configurable
keybindings (http://www.mozilla.org/unix/customizing.html)
Even though I like to use backspace to page back, I think it's a bad thing if
people to start a war of the patches. 

We need a final decision.

The "war of the patches" was not started here. I am merely reverting the
situation to the way it was before this keybinding was removed without a
suitable replacement being found. 
This does have a suitable replacement - alt + left/right arrow

There was a long discussion in the previous bug about this, and the majority
opinion was that this was not desirable behaviour because of the bugs it causes
(e.g. using backspace in plugins, or missing a form field and hitting the page
instead and then pressing backspace).
Alt+Left Arrow is NOT a suitable replacement. Considerably more coordination is
required to activate that keybinding than to hit Backspace. 

Navigation Back is the most common session history operation other than adding
items to it via viewing new documents, viewing full page plugins and entering
data in forms is less common. 

When filling in a text field, the previous document in the session history
sequence should never be displayed when backspace is pressed, because that item
has focus. If you have a problem determining when an element has focus, perhaps
through a bug with caret display or focus indication, that bug is distinct from
this and should be filed. 

The "discussion" in the original bug for this appears to have been made
independently of entrenched usage of this feature, which in my mind wins over
high flying theoretical discussions. People will hit backspace. When it does
nothing, they'll wonder what's broken. 
vrfy fixed using 2001.11.08.09-comm bits on winNT.
Status: RESOLVED → VERIFIED
*** Bug 109429 has been marked as a duplicate of this bug. ***
> The "discussion" in the original bug for this appears to have been made
> independently of entrenched usage of this feature,

You mean "entrenched on IE". Netscape 4.7 pages up on Backspace.

Gerv

>The "war of the patches" was not started here. I am merely reverting the
>situation to the way it was before this keybinding was removed without a
>suitable replacement being found.

That's BS.  I could just as easily revert your change, saying "I am just 
reverting it to the way it was before Ben checked in a change without notifying 
the participants in the previous discussion" or "I am just reverting it to the 
way it was before Ben added a dangerously inconsistent shortcut".
I want to see a serious flamewar, no holding back.

May all those who have nothing better to do with their lives commence!
Summary: Backspace/Shift+Backspace don't operate as Back/Forward → World War III: "What should Backspace do (or not)"
This is bad. If you press Backspace when wanting to delete Text in an editfield,
but you don't notice it isn't focused, you'll go back, possibly loosing what
you've entered.

Can I somehow disable this "feature"?
Christian: yes. use configurable keybindings to map backspace to nothing. 
Ben, did you test Flash forms with your patch?  One of the original reasons this
was disabled was that it made it impossible to use backspace in a Flash form --
instead of deleting a character we would go back a page.

Sorry, but reopening and resolving again pending QA verifying that this fix did
not break Flash forms.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
.
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
If there are problems with full page flash plugins, that is a separate bug, and
removing the backspace shortcut is an unacceptable fix for it. This bug will
remain closed, in either case. 
These are not full-page plugins.  These are flash animations that include a
textfield that needs to be typed in.

If this fix makes it impossible to use them then I would suggest that it be
backed out until the real problem is fixed.
I wouldn't. Lack of support of Backspace is a critical UI issue. If the flash
issue is such a problem, then it should be prioritized higher. This will not
now, nor ever be, backed out again. 
Your personal views. Backspace was a bad shortcut chosen by microsoft and we 
should not be copying them.

Why not also assign the 'e' key to sending an email (not ctrl+e)? No one would 
be typing anything while they are browsing so why would it be a problem?

There is a reason they shortcuts are limited to key combinations that are not 
already in use. Even for people who like using backspace, they are going to be 
confused when they press backsace without realising they are in a form and the 
page doesn't go back.

Reasons for NOT using backspace: Several conflicts with other uses of 
backspace, not all of which can be programmed out.
Reasons for using backspace: People are used to it.

If I wanted to put up with all microsoft's mistakes I would be using IE. 
Mozilla is NOT trying to copy IE, so there should be no reason to copy a bad 
shortcut of theirs.

Reopening since the issue in the bug summary is certainly not resolved.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
OK.  I've finally managed to hunt down a flash form and this fix works fine with
it.  My apologies for all the noise.  Re-resolving.

Ian, this is not Ben's personal view.  Since he's the UI module owner this is
the view of mozilla.org.  Feel free to file a _separate_ bug on issues you see
with this (eg on UI to easily disable this shortcut).
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
re-verifying to put this back to the state it was in before I started mucking
with it.
Status: RESOLVED → VERIFIED
So if ben decided that he wanted to replace the scrollbars with an exit button,
that would be OK? Surely there is someone who can stop this madness.

Maybe we should:
1) Put a poll up on mozillazine.org as to whether people use/like this shortcut
(options: yes - I use it all the time, yes - but I hardly use it, don't mind, no
- it's not a good shortcut, no - it really annoys me)
2) Do some form of usability lab testing (don't really know much about this).
3) Implement a popup dialog on the first press of backspace (sorry hyatt!)

I'll give two examples of why this keybinding is wrong.

1) From the perspective of someone who uses this keybinding.
The user scrolls down a page, clicks in an HTML text field, changes their mind
and scrolls up the page a bit. OK, by now the user has forgotten about the text
field, and decides to go back a page. Hmm, now why doesn't backspace work?
(This could also happen without the scrolling, but it is more likely to happen
if the users' attention is away from the text field.)

2) From the perspective of someone who doens't use this keybinding.
A text field has some text in it placed there by the web author, so he tries to
click in the text field but misses slightly. Before he realises he has missed,
he presses backspace to delete the text and goes back a page. There is no bug in
mozilla that back be fixed, apart from this one. 
>1) From the perspective of someone who uses this keybinding.
>The user scrolls down a page, clicks in an HTML text field, changes their mind
>and scrolls up the page a bit. OK, by now the user has forgotten about the text
>field, and decides to go back a page. Hmm, now why doesn't backspace work?

This is not realy a problem since hitting backspace in this situation would
scroll the page back to the text entry field...
Claude: Good point, but the argument still holds. Someone might have put the
cursor into a text field and scrolled, even if they had not moved off screen.
They may or may not notice what is wrong, but even if they do notice what is
wrong it is going to be annoying.

The fact is that backspace is already mapped to a function, so it should not be
used by anything else.

Also remember to check out the discussions in bug 69981 and bug 36922

I would like to point out that this key is not shown in the menu bar next to the
back and forward option in either IE (I've checked 5+6) or Mozilla. Despite this
lots of people seem to be aware of it. Why? Because they have pressed it by
accident when they meant to do something else. (Opera also supports backspace,
but I think their prefered key for going back is z, paired with x, which are
also bad IMO).

Finally, if people really must have an easier key-combo for back, can I suggest
CTRL+Left Arrow? They are next to each other on most keyboards, so should be
easy to type with one hand. Having said that, I only support CTRL+left arrow as
a REPLACEMENT to backspace, since it is also used by the editor to move around
the text. As I said before, the same key shouldn't have two bindings, but this
key combo conflict will only inconvenince people trying to use it to go back,
and is non destructive (unlike backspace, which inconvenences people trying to
delete and people trying to go back, and is destructive).

I've yet to see a good argument for the inclusion of backspace other than that
people are used to using it. Maybe if we lobbied microsoft they could remove it
from IE and then people wouldn't be used to it.
The reason this change didn't break Flash movies is bug 78414, "Application 
keyboard commands fail to operate during Shockwave Flash playback".
Yes, if Ben wanted to replace the scrollbars with an exit button, and the
Navigator peers agreed, it would be fine. However, last I talked to him, he was
thinking of making it another access point for full screen.
I often trigger the backspace shortcut accidentally when I'm trying to edit a 
URL I just mistyped.  If I'm not fast enough, the 404 page has already started 
loading, so focus is in the page and backspace takes me back to a URL that's 
nothing like the one I was trying to type.
Then what about 'space', which is used for page down.
It is also already mapped to a function, so it should not be used for scrolling.
What if someone accidentaly exits the text field and then presses space and
instead of inserting space, the browser scrolls the page.
Sure it's not dangerous, but it's annoying :-) 
Should I file a bug on that ?
If you want. The thing with space is that going down a screenful is much less
irritating than going back a page.
Just kidding. Actually I don't known anybody who has problem with using
backspace for going back. I never lost filled form data by accidentaly pressing
backspace, while outside of input field (nor I know anyone who did). 
'Normal' people coming from IE world (hopefuly) will expect that backspace is
used for going back. If you have problem with that, keep in mind, that you are
not 'normal' user :-)
Ease of migration from a competitor should not be the essential factor, if it
was then why not just embed Gecko into IE using an ActiveX?

Yes, we should be looking at ways of making it easy to migrate, but only AFTER
we have looked at whether this is a feature we want to implement or not. IMO
this isn't.

Oh, and going back when you didn't mean to could cause dataloss, if you were on
a page that contained a form and expires from the cache. You go put data into
the form, go back accidentally, go forward and you are told the page has expired
and if you want to resubmit form data.
*** Bug 111209 has been marked as a duplicate of this bug. ***
So after five months of discussion in bug 69981, this bug was filed, patched,
and checked in in a mere 31 minutes??  Yay.
Just added dependancy on 36922, which is for a competing use of the backspace
key in browser windows (one with rather less dataloss possibility): be
compatible with ns <= 4.7 (and gnus, etc) and page up on backspace.
No longer blocks: 36922
(really) Added dependency for bug 36922 which is for a competing version of what
to do for backspace - implement the ns <= 4.7 (and quite a few other browsers,
and gnus) behaviour: scroll up one page.  This has rather less dataloss
possibility than the IE compatible binding.  Also adding dependency on bug 57805
(front end for user-defined mappings).
Depends on: 36922, 57805
*** Bug 134584 has been marked as a duplicate of this bug. ***
I just have one question.  Maybe it's been answered somewhere in this maze of
bugs, but I can't tell.

Is there any way for me, as an end-user of the Unix version of Mozilla, to set
up *my* browser so that when I type Backspace, the window scrolls up as if I had
hit PageUp?

If the answer is no, then I have one more question:

please please please?
See http://www.mozilla.org/unix/customizing.html#keys; I suspect you want 
cmd_movePageUp or cmd_scrollPageUp for the command (the difference is whether 
it moves the cursor).  See also 
http://lxr.mozilla.org/seamonkey/source/content/xbl/builtin/unix/platformHTMLBin
dings.xml#228
*** Bug 162014 has been marked as a duplicate of this bug. ***
*** Bug 176070 has been marked as a duplicate of this bug. ***
Alias: backspace
I also agree that Backspace should page up, as it did in previous Netscape 
versions. I followed the suggestion by Boris Zbarsky to create an xml file in 
order to override the behavior of the Backspace key. Well, it works and it 
doesn't work. Here is what I noticed after making the xml file:

Backspace will page up if I'm on the home page. That's exactly what I expect it 
to do. Cool so far.

Now when I go to any other page and hit Backspace, it no longer pages up. 
Instead it backs up a page! Not cool.

Can anyone else verify this? If so, what can I do to make Backspace always page 
up? I don't mind if I have to create some other xml file or add a line to the 
prefs.js file or even hex-edit a file -- I just want Backspace to page up! 
Thanks in advance.
On Windows you need to remove the lines from platformHTMLBindings.xml that say:

114       <handler event="keypress" keycode="VK_BACK" command="cmd_browserBack"/>
115       <handler event="keypress" keycode="VK_BACK" modifiers="shift"
command="cmd_browserForward" />
I looked everywhere in platformHTMLBindings.xml, but unfortunately I don't even 
have those two lines. Was this added in Mozilla 1.2 by some chance? I have 
version 1.1 and was considering upgrading.
Are you on Linux or Mac?  On those platforms backspace should not be going "back"...
Neither. I run it on both Windows 95 and NT.
Then those lines should be in platformHTMLBindings.xml (though yes, maybe not in
1.1)
I just now trashed Mozilla 1.1 and installed 1.21. Removing those lines fixed the annoying behavior reminiscent of the awful IE. Thanks a bunch! Now if I could just get rid of the annoying scrolling in the bookmarks menu (and some other quirks), I'd switch my default browser from Netscape 4.x to Mozilla.

Thanks once again for the swift replies.
*** Bug 219203 has been marked as a duplicate of this bug. ***
I'll give an example of when comment #10 doesn't work. I was editing some source
code, and somehow even though MSDev was visible, the browser still had focus.
When I hit backspace, I lost everything I had entered in a form. PLEASE back out
that evil patch. IE's behavior is totally incorrect! I considered this a major
flaw on IE, and now I consider it a major flaw in Mozilla.

bug 219203 is about backing out the patch, since ths bug was about putting it in.
If we are trying to type, and hit delete for whatever reason, we shouldn't be knocked back to another page.

I have coordination problems, so I can't watch the screen when I'm using the keyboard. So I may think I have focus when I don't.
Please reconsider having backspace -> page back as default behavior.  This has repeatedly caused problems for me with students in a computer lab using firefox.  The typical user expects backspace to delete a character of text.  They don't memorise non-unintuitive keyboard shortcuts.
Please stop making backspace default to "page-back." This has caused dozens or hundreds of instances of data loss in my life, using forms from many different sites, some quite important (to me). I don't understand the reasoning for keeping this default for 17 years. How many IE users does Firefox pick up because of this behavior? How many would it lose if it became more user-friendly? Are there data on this? Has a survey, for example, been administered recently? How many Firefox users avoid the browser because of this? In other words, aside from armchair estimates, are there actual data on the impact of this decision?

If keeping IE users happy is really important, perhaps have an option during install that says "make navigation just like IE" and allow people to opt into this behavior.

It is really very frustrating, and has caused me a lot of lost time and possibly pulled-out hair. I created a Bugzilla account just so I could add my voice to others on this issue.
The reasoning behind this at the time was for consistency with IE. The world how since moved on and we should now be more interested in consistency with Chrome and maybe Edge. Edge doesn't use backspace to go back, and Chrome removed the shortcut in Chrome 52. At the time their argument was:

"We have UseCounters showing that 0.04% of page views navigate back via the backspace button and 0.005% of page views are after a form interaction. The latter are often cases where the user loses data.

Years of user complaints have been enough that we think it's the right choice to change this given the degree of pain users feel by losing their data and because every platform has another keyboard combination that navigates back."

https://www.ghacks.net/2016/05/21/chrome-52-blocks-backspace-back-navigation/
Change in Chrome looks like it was made in https://codereview.chromium.org/1854963002/ but I don't have access to that page.

If anyone wants the behavior changed, they should open a new bug on it (and you can reference this one)

Bug 1481311 tracks this already. I've asked the people who need to make that call to look at this, and I would appreciate people not adding noise to that bug unnecessarily.

Component: Keyboard: Navigation → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: