Recently some folks have been blogging about Ctrl+Tab. It’s great to see that shortcut getting love, and it reminds me that there’s another one for navigating between pages that could use similar attention: Alt/Cmd+Left/RightArrow for going backwards and forwards through history within a tab.
Like the old Ctrl+Tab implementation, Alt/Cmd+Left/RightArrow only lets you move one page at a time, and you can’t see where you’re going until you get there. And sometimes you land on a page that is the product of a POST request, which you don’t know until you are forced by a modal dialog to decide whether or not to resubmit data that you don’t get to see when making the decision.
We could enable multi-page moves by making the shortcuts work similarly to Alt+Tab in operating systems: holding down the Alt key and pressing a horizontal arrow key would bring up a list of icons representing the pages in the history (perhaps formatted like Alt+Tab in operating systems or via the 3D effect Jono suggested for Ctrl+Tab).
Each icon would be a screenshot of the page as it was when you left it, and the adjacent page to the current page would be selected by default. But as long as you held down the Alt key, the list of pages would stay on the screen, and pressing the arrow keys would let you travel back and forth through it. Once you let go of the Alt key, Firefox would switch to the page that was selected at the time.
This behavior might also reduce frustrating clicks on posted pages, although the better solution, as Dan Mills recently pointed out in a conversation, would be to stop forcing users to reload pages just to go back (or forward) to them, even if they were the result of a POST.
But if we can’t do that for some important technical reason, we could at least display a non-interactive and suitably-dressed snapshot of the page and drop down a non-modal notification bar at the top of the tab explaining why we can’t provide the page itself and allowing the user to see what they are potentially going to reload.
And the list of pages could itself indicate which of its pages are POSTed, thus providing the user two levels of useful indication of what will happen when they try to go back to that page.
Of course, there’s more to history than the past and future of each individual tab, and pan-tabscape history navigation affordances would also be useful to think through. But there’s still a place for a tab-specific interface, given that many such trails represent a specific path through the web with relevance and meaning to the user, so it’d be good to improve the way Alt/Cmd+Left/RightArrow works (or invent even better tab history traversal).