Closed Bug 219203 Opened 21 years ago Closed 19 years ago

Add pref for backspace behavior (go back, page up)

Categories

(SeaMonkey :: UI Design, enhancement)

x86
All
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey1.0alpha

People

(Reporter: netdragon, Assigned: csthomas)

References

(Depends on 1 open bug, )

Details

(Keywords: dataloss)

Attachments

(2 files, 3 obsolete files)

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 Build 2003082704
Already determined to be a WONTFIX issue. *** This bug has been marked as a duplicate of 108816 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
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.
Status: RESOLVED → REOPENED
Depends on: 57805
Resolution: DUPLICATE → ---
Summary: Unassign Backspace for "Go Back" → Back out code for Backspace causing browser to "Go Back"
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.
Whatever.
Status: REOPENED → NEW
.
Assignee: jag → netdemonz
QA Contact: paw → netdemonz
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 reverse it?"
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? Solution: 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: CTRL+Arrow SHIFT+Arrow ALT+Arrow 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 from. 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 history" button. 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. Prog.
CCing xterm@newmail.net (Tomer), in hope in this mail service is not dead yet (as it was reported to be). Prog.
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. /fihs Esc /fish Ctrl-G (bounce to second fish) Return (goes to selected link) Backspace (back to previous page) Fast!
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 change! 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' keybinding.
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.
Keywords: dataloss, helpwanted
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.
Assignee: netdragon → jag
QA Contact: netdragon → pawyskoczka
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 be easy.
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.
Product: Core → Mozilla Application Suite
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.
Assignee: jag → cst
Attached patch patch (obsolete) — Splinter Review
Attachment #168902 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #168902 - Flags: review?(timeless)
Comment on attachment 168902 [details] [diff] [review] patch sorry, I included unrelated changes.
Attachment #168902 - Attachment is obsolete: true
Attachment #168902 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #168902 - Flags: review?(timeless)
Attached patch patchSplinter Review
Attachment #168904 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #168904 - Flags: review?(timeless)
Whiteboard: [cst: active, r?]
Target Milestone: --- → mozilla1.8alpha6
Attachment #168904 - Flags: review?(timeless) → review+
Status: NEW → ASSIGNED
Target Milestone: mozilla1.8alpha6 → mozilla1.8beta
Comment on attachment 168904 [details] [diff] [review] patch I think that the pref should probably be defined near other browser.* prefs.
Attachment #168904 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview+
Whiteboard: [cst: active, r?] → checkin [move pref before checkin]
checked in. changing bug summary to reflect actual change made.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago20 years ago
Resolution: --- → FIXED
Summary: Back out code for Backspace causing browser to "Go Back" → Add pref for backspace behavior (go back, page up)
Whiteboard: checkin [move pref before checkin]
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.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → ASSIGNED
Whiteboard: [cst: active]
Keywords: helpwanted
Whiteboard: [cst: active]
Target Milestone: mozilla1.8beta1 → mozilla1.8beta2
Attached patch handle platforms differently (obsolete) — Splinter Review
UNIX: pgup Win: back Mac and all others: nothing
Attachment #176043 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #176043 - Flags: review?(timeless)
Attachment #176043 - Attachment is obsolete: true
Attachment #176043 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #176043 - Flags: review?(timeless)
Attached patch change other platforms (obsolete) — Splinter Review
windows, os/2: back *nix: page up other: nothing
Attachment #176055 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #176055 - Flags: review?(timeless)
Comment on attachment 176055 [details] [diff] [review] change other platforms I need to ignore shift+bksp if bksp doesn't go back :(
Attachment #176055 - Attachment is obsolete: true
Attachment #176055 - Flags: superreview?(neil.parkwaycc.co.uk)
Attachment #176055 - Flags: review?(timeless)
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 Unix. 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 > Unix. > > 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 remove it. 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. I agree.
(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.
Whiteboard: [cst: properly ignore shift+bksp]
Target Milestone: mozilla1.8beta2 → ---
Attachment #179334 - Flags: superreview?(jag)
Attachment #179334 - Flags: review?(timeless)
Keywords: helpwanted
Whiteboard: [cst: properly ignore shift+bksp] → [cst: r?]
Target Milestone: --- → mozilla1.8alpha2
Target Milestone: mozilla1.8alpha2 → Seamonkey1.0beta
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 platform dependent. Who needs to approve this sort of thing?
Attachment #179334 - Flags: superreview?(jag) → superreview?(neil.parkwaycc.co.uk)
Comment on attachment 179334 [details] [diff] [review] fix shift+bksp, all platforms Nit: Just as BrowserHandleBackspace() follows BrowserBack(), shouldn't BrowserHandleShiftBackspace() follow BrowserForward()?
Attachment #179334 - Flags: superreview?(neil.parkwaycc.co.uk) → superreview+
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 change
Attachment #179334 - Flags: review?(timeless) → review+
Whiteboard: [cst: r?] → [cst: a?]
Attachment #179334 - Flags: approval1.8b3? → approval1.8b3+
checked in
Severity: normal → enhancement
Status: ASSIGNED → RESOLVED
Closed: 20 years ago19 years ago
QA Contact: pawyskoczka → technutz
Resolution: --- → FIXED
Whiteboard: [cst: a?]
Target Milestone: Seamonkey1.0beta → Seamonkey1.0alpha
Comment on attachment 176055 [details] [diff] [review] change other platforms What happened to the pref changes in this patch? backspace now goes back on linux!
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.
QA Contact: stdonner → nobody
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: