Hacker News new | past | comments | ask | show | jobs | submit login
Marquee HTML Element (developer.mozilla.org)
35 points by zachsherman 76 days ago | hide | past | web | favorite | 29 comments

There isn't a good argument for considering marquee deprecated anymore. Not when a <toast> element is being considered[0]. So I'd use it whenever I want a marquee.

After all, <marquee> and <toast> are both shorthands for stuff that could be implemented in CSS/JS - except marquee is well supported, well specified, and more semantically different than other elements compared to <toast> (which is pretty similar to <dialog> and arguably <output>[1]).

[0] https://github.com/jackbsteinberg/std-toast

[1] https://www.scottohara.me/blog/2019/07/10/the-output-element...

Except that I haven't seen a marquee used on a web page anywhere in years. Except in incredibly specific contexts (like a long title in a music player app), it's generally considered bad UX design.

Whereas toasts are everywhere, a common, useful, established and recommended UX design pattern. So it's a genuine convenience to developers for browsers to provide it, in the same way browsers provide buttons, combo boxes, and date pickers. (Even though all of those also can be, and sometimes are, implemented in JS.)

The "good argument" to me boils down to use and convenience, and removing cruft.

Well, a marquee (not necessarily the HTML element per se but the design element) is often used on news sites/forums, at least amongst those I visit currently - it's used there as a news ticker.

I could go on and argue that it's far more common than a toast (which I barely see at all. Than again I don't like PWAs and try to avoid browsing from mobile when I can). But the sites I visit are not remotely representative at all, so I could well be wrong. I guess the sites you visit are also not remotely representative.

IMHO, The fact that <marquee> was added and supported for so long (despite 'deprecation') is the best indication there's some demand for it, a better indicator than our browsing habits. Marquee is definitely more distinctive than <toast> is from other elements and better supported. So IMHO there's a much better case for including it compared to <toast>.

P.S. The browser provided date pickers are so poorly designed and inconsistent I wish they didn't provide them at all. It's something I always override when I have time to do it.

marquee is a presentational HTML element and for that reason should probably still be forever-deprecated, but CSS should be improved to provide equivalent functionality. I think CSS animations can maybe do something similar but it's not as easy as it should be…

That's a consistent and reasoned argument, and also the one advanced at the turn of the century to deprecate <marquee>.

I'd have agreed with you, had the standard kept this approach. But it's obviously not the direction the committees are going for, not anymore. It seems we're going to add more and more presentational elements. I can't think of single argument for including <toast> that doesn't apply at least as well for <marquee> (and the same criticism should have applied to <toast> too).

So maybe we can just stop the charade and agree to not deprecate presentational HTML. Obviously we don't mean it anymore.

> I can't think of single argument for including <toast> that doesn't apply at least as well for <marquee> (and the same criticism should have applied to <toast> too).

People browse the Internet on phones, where toasts require complex and evolving presentation and marquees do not.

You're comparing apples to oranges, marquees v. toasts. A toast is more like an audio or video tag on a mobile device. <dialog> was an example another commenter gave but missed the point completely: modals and dialogs are nuts on mobile devices!

It's about browsers taking more ownership of presentation on devices people actually use.

According to the github page, we do not get to use some system support thingy where the browser takes the toast and displays it elsewhere. The webdesigner still needs to roughly indicate where it's displayed in the page (the choices range from 'top-left' to 'bottom-right').

Unless there's something I've missed, I don't see how that's too different than adroit use of 'position', 'left' etc.

Toasts have common semantics: they are responses to user behavior, they are ephemeral, and they take precedence over the underlying content.

Marquees have no semantics beyond "more text than fits in this space".

So toasts have a positive z-index, and the display attribute changes to none after a short while? That's awfully presentational, just as much as marquee.

Note that the github defining <toast> does not use your 'response to user behaviour' definition. It says rather: "a non modal, unobtrusive window element used to display brief, auto-expiring windows of information to a user". It could be just about any information according to this definition. That's not very semantic - all what this definition refers to is presentational.

Or if we take the other (more verbose) definition: "is a small message that shows up in a box at the bottom of the screen and disappears on its own after few seconds. It is a simple feedback about an operation in which current activity remains visible and interactive".

Yes, the latter definition uses the word "feedback" in the second sentence - but nothing there says that feedback is only in response to a user initiated operation. It could just as well have been a message about some system thingy. They key part is presentational again ("small message", "box at the bottom of the screen", "disappears after a few seconds").

Should I have prefaced my own definition with "imo"? I believe that there is a common semantic core that could be encapsulated in a new element. The closest thing to a presentational demand I would include is that they be temporary.

I did not mean to be overly argumentative. I just wanted to refer to the proposal as it is. There could be a case for a somewhat different proposal like yours, say if mobile does need this and implements support. However, at the moment the proposed element is defined almost entirely by presentational demands.

The situation of <dialog> is different. Most of the modal dialog implementations don’t have focus trap which is a problem for accessibility. I’m ok with the tag in that case, the combination of aria-hidden/tabindex tweaks required to do a proper modal dialog is too hacky and bug prone. (Perhaps a better focus handling model will be much better than the tag)

In Safari, "This text will bounce" (two marquees in orthogonal directions, both with behavior="alternate") only moves left-to-right - it seems the inner marquee cancels the outer one. In Chrome it moves diagonally and bounces in both directions like an old-school screen saver.

The article doesn't clarify whether this is intended behavior, should it?

> In Safari, "This text will bounce" (two marquees in orthogonal directions, both with behavior="alternate") only moves left-to-right

Well, not for me, at least. Currently using Safari 12.1. Maybe you're using the Catalina beta with a higher Safari version?

I'm on 12.1.2 on Mojave. Weird!

Used <marquee> just a couple weeks ago to simulate a scrolling text screensaver for use as a video backdrop.

Actually used the linked page as a reference and laughed a bit at the "truespeed" attribute.

I use it when testing for XSS. It shows me where the dirty text is being added to the page and it can be very amusing when nested.

That's an interesting use indeed, do you have any examples?

Still works on iOS 13. It’s quite reassuring that after all the posturing about obsolescence and depreciations it’s still there.

Deprecation, not depreciation

Well, I guess one could make the argument that "<marquee>" isn't as valuable as it used to be. But, of course, you could also make the argument that it has the same low value that it always had. :-D

Either way I'm sure "all the posturing" was actually about deprecation.

That’s what you get for absentmindedly trusting autocomplete suggestions.

Fun fact: it works for everything inside a <marquee> tag, you can do this for your entire website in one go!

I remember when <marquee> was considered something like IE's answer to the <blink> tag. I'd like to see an article about the origin of the <marquee> tag, much like that one about the origin of the <blink>tag[0] that you see going around now and then.


Interestingly, it seems the blink tag is now totally unsupported in modern browsers, whereas marquee seems to generally work.

DVD screensaver bounce using two marquee elements. https://codepen.io/kfalencik/pen/bXYMbr

I recently used some marque elements for taking up space.

One thing I really liked about them was the 'truespeed' attribute.

I mean, name a cool sounding attribute that you use every day.. you can't.

One of those legacy features you always get a kick out of looking back. I could see some cases where you could use that still though!

For all the haters out there I'm replacing every text tag on with this from here on out

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact