Open Bug 1547181 Opened 2 years ago Updated 6 months ago

Implement "reflow on zoom" feature (like in Opera for Android)

Categories

(Core :: Layout, enhancement, P3)

66 Branch
enhancement

Tracking

()

Tracking Status
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- affected

People

(Reporter: pbone, Unassigned)

References

Details

(Keywords: access, parity-opera)

Attachments

(1 file)

A friend of mine https://twitter.com/duckpoultry suggested I might like this feature. and pointed out that opera supports it: https://blogs.opera.com/mobile/2015/12/force-enable-zoom-opera-34-for-android/ He's right, I do like it and I'd love it if firefox supported it.

I tried it just now in Opera and reflowing text with pinch-to-zoom is quite nice. I tried my own blog and news.com.au. If I added a plugin for inverse-high-contrast like I have in FIrefox it'd be amazing, and more convenient/quicker than Firefox's reader mode.

I've re-opened this bug because the firefox behaviour and Opera behavour are different, and the opera behaviour is better (in my oppinion as a user). I'm expecting people to disagree with me from the perspective as web developers or something about standards or what-not, and that's possibly legitamate, but please do try Opera and see if you like that behaviour better as a user. Ask someone with poor eyesight like a senior citizen what they like.

See Bug 710298 for the original feature that is now broken. The comments on that bug since it was resolved provide other reports of the regression.

Fennec work is essentially complete. Moving this to Core:Layout as that where the fix for GeckoView would lie. Getting the performance of this feature right is critical. The previous implementation we tried was not fast enough on mobile devices.

Component: General → Layout
Product: Firefox for Android → Core
Version: Firefox 66 → 66 Branch

RC week is next week and this bug has no priority and no assignee, so wontfix for 67.

This would require some pretty serious feature work & speccing to figure out how to handle edge cases.

There's a video of the feature here, FWIW:
https://www.youtube.com/watch?v=k1xHKh7bLqo

The page tested on the video (which indeed prevents pinch-zooming in a default-configured Firefox Nightly):
https://m.facebook.com/opera

Fennec does have "Settings|Accessibility|Always-Enable-Zoom" which does let you zoom. But the extra bit shown in this Opera video is that on-screen text will rewrap after you've zoomed so that it doesn't run off your screen.

Summary: Reflow on zoom is does not work → Implement "reflow on zoom" feature (like in Opera for Android)

Why is this tagged as a regression? (I don't think we ever supported the magic extra rewrap-the-text-to-fit-your-screen behavior, though it's possible I missed it.)

Type: defect → enhancement
Flags: needinfo?(pbone)
Type: enhancement → defect

We landed some code. It existed in v18 to ~24 disabled by default. After v24 it was nightly only until we removed it in mid 2014. See bug 710298 for initial landing. For removal bug 900564 bug 990821 bug 1201539.

No longer blocks: reflow-zoom
Type: defect → enhancement
Keywords: regression
See Also: → reflow-zoom

Kevin answered for me with more accuracy than I have!

Flags: needinfo?(pbone)

I'd note that this feature addresses similar use cases to those of font inflation -- something that we've implemented and have disabled, and is probably a lot closer to being shippable than reflow-on-zoom is. (You could try it by setting the font.size.inflation.minTwips to something like 300, which would indicate that your minimum readable font size is 15pt. It's an integer preference in twentieths of a point, where points are 72nds of an inch, and we're assuming we know the physical size of your device accurately...)

I spoke with Jamie and Asa about this yesterday and showed how Opera works. They asked me to ping them on the bug.

dbaron: that sounds useful also and I'll give it a go. I use a smiliar setting in Preferences on desktop. It serves a different purpose though. because it can be nice to zoom to a paragraph, let it reflow and then read more easilly.

Flags: needinfo?(jteh)
Flags: needinfo?(asa)

No action from me at this point, though I agree it's important. Copying Eitan, as he may be interested in this.

Flags: needinfo?(jteh)

Here's a short video I made showing how Opera mobile rewraps content on zooming.

Flags: needinfo?(asa)
Priority: -- → P3
Duplicate of this bug: 1590879

Talked with :pbone again today, notes here just for reference:

  • Opera continues to offer reflow-on-pinch zoom
  • Safari, Firefox mobile on Android offer "pinch and pan" zoom

Underlying assumption with the latter is maybe "a user wants to zoom in on one part of the page" vs. the former which maybe indicates "a user wants to zoom in on all page content".

Observations on reader mode:

  • In FF (Android) on tablet, you can "pinch and pan" zoom, and you can also increase/decrease font size from the reader menu.
  • In FF (Android) on tablet, reader-mode content is contained within a column which does not tightly-fit device viewport width (there is whitespace on L/R, which doesn't go away as the user scales font size. We might want to consider decreasing that space as we increase the font size until we're limited by the device viewport boundary. This would prevent the words per line from getting impractically small).
  • in FF (Android) on phone, you cannot "pinch and pan" zoom, but you can increase/decrease font size from the reader menu.
  • In FF (Android) on phone, reader-mode content is tightly bound to the viewport width.
You need to log in before you can comment on or make changes to this bug.