Closed Bug 262905 Opened 19 years ago Closed 18 years ago
Add a way to change the backspace key behavior in the content area
I've just done some testing in various Linux graphical apps that show uneditable things (what we do in browser) and which page down on space (like we do; this excludes the obvious Windows port-over that is Adobe acrobat). Here are the results: xdvi -- backspace does page up Netscape 4 -- backspace does page up emacs (patch viewer mode) -- backspace does page up Konqueror -- backspace does nothing Opera -- backspace does history back Firefox -- backspace does history back SeaMonkey -- backspace does nothing gv -- backspace does page up ggv -- backspace does page up So it look to me like platform convention is to do page up on backspace (including in nice GNOME apps like ggv). The exceptions are all web browsers, which are mostly copying IE. If I've missed apps I should have tested, please let me know. I think we should follow platform convention here and make backspace do pageup. Note that this is asking for the bug 208035 patch to be reversed. Also note that the equivalent SeaMonkey bug (bug 36922) was wontfixed over a good bit of protest. I think the reasoning listed in that bug is quite valid.
Requesting blocking status, since if we ship 1.0 with this we'll never change thereafter, citing all the users who're used to it (not like this has prevented us from breaking this in the first place, but....)
devhelp ignores both space and bksp monodoc does bksp -> pageup
I've used Linux as my home computer for over two years and never have I wanted Backspace to do anything but go Back. If there's nothing in the GNOME HIG about Backspace, I think the obvious thing to do is what everyone expects it to do in a browser window: go Back.
> I think the obvious thing to do is what everyone expects it to do in a browser > window If we're doing anecdotal evidence, I've been using a browser on Linux for 8 years, and I expect it to go up (which it does in NS4, I might add). Also, konqueror users won't expect it to go back, by any means. Let's not conflate "every IE user" with "every Linux browser user". Given that IE does not run on Linux, the two sets are really not the same. The GNOME HIG doesn't seem to say anything about this, all the same. Then again, it doesn't say anything about using space for page down. Let's remove that too.
(In reply to comment #3) > I think the obvious thing to do is what everyone expects it to do in > a browser window: go Back. (it's not "everyone": counter-example in comment 4.) why is that an obvious thing?
(In reply to comment #4) > Also, konqueror users won't expect it to go back, by any means. True, but to go up in the page they would expect to use Shift+Space (or Page Up of course), not Backspace, which makes more sense to me since the modifier reverses the action and it also leaves the Backspace button free for something else. Besides that, Konq users can configure everything to their hearts' content. Not being able to configure keybindings with Mozilla products is the root issue here. We wouldn't have all these keybinding bugs (well, at least not as open bugs) if we copied KDE's lead.
I notice that no one has bothered to respond to the main point here. With the exception of Opera (which is copying IE), Konqueror, SeaMonkey (which is lost in indecisive land), and Firefox (which this bug is about), all the other apps tested have exhibited some very consistent behavior -- if space goes a page down, then backspace goes a page up. We must have a really good reason for breaking with this, de-facto standard, behavior, right? "IE does it" is not really a good reason on Linux.
no way! imagine how hard we begged to get this into the linuxbuild, and now you want to remove it? firefox should compete with IE and opera, those two browsers use backspace to go back in history, firefox should follow this. please, invalid...
I'm not sure why "do whatever your competitors" do is the right way to compete. And you've still not answered the main point.
My opinion: 1. Please see bug 208035 (which I reported) for why it is useful to have a single key shortcut for History Back. 2. There are already excellent single key shortcuts for going up and down a page: PageUp and PageDown. The fact that PageDown is such a common operation is presumably why there is an additional shortcut for PageDown: Space. But this does not convince me that Backspace should be Page Up. Since we already have a single key shortcut for PageUp, the next most important operation that needs a single key shortcut is History Back. 3. If you are going to propose assigning Backpsace to Page Up, please propose an alternative single key shortcut for Browser Back and describe how it matches the conventions and usability arguments that you feel are important. Alternatively, please describe why you feel History Back does not deserve a single key shortcut. 4. Your examples of other apps which use Backspace as PageUp are not very convincing to me. The list of apps you give which have this behaviour is: xdvi, netscape 4, emacs in patch viewer mode, gv, and ggv. These apps: * have a much smaller audience than firefox * generally have weird interfaces (yes emacs patch viewer may be excellent for programmers, but for general users a wiki is probably a better interface for versioning documents). Even comparing just within your list there seems to be no clear agreement on how to expose features to the user.
Sorry but I have more to say on this. There are several key arguments here: 1. Is it useful to have a single key shortcut for History Back? 2. Is Backspace a useful shortcut for History Back? 3. What is the convention that the audience will be familiar with? For (3) I regard the potential audience as all web broswer users. This means pretty much all computer users. More specifically it includes: a. people who only use Linux desktops and have been using them for some time b. people who use Linux as well as other desktops c. people who mostly use Windows but are starting to use Linux A shortcut is most useful if it works in most contexts. Since I am in group (b) that means Backspace is not useful to me on Windows until it also works on Linux. In practice, sometimes I forget because I am thinking about web browsing, not which OS I am running, so I hit Backspace and get annoyed when it doesn't work. This annoyance will occur for keyboard shortcut users in groups (b) and (c) and the annoyance will be associated with Linux because that is where this useful shortcut does not work. Note that this annoyance is not because of any bias I have towards Microsoft. I generally find Linux faster and easier for the things I want to do with a PC.
Yet more I'm afraid: Given that audience (a) is much smaller than (b) and (c), couldn't the Backspace == PageUp behaviour be implemented in an extension? Perhaps along with a bunch of other traditions from emacs, NS4 and friends. <joke>If you wanted to really live up to tradition, you could emulate NS4 properly with regular crashes, enourmous rendering lags, and impossible motif drop down form menus.</joke> As for the Backspace == Page Back data loss argument (which has not yet been raised here but has been in other discussions of Backspace) I think this is a separate bug. Any info which a user enters into a form should be persistent and recoverable across page navigation, app crashes, OS crashes, and restarts. As far as the user is concerned it should be persistent across computers also, as long as there are appropriate privacy safeguards. E.g. User types long email in webmail. Sometimes the user manages to mix up the focus and goes back a page. (Or they accidentally close the window, kick out the power cord, battery goes flat, etc. etc.) Webmail software should handle this by gracefully restoring the text when the user presses compose again. If not, the browser should gracefully offer an option to the user to restore their previously typed text.
> Any info which a user enters into Aa form should be persistent and > recoverable across page navigation That would be a major security bug in many cases, actually (think banking information, passwords, etc). I agree with your key arguments. In order: > 1. Is it useful to have a single key shortcut for History Back? Yes. > 2. Is Backspace a useful shortcut for History Back? Not on Linux, for various reasons. The most important one to me is that it really is breaking platform conventions. You don't like my list of apps tested, so feel free to suggest other apps that expose similar functinality. biesi mentioned two more, for example. > 3. What is the convention that the audience will be familiar with? I would have to assume that would be the convention that GNOME applications use. > For (3) I regard the potential audience as all web broswer users. It would need to be "all web browser users using Firefox on Linux", which is not the same thing at all. Also note that we're not doing the "backspace == back" thing on the Mac, for good reasons (platform convention). > and (c) and the annoyance will be associated with Linux You must have meant "non-Windows" (see previous paragraph). In short, there are already rnough key binding differences between Firefox versions on different OSes that I don't think another one is a big deal. I do think following what's a pretty clear platform convention is pretty important.
Oh, and as far as having a different shortcut bor "back" (which I do agree is a good idea), as far as I can tell F2, F4, F8, F9, F10, F12 are all available. And one other thing: > Even comparing just within your list there seems to be no clear agreement on > how to expose features to the user. Except for this amazingly clear agreement on how space and backspace act, eh? Isn't that the whole point of a platform convention? That apps follow it even if they're generally doing different things?
I guess that less than 1 out of every 10,000 people who will use Firefox, have never used IE. I think browser convention is more important here than platform convention. Websites don't look like the native platform. Should we go even further and force all fonts and colors to be the standard GNOME Application Font and follow the user's current GNOME style? This analogy may seem silly to you, but to me it sums up my point. Websites are a very different thing than PDF or text files, and there is a lot of behavior unique to web browsers relative to other applications. I think that because IE uses Backspace, and because I know several not so tech savvy people who like IE's Backspace behavior (so we're not just copying IE to copy IE, we're copying IE because it had an idea that users like), Firefox should go Back when the user presses Backspace. By the way I think the data loss thing is silly, everyone I've ever known knows how to Undo (and anyone meaning to go Back might expect their data on the form to be lost anyway).
> I think browser convention is more important here than platform convention. In that case, why are we doing native rendering of form controls instead of rendering them exactly like IE? Why are we doing native rendering of the browser UI instead of looking exactly like IE? > Websites don't look like the native platform. pageup/pagedown shortcuts are part of the browser UI, not part of the website. And I was under the impression that Firefox was trying to follow platform convention for the browser UI. > Should we go even further and force all fonts and colors to be the standard > GNOME Application Font and follow the user's current GNOME style? In the browser's UI? We already do all that, last I checked. > and anyone meaning to go Back The point is that backspace makes it easy to go back when what you _meant_ was to edit text in a form control (for example if you miss clicking on the control and don't notice that the caret isn't blinking, or if the website has a weird tab order).
In any case, I see that this bug is headed into the "he who shouts loudest wins" direction of SeaMonkey UI bugs of yore, so I'm going to stop commenting. I believe I've made my case; the rest is up to the module owner to decide on.
> everyone I've ever known knows how to Undo please explain how, given a cache-control:no-store page.
(In reply to comment #11) > This annoyance will occur for keyboard shortcut users in groups (b) and > (c) and the annoyance will be associated with Linux because that is where this > useful shortcut does not work. If we add the new linux shorcut to win32, keeping backspace (like currently with ctrl+R and F5), people could get used of this new one instead of backspace, especially if they think about switching to linux.. (In reply to comment #15) > By the way I think the data loss thing is silly, everyone I've ever known knows > how to Undo Then what about bug 206695 ?
(In reply to comment #13) > > Any info which a user enters into Aa form should be persistent and > > recoverable across page navigation > > That would be a major security bug in many cases, actually (think banking > information, passwords, etc). That's not fair to my argument. I said that anything a user types should be persistent as long as there is respect for privacy. So you need the same privacy management applied as for cookies etc. The bigger point however is that data loss should be an independent bug. There are many other ways to trigger data loss by accidental page navigation. I guess it's my fault: I did introduce the topic to this bug. > > For (3) I regard the potential audience as all web broswer users. > > It would need to be "all web browser users using Firefox on Linux", which is not > the same thing at all. Also note that we're not doing the "backspace == back" > thing on the Mac, for good reasons (platform convention). > > > and (c) and the annoyance will be associated with Linux > > You must have meant "non-Windows" (see previous paragraph). > > In short, there are already rnough key binding differences between Firefox > versions on different OSes that I don't think another one is a big deal. I do > think following what's a pretty clear platform convention is pretty important. Actually that's one of the great things about firefox. My fingers don't have to remember which OS I'm using, only something more relevant to what I'm actually doing, which is browsing the web using the best browser software available. Except if I press backspace. Which is something I will do many many times a day once I upgrade the various Linux desktops I use to the latest firefox, so that I can resume using this useful shortcut. The difference in keyboard shortcuts between platforms is very small and shrinking: http://texturizer.net/firefox/keyboard.html I maintain that if you split the firefox audience into people who only use Linux and those who use Linux as well as other platforms, then the pure Linux users will be a much smaller part. And I feel that an important and successful part of firefox's design is that consistency between firefox on different platforms is given a similar priority to consistency with other apps on specific platform.
Backspace should *NOT* do anything, to have it do anything interferrs with FAYT. Just try typing using fayt and then hitting backspace one too many times, you're on the wrong page. Steps to reproduce: 1) Load a page, click on a link (So you have a history) 2) Start using find-as-you-type 3) Hit backspace one more time than you have number of characters Result: You go back a page (And perhaps loss of infomation in forms etc) Expected results: It ignores it so you can redo your FAYT on the correct page. Perhaps disable if fayt has been used recently, or disable if fayt is enabled. Or disable entirely.
It doesn't interfere with FAYT at all. Interfering would suggest that the functionality of FAYT is somehow broken. If I backspace everything while using Find, it doesn't go back for me, using a Windows build at least (which is identical for this part of the code). Since, afaik, the Great Backspace Debate for UNIX left no winners, we're basically in a situation where we can either go with a solution where users have to move their hands a lot farther to use a really common shortcut (i.e. the function keys), or break with platform convention in favour of app convention. I'm still leaning towards app convention, keeping in mind that Shift-Space does page up, and on most keyboards that I have seen, the backspace key isn't that far from the page up key.
> If I backspace everything while using Find, it doesn't go back for me, It depends on whether you backspace quickly enough that the find toolbar doesn't go away. If you happen to wait that one microsecond too long, suddenly the key means something totally different. Which is _really_ bad UI, btw. As for "move a lot further", it's about 3/4 of an inch on a typical keyboard from Backspace to F12. It't about 4 times as far from Backspace to PageUp (again on a typical keyboard; some laptop keyboards have neither a F12 key nor a PageUp key that's easily reachable). So I'm not sure how you can make the claim that "the backspace key isn't that far from the page up key" in the same breath...
(In reply to comment #21) > Backspace should *NOT* do anything, to have it do anything interferrs with > FAYT. Just try typing using fayt and then hitting backspace one too many > times, you're on the wrong page. [FAYT == find as you type] Avoiding this is simple. If you want to clear FAYT, just press Escape. The new FAYT status bar gives excellent feedback, and will I'm sure be refined to make this sort of micro operation even smoother. Plus, FAYT is a relatively advanced feature. Having an easy keyboard shortcut for going back is going to have a much larger audience than FAYT, even after allowing for the fact that many users will never use keyboard shortcuts at all. People who are used to backspace being pageup are probably technically advanced users relative to the general keyboard shortcut using audience. Such technical users are more likely to seek out customizations such as changed keyboard shortcuts. Also look at the tab key. Tab auto-complete in the location bar breaks the general convention that tab jumps between parts of a window... but it's so handy that it's worth it. You could argue that Microsoft's auto-complete using the up and down arrows is more "logical" but in practice it's a pain in the neck to use. I feel like that with backspace for history back. It maybe breaks some conventions, but it's such a useful time saver! User interfaces are a language for communicating with the software. Like any language, it's good to have rules, but it's good to break them sometimes too.
Investigate after 1.0.
Flags: blocking-aviary1.0? → blocking-aviary1.0-
Given comment 1, I assume that means wontfix, eh?
You know, there's a patch somewhere that's adding an int pref to this, I think for Seamonkey, that may be a solution in part here as well. If PgUp is really more correct, then we can do that, and let the IE people change the pref. Then of course, once we have the dynamic keybindings bits in place we'll be able to have an IE-like setup for users to select even if they're on Linux.
19 years ago
Flags: blocking-aviary1.1? → blocking-aviary1.1-
This really needs to be changed IMHO. Backspace interfering with navigation is extremely annoying. I don't see why it should be imposed on Linux users and not Mac users, considering that IE does not run on Linux. I find that it does interfere with FAYT, as well as situations where the focus is misplaced.
This single bug is keeping me from using Firefox as my default browser (and the annoying scrolling bookmarks menu). And this is coming from one who has been mostly a Netscape user on Windows for a decade. I have never ever liked Internet Explorer, and have never considered any of its behaviors to be "correct" in any way, shape, or form. Please let the user be able to fix this errant Backspace behavior easily. Now that Opera released free registration codes (and I can easily edit its keybindings), I am seriously considering it as the browser of choice, since it gives the user more control. I should not have to install a buggy extension just to fix something that has been broken for quite some time in Firefox / Firebird / Phoenix / Mozilla / Netscape 7 / etc.
*** Bug 301744 has been marked as a duplicate of this bug. ***
(In reply to comment #28) > Backspace interfering with navigation is extremely annoying. It's more than annoying, it's downright infuriating sometimes. Give the user a way to change it or at /least/ turn it off, but don't leave it the way it is.
> It's more than annoying, it's downright infuriating sometimes. Give the user a > way to change it or at /least/ turn it off, but don't leave it the way it is. Perhaps another consideration also, is inadvertently triggering a 'back' and re-posting form data from a previous post.
Assignee: bugs → bugs.mano
Priority: -- → P2
Target Milestone: --- → Firefox1.6-
Version: 1.0 Branch → Trunk
port of CTho's patch. I didn't change the default on gtk* yet.
Attachment #199630 - Flags: review?(mconnor)
Comment on attachment 199630 [details] [diff] [review] patch ok, not needed for 1.5, and we'll discuss the default separately
Attachment #199630 - Flags: review?(mconnor) → review+
mozilla/browser/base/content/browser-sets.inc 1.60 mozilla/browser/base/content/browser.js 1.524 mozilla/browser/app/profile/firefox.js 1.87 Leaving open until we sort out the default behavior for gtk1/2.
FWIW Epiphany on GNOME does nothing (at least not that I can tell) for Backspace.
No longer blocks: 325541
Summary: On Linux, backspace should be page up, not history back (platform convention) → Add a way to change the backspace key behavior in the content area
Attachment #199630 - Flags: branch-1.8.1?(mconnor)
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
I've added browser.backspace_action = 1 to my preferences and restarted twice, but it has no effect. I'm running the official binary distribution of Firefox 188.8.131.52 (Gecko/20060124), so it shouldn't be a local install problem. (Firefox 1.5 had the same problem.) this is really turning me crazy. after 15 years of Unix, it's hard to stop using BackSpace for up (and Space for page down). every other application I use understands those keys (Evolution, less, gv, evince, Emacs (in view-mode), xv, feh, and so on) I honestly can't think of any exceptions (I use neither Opera nor IE :-)
See comment 35 for the state of this in 1.5. :(
Attachment #199630 - Flags: branch-1.8.1?(mconnor) → branch-1.8.1+
Whiteboard: [checkin needed (1.8 branch)]
MOZILLA_1_8_BRANCH Checking in app/profile/firefox.js; /cvsroot/mozilla/browser/app/profile/firefox.js,v <-- firefox.js new revision: 184.108.40.206; previous revision: 220.127.116.11 done Checking in base/content/browser-sets.inc; /cvsroot/mozilla/browser/base/content/browser-sets.inc,v <-- browser-sets.inc new revision: 18.104.22.168; previous revision: 22.214.171.124 done Checking in base/content/browser.js; /cvsroot/mozilla/browser/base/content/browser.js,v <-- browser.js new revision: 1.479.2.77; previous revision: 1.479.2.76 done
You need to log in before you can comment on or make changes to this bug.