Closed Bug 942595 Opened 11 years ago Closed 6 years ago

Don't do history swipe animation for history.pushState and anchor jump links

Categories

(Core :: Widget: Cocoa, defect, P2)

x86_64
macOS
defect

Tracking

()

RESOLVED INVALID

People

(Reporter: fb+mozdev, Unassigned)

References

Details

(Whiteboard: tpi:+)

Currently, the history swipe animation is shown for all navigations. However, the UX is severly confusing for these two cases:

1. history.pushState() / popState event: 
This is used by websites/webapps to keep the URL bar up-to-date when navigation is done through JavaScript/AJAX, i.e. only parts of the currently visible page are updated thereby breaking the metaphor of "previous document". 

2. (in-page) anchor jump links: 
This is used by websites to jump from one section of a page to another section of *the same page*. Thus, the metaphor of the "previous document" does not apply here, too. 

The swipe animation however is justified by the metaphor of the "previous document": When you swipe back, you swipe the current document to the side thereby revealing the previous document (page) laying underneath. In both cases above however, the document stays the same, thereby breaking the metaphor.

Safari (iirc) does the swipe animation in both cases, but I'd argue for a better UX rather than platform consistency here (IMHO, Safari does this wrongly!). As for GitHub, they used to have an animation for the part they replaced via AJAX (the file list), which looked ridiculous and very confusing with the Safari swipe animation, interfering with the in-page animation (this basically lead to two animations being played with a slight offset). So the browser is interfering with the page behaviour here which should be up to the website to implement.

Please, disable the swipe animation for the two cases above!
Blocks: 942589
I don't see that we can ship the swipe feature without this fixed. So either we need to fix this or we need to disable it by default.
My bad, it's been disabled by default again already.
Blocks: 1382560
No longer blocks: 1382560
Priority: -- → P2
Whiteboard: tpi:+
The code in question here has been removed in bug 860493.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.