Closed Bug 306344 Opened 19 years ago Closed 8 days ago

Marquee should be able to animate smoothly (either via smooth scrolling or transform animations)

Categories

(Core :: DOM: Core & HTML, enhancement, P3)

x86
Windows XP
enhancement

Tracking

()

RESOLVED FIXED
126 Branch
Webcompat Priority P1
Tracking Status
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- wontfix
firefox126 --- fixed

People

(Reporter: jack, Assigned: emilio)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050829 Firefox/1.0+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050829 Firefox/1.0+

In a perfect world, there would be no marquee, but since it exists, maybe it
should look 50% less awful.  It's always jumping around and is very hard to
read.  Since this problem has already been addressed with the most common
example of moving text, the scrolling of a perfectly ordinary window, I was
hoping that it could be used on marquee text as well.

I don't have a lot invested in seeing this happen, but I thought it was an idea
worth sharing once.

Reproducible: Always

Steps to Reproduce:
1. Use marquee tag
2. Try to read it
3. get mad

Actual Results:  
human eyes have mild difficulty tracking the letterforms

Expected Results:  
it would be no harder than reading text on a slow moving truck
Summary: Marquee should be able to use smoothscroll code to → Marquee should be able to use smoothscroll code to
That's not what IE6 is doing, is it?
The marquee implementation tries to mimick IE's implementation, so I think this
is invalid.
Component: General → Layout
Product: Firefox → Core
Version: unspecified → Trunk
As far as I can tell, they both faithfully jump as many pixels (scrollamount) as
the author specifies at the interval specified by the scrolldelay, with some
kind of limit on how often the contained page elements can be moved.  Speed can
be made up by bigger jumps, but the number of milliseconds... I have no idea how
to calculate what will be the smoothest scroll that actually allows reading of
text, considering that the width will vary from page to page as well as screen
to screen.

There is no way to specify an actual speed that looks smooth, yet is independant
of the capabilities of the displaying computer;  Obviously, if it were possible,
most authors would want the scrollamount to always be one, and the delay would
be as low as necessary to produce the desired speed.  I could not prove this,
but I suspect that the designers intent was to provide an interface for speed,
in two different attributes instead of one.  That may be wishful thinking on my
part.

It's like reverse of the old joke where the policeman says "You were going 90
miles an hour" and the driver who responds "It's ok, I was only going to drive
another 15 miles"

Hi,
I agree - this is not a bug (but there is lack of functionality, i.e. "truespeed" which I will submit on another bug). 

Regarding marquee usage and looks, useless comment ;) :
In case you want to use a marquee to simulate a news crawler, like CNN for example, you get close to it by setting scrollamount=1 and scrolldelay=8 or so (depending on the width of your window). 
Current FF v1.5.0.1 does not allow scrolldelay less than 40ms... so, scrollamount=1 will go really slow. But in IE, one can add "truespeed" to achieve this result. The drawback?
If marquee is implemented in software, no gpu acceleration, this will be slow and consume about 70% of a 1.8GHz cpu. 
On the other hand, with hw acceleration (most X servers and Windows drivers), scrollamount=1 will be ok and CPU will stay below 5-7%.
Regards,
Silvio
QA Contact: general → layout
We have a Web compatibility issue related to this.
https://webcompat.com/issues/3551

I guess the big difference in between Blink and Gecko
```html
<marquee scrollamount="3" direction="up" height="300" bgcolor="">
```

is that changing the scrollamount="3" values changes 
* the speed of the scrolling in Blink 
* not the jump from pixel to pixel (Gecko). 

So basically it's faster in Blink not jumpier.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [webcompat]
Another instance of marquee implementation difference.
https://webcompat.com/issues/3607
Flags: webcompat?
The code used for marquee is not coming from the animation stack code in Gecko. 
It's probably not an emergency. An idea would be to reuse the code of CSS animation for making it smoother.
This bug's summary should be changed from:

"Marquee should be able to use smoothscroll code to"

to either:

"Marquee should be able to use smoothscroll code too"

or

"Marquee should be able to use smoothscroll code"
Summary: Marquee should be able to use smoothscroll code to → Marquee should be able to use smoothscroll code
Priority: -- → P3
Setting to [webcompat:p3] because this is highly visible in regions that make heavy use of marquee.
Whiteboard: [webcompat] → [webcompat:p3]
Flags: webcompat? → webcompat+
Depends on: 1425874
Using CSS animations (or Web animations) would allow this to run on the compositor.

We may or may not want to hide such animations from the animation inspector, however.

See bug 1547409. Migrating webcompat priority whiteboard tags to project flags.

Webcompat Priority: --- → P3

Smoother animation is not necessarily safer, for example ease in-out, smooth scrolling, etc. can all trigger migraines.

I use userChrome.css and userContent.css to force things into 16 pt Andika, because I find that a lot easier to read. Minimum font sizes also help with small text. Full-page zoom has to be pretty extreme to fix small text, and invariably makes larger text far too big, making it harder to navigate pages.

Whoops, replied to wrong thread.

Webcompat Priority: P3 → P2
See Also: → 597893
data:text/html,<!doctype html><marquee width="55%" scrolldelay="2" behavior="alternate">Is my scrolling janky?</marquee>

Chrome is smooth
Safari and Firefox are janky.

Webcompat Priority: P2 → P1
Whiteboard: [webcompat:p3]
Severity: normal → S3
Blocks: 1835392
Blocks: 1851399
Summary: Marquee should be able to use smoothscroll code → Marquee should be able to animate smoothly (either via smooth scrolling or transform animations)
See Also: → 1879534
Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0506d9964b32
Use transform animations to implement marquee. r=smaug,firefox-animation-reviewers,boris
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/45618 for changes under testing/web-platform/tests

Backed out for causing reftests failures in 371466-1.xhtml and mochitests failures in test_memoryReporters.xhtml.


Flags: needinfo?(emilio)
Upstream PR was closed without merging
Component: Layout → DOM: Core & HTML
Flags: needinfo?(emilio)
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c5dcab43fa40
Use transform animations to implement marquee. r=smaug,firefox-animation-reviewers,boris
Status: ASSIGNED → RESOLVED
Closed: 8 days ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch
Duplicate of this bug: 1851399
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: