This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Section: http://www.whatwg.org/specs/web-apps/current-work/#the-marquee-element Comment: As far as I can tell, no browser but IE actually implements half of these weird marquee properties. Firefox 4.0b3 and Chrome dev don't implement behavior, bgColor, direction, height, scrollAmount, scrollDelay, trueSpeed, or width. Opera 10.60 doesn't implement bgColor or trueSpeed, and implements scrollAmount, scrollDelay, height, and width different from the spec says. Only IE implements all of them at all, and most seem to differ from what the spec says. I doubt Gecko or WebKit will want to implement these, so how about removing them? Posted from: 68.175.61.233
The content attributes work across browsers?
Sample: data:text/html,<!doctype html> <marquee direction=up>Hello</marquee> <script> var el = document.createElement("marquee"); el.setAttribute("direction", "up"); alert(el.direction); </script> In Chrome dev, recentish Firefox mozilla-central, and Opera 10.60, the direction=up effect works, but Chrome and Firefox alert "undefined" (Opera alerts "up"). So it seems like at least some of the content attributes work without corresponding IDL attributes being defined. More comprehensive survey of IDL attribute support: data:text/html,<!doctype html> <script> var span = document.createElement("span"); var attrs = []; for (var attr in document.createElement("marquee")) { if ( !(attr in span) ) { attrs.push(attr); } } alert(attrs.join(" ")); </script> * IE8: bgColor vspace direction height behavior width loop scrollAmount trueSpeed scrollDelay onfinish onbounce onstart hspace * Recent Firefox mozilla-central build: align * Chrome dev: start stop * Safari 5: start stop * Opera 10.60: behavior direction height hspace loop scrollAmount scrollDelay vspace width start stop The intersection of any *two* of Trident, Gecko, and WebKit is apparently zero IDL attributes, so I expect they could all safely be removed from a web compat perspective. This makes <marquee> weirder (content attributes that work with no corresponding IDL attributes), but it's surely easier to reach compat by removing useless stuff than by trying to make <marquee> saner, even if it makes an obsolete part of the platform that much less logical.
(In reply to comment #2) > * Recent Firefox mozilla-central build: align For reference, this is because document.createElement("marquee") is an HTMLDivElement.
Gecko actually supports: _behavior _direction _doMove _fireEvent _loop _onbounce _onfinish _onstart _scrollAmount _scrollDelay _setEventListener _set_behavior _set_direction _set_loop _set_scrollAmount _set_scrollDelay align behavior direction dirsign height init innerDiv loop newPosition onbounce onfinish onstart originalHeight outerDiv runId scrollAmount scrollDelay start startAt startNewDirection stop stopAt trueSpeed width It's just that you have to give it time to apply the XBL binding: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/656 EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document: http://dev.w3.org/html5/decision-policy/decision-policy.html Status: Did Not Understand Request Change Description: no spec change Rationale: I'm happy to change this, but I don't think removing them all is the way to go (at least Opera, Gecko, and IE have a lot in common, even if they don't all match the spec). More data is probably needed to determine exactly what is needed here, though.
So new data: * IE8: behavior bgColor direction height hspace loop onbounce onfinish onstart scrollAmount scrollDelay trueSpeed vspace width * Gecko: align behavior direction dirsign height init innerDiv loop newPosition onbounce onfinish onstart originalHeight outerDiv runId scrollAmount scrollDelay start startAt startNewDirection stop stopAt trueSpeed width * WebKit: start stop * Opera: behavior direction height hspace loop scrollAmount scrollDelay vspace width start stop Analysis of specced attributes: * start, stop: Supported by everyone * behavior, direction, height, loop, scrollAmount, scrollDelay, width: Supported by everyone but WebKit * trueSpeed, onbounce, onfinish, onstart: Supported by Trident and Gecko but not Opera * hspace, vspace: IE/Opera only, definitely drop from spec * bgColor: IE only, definitely drop from spec So that's three we should be able to drop for sure: hspace, vspace, and bgColor aren't supported by Gecko *or* WebKit. WebKit appears to really not support all the stuff it doesn't support, e.g.: data:text/html,<!doctype html> <body onload="document.getElementsByTagName('marquee')[0].direction = 'up'"> <marquee>Hello!</marquee> works in Opera and Firefox but not Chrome, although data:text/html,<!doctype html><marquee direction=up>Hello!</marquee> works in all three. Also see their IDL: http://trac.webkit.org/browser/trunk/WebCore/html/HTMLMarqueeElement.idl I'm trying to poke some WebKit people about whether they want to implement the remaining attributes; if they've seen no compat issues, it's probably safe to drop everything but start/stop from the spec. I don't see any bugs filed in WebKit's Bugzilla: https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=marquee But at least bgColor/hspace/vspace can be removed.
Given how cheap these are, is there a compelling reason to move away from IE here? I mean, I don't really mind, I'd be happy to drop the whole thing, but if it gets us compat with one more site, what's the harm?
My idea was the less IDL clutter the better. But that really only applies to conforming elements. (I.e. not supporting leftMargin on <body>.) For <marquee> I suppose IDL clutter does not matter. The cost is in supporting any of its content attributes.
I don't really care, as long as we have something everyone is willing to converge on. I don't know how many of the unsupported IDL attributes actually represent unsupported content attributes too, though, so it's possible some of these features would be not entirely trivial to add support for.
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document: http://dev.w3.org/html5/decision-policy/decision-policy.html Status: Rejected Change Description: no spec change Rationale: Ok. I'm going to punt on this for now. Let's revisit it when we have test suites and there's momentum behind getting a bunch of browsers to 100% compliance. If we remove things, it means some browsers will have to remove them as well, don't forget. So either way browsers will have to change. I think we'll get the least resistance here to adding features, at least if they're just IDL reflection.
Looks like WebKit agrees with you, since they apparently just implemented all this stuff per spec: https://bugs.webkit.org/show_bug.cgi?id=49786