Closed Bug 1656609 Opened 5 years ago Closed 5 years ago

Consider structuring show_bug.cgi in such a way that it's the <html> element that scrolls, not a descendant

Categories

(bugzilla.mozilla.org :: User Interface, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: botond, Assigned: glob)

References

Details

Attachments

(1 file, 1 obsolete file)

46 bytes, text/x-github-pull-request
Details | Review

show_bug.cgi is currently structured in such a way that the <html> element is not scrollable (at unit zoom), but rather a descendant element (<main>) is scrollable and contains all of the page's scrollable content (which takes up most of the viewport -- basically evertyhing except the top navigation bar).

This is not an ideal page structure in the presence of pinch-zooming. Pinch-zooming always makes the <html> element scrollable, even if it wasn't before. Therefore, when pinch-zoomed in, there are now two nested scrollable elements: <html> and <main>. This introduces various seams into the user experience:

  • There is now "scroll handoff" from <main> to <html>. That is to say, a gesture over <main> (which is most of the visible content) will only scroll the <html> if <main> has been scrolled to its extent in that direction. Moreover, since we don't have "immediate handoff", you need to release your finger (from a touchscreen or touchpad) or move the mouse (if scrolling via scroll-wheel) in between a gesture that scrolls <main> and a gesture that scrolls <html>.

  • <html> and <main> both have their own set of scrollbars. <main>'s scrollbars are part of <html>'s scrollable content, and therefore can be scrolled on- and offscreen by scrolling <html>.

These problems have existed for a while on mobile, but now that we're bringing the ability to pinch-zoom to desktop, they're going to become a lot more noticeable. (Even more so for the scrollbar issue, since scrollbars are always visible on desktop.)

These problems would be alleviated if the page were structured such that <html> is the element that scrolls even when not zoomed in. The content currently outside of <main> (i.e. the top navigation bar) could retain its behaviour of remaining onscreen using position: fixed.

Please consider revising the page structure in this way.

See Also: → 1656139

This request is probably applicable to enter_bug.cgi and various other BMO pages as well.

This will require some research to see which template this is happening in. Adding to Monday's BMO meeting agenda.

Severity: -- → S2
Priority: -- → P2
Blocks: 1659268

(In reply to Botond Ballo [:botond] from comment #0)

This introduces various seams into the user experience:

An additional issue, not mentioned above, that was just reported in bug 1659268: <main> being the scrollable element means that a two-finger gesture on a touchscreen cannot be used to scroll (since two-finger gestures always target the <hml>).

This is in a sense even worse, in that it's an issue even at unit zoom.

Assignee: nobody → glob
Attached file GitHub Pull Request (obsolete) —

Merged to master.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

Reopening as caused a regression when viewing secure bugs (bug 1664243). The secure banner would no longer be visible as it was behind the header. We reverted this change and will push a new deployment.

https://github.com/mozilla-bteam/bmo/commit/03b35fbbbf5a71f7b5b5ea9c080a703c9e3102d2

Status: RESOLVED → REOPENED
Flags: needinfo?(glob)
Resolution: FIXED → ---
Attached file GitHub Pull Request
Attachment #9170297 - Attachment is obsolete: true
Flags: needinfo?(glob)

Merged to master.

Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Duplicate of this bug: 1659268
See Also: → 1930782
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: