Hacker News new | ask | show | jobs
by yyyk 2514 days ago
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...

3 comments

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)