classification
Title: Docs page's sidebar vibrates on mouse wheel scroll on Chrome.
Type: behavior Stage: resolved
Components: Documentation Versions: Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: docs@python Nosy List: Biwin John, Mike Taylor, barry, docs@python, ezio.melotti, georg.brandl, karlcow, kats, matrixise, paul.moore, tim.golden, vstinner, willingc, zach.ware
Priority: low Keywords: patch

Created on 2015-07-24 23:19 by Biwin John, last changed 2019-05-08 13:39 by matrixise. This issue is now closed.

Files
File name Uploaded Description Edit
docs-sidebar.patch Mike Taylor, 2016-05-20 18:26 Patch
Pull Requests
URL Status Linked Edit
PR 13179 merged mdk, 2019-05-07 21:21
Messages (11)
msg247303 - (view) Author: Biwin John (Biwin John) Date: 2015-07-24 23:22
The sidebar on the documentation pages ex. https://docs.python.org/2/library/collections.html vibrates/flashes on mouse wheel scroll. 
The sidebar with class sphinxsidebar, works okay when scrolling with the scrollbar, Firefox but not with mouse wheel on Chrome.


please consider fixing it.
msg247307 - (view) Author: Carol Willing (willingc) * (Python committer) Date: 2015-07-25 01:28
Biwan John, thanks for the issue report.

I can confirm that there is jitter due to scroll speed lag in Chrome for Python 2.7 docs. This behavior does not happen with Python 3.x docs. No issues with Firefox.

I am using Mac OS X 10.10 with up-to-date Chrome and Firefox.

I believe that this is likely a Chrome scroll issue and not a Python docs or Sphinx issue.

I have triaged this as "needs patch" in case someone is aware of a workaround to resolve. If this is still open after a month, I would recommend closing the issue as a "third party" issue
msg247324 - (view) Author: Biwin John (Biwin John) Date: 2015-07-25 09:34
The problem exist with the Chrome on Ubuntu, Windows and OSX, but ony with the python docs for version 2.7.

Docs for 2.6 use the same sidebar.

But in 2.7 docs, the content of sidebar is positioned with the style added on scroll,

style="float: left; margin-right: 0px; width: 202px; top: 13px;"

The top value is calculated on scroll, the same code works with FireFox without any problem.

So it might be the way chrome handles the change in values. And we must workaround with our code than waiting for Chrome to get fixed.

Needs to be fixed as, 2.7 is the most used version, comes default with most distros and chrome is the most used browser (50.25% of all)[https://en.wikipedia.org/wiki/Usage_share_of_web_browsers]

Recommendations:
1. Change the sidebar behavior to the 2.6 docs sidebar one.(default top value, users can scroll up to see the content)
or.
2. Make the sidebar position:fixed and provide a inner scroll bar.
msg257768 - (view) Author: Kartikaya Gupta (kats) Date: 2016-01-08 17:16
Please note that this issue will affect Firefox 46 and up as well; we have enabled asynchronous scrolling as of Firefox 46.

Bugzilla bug for this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=997269
Announcement for asynchronous scrolling: https://groups.google.com/d/msg/mozilla.dev.platform/X2BwGm348jI/Tl26C_1JBAAJ

Also, in Firefox 46 and up, if you open the browser's web console and scroll these documentation pages, you should see a warning about scroll-linked effects with pointers to additional info on why this is happening.
msg258052 - (view) Author: Mike Taylor (Mike Taylor) * Date: 2016-01-12 01:54
I can reproduce on Chrome and Firefox Nightly --

Carol, if I'd like to write a patch where would I do that? I see https://github.com/python/pythondotorg, but am not sure that's the right repo. Thanks!
msg258079 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2016-01-12 08:47
CSS: Doc/tools/pydoctheme/static/pydoctheme.css
JS: Doc/tools/static/sidebar.js

The repo is https://hg.python.org/cpython/, but there should be a github mirror too.  See also the devguide for more info.
msg260123 - (view) Author: Mike Taylor (Mike Taylor) * Date: 2016-02-11 19:15
Great, thanks Ezio! Will take a stab now.
msg265950 - (view) Author: Mike Taylor (Mike Taylor) * Date: 2016-05-20 18:26
OK, so uh, somehow a few months escaped me before I could get to this. >_>

(I've also just signed the Contributor Agreement with the PSF)
msg265951 - (view) Author: Mike Taylor (Mike Taylor) * Date: 2016-05-20 18:29
The bug for Chrome to ship support of position: sticky is here: https://bugs.chromium.org/p/chromium/issues/detail?id=231752 -- it's in active development.

But this patch fixes the jerky sidebar in Firefox as well.
msg278003 - (view) Author: karl (karlcow) * Date: 2016-10-04 00:16
@ezio.melotti 
What is the next step for getting the patch accepted.
msg341872 - (view) Author: Stéphane Wirtel (matrixise) * (Python committer) Date: 2019-05-08 13:32
New changeset 8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8 by Stéphane Wirtel (Julien Palard) in branch '2.7':
[2.7] bpo-24712: Doc: Make sidebar sticky using browser support. (GH-13179)
https://github.com/python/cpython/commit/8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8
History
Date User Action Args
2019-05-08 13:39:53matrixisesetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2019-05-08 13:32:13matrixisesetnosy: + matrixise
messages: + msg341872
2019-05-07 21:23:06mdklinkissue32393 superseder
2019-05-07 21:21:25mdksetstage: needs patch -> patch review
pull_requests: + pull_request13095
2016-10-04 00:16:32karlcowsetnosy: + karlcow
messages: + msg278003
2016-05-20 18:29:17Mike Taylorsetmessages: + msg265951
2016-05-20 18:26:03Mike Taylorsetfiles: + docs-sidebar.patch
keywords: + patch
messages: + msg265950
2016-02-11 19:15:07Mike Taylorsetmessages: + msg260123
2016-01-12 08:47:34ezio.melottisetmessages: + msg258079
2016-01-12 01:54:46Mike Taylorsetnosy: + Mike Taylor
messages: + msg258052
2016-01-08 17:18:44r.david.murraysetnosy: - r.david.murray
2016-01-08 17:16:46katssetnosy: + kats
messages: + msg257768
2015-07-25 19:37:26ned.deilysetnosy: + georg.brandl
2015-07-25 09:34:05Biwin Johnsetmessages: + msg247324
2015-07-25 06:59:03steve.dowersetnosy: - steve.dower
components: - Build, Demos and Tools, Installation, Interpreter Core, Library (Lib), Tests, Unicode, Windows, XML, 2to3 (2.x to 3.x conversion tool), IO, Benchmarks, Cross-Build, email
2015-07-25 06:30:31asal adasetnosy: + barry, paul.moore, tim.golden, r.david.murray, vstinner, zach.ware, steve.dower
components: + Build, Demos and Tools, Installation, Interpreter Core, Library (Lib), Tests, Unicode, Windows, XML, 2to3 (2.x to 3.x conversion tool), IO, Benchmarks, Cross-Build, email
2015-07-25 05:16:46serhiy.storchakasetnosy: + ezio.melotti
2015-07-25 01:28:21willingcsetpriority: normal -> low

nosy: + willingc
messages: + msg247307

stage: needs patch
2015-07-24 23:22:07Biwin Johnsetmessages: + msg247303
2015-07-24 23:19:04Biwin Johncreate