This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The spec says about <object>: ]] At least one of either the data attribute or the type attribute must be present [[ However, HTML4 doesn't make it a requirement that OBJECT has either @data or @type. The usecases for omitting them can be * It can be used to solve some incompatibility problems in some legacy browsers (versions of IE) * <object> can be used as a container of a "mark-up object". * there are some plug-ins that can be used without either @data or @type (they use <param> instead. * I believe there are many pages without either. I can "become valid" by doing <object data>content</object>. However it seems meaningless to add the string " data" just to stay valid.
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: > * It can be used to solve some incompatibility problems in some legacy browsers > (versions of IE) There are surely better solutions to these problems. > * <object> can be used as a container of a "mark-up object". What is a "mark-up object"? > * there are some plug-ins that can be used without either @data or @type (they > use <param> instead. Which ones? How does the UA know which plugin to start? > * I believe there are many pages without either. Do you have any data on this? I haven't seen such data. > I can "become valid" by doing <object data>content</object>. However it seems > meaningless to add the string " data" just to stay valid. That would be invalid actually.
Reply to comment #1 From Ian 'Hixie' Hickson 2010-04-13 01:10:14 ------- Status: Rejected Change Description: no spec change Rationale: >> * It can be used to solve some incompatibility problems in some legacy browsers >> (versions of IE) > >There are surely better solutions to these problems. No, there aren't better solutions. (Since you don't ask, then I don't feel obligued to answer any more than this.) >> * <object> can be used as a container of a "mark-up object". > >What is a "mark-up object"? Why did you reject if you did not know? By mark-up object I mean an object element which acts as a container element for other elements (excluding <param> elements which belongs to the object itself). >> * there are some plug-ins that can be used without either @data or @type (they >> use <param> instead. > >Which ones? How does the UA know which plugin to start? Webkit seems to be able to use <param> instead of @type and/or @data. And Opera has a very agressive attitude - it works with almost anything, last I checked. >> * I believe there are many pages without either. > >Do you have any data on this? I haven't seen such data. For the moment I cannot provide any documentation. >> I can "become valid" by doing <object data>content</object>. However it seems >> meaningless to add the string " data" just to stay valid. > > That would be invalid actually. How should I interpret this? There is a @data attribute present, so I can' see how it can be invalid. Please explain. Validator.nu has the same interpretation as I have in this case.
>>> * It can be used to solve some incompatibility problems in some legacy browsers >>> (versions of IE) >> >>There are surely better solutions to these problems. > >No, there aren't better solutions OK, I'll explain. Even if I expect that you will be dismissive, as usual. The incompatibilities with IE that I have in mind are related to the OBJECT itself. E.g. if you do this: <object data=* type=*> <object data=* type=* > </object> </object> then some versions of IE will treat the above as <object data=* type=* ></object> <object data=* type=* ></object> Knowledge about this behaviour can e.g. be used to work around the bugs that IE has in how it treats image maps whenever <object> is used as the image container. (IE doesn't accept when the <map> element is directly inside the <object>, but through use of its malbehaviour, one can plase it there anyhow.)
Let's see if I can summarise your long responses into something coherent and short. You believe the use cases for allowing a semantic-free <object> are: * Some versions of IE misparse nested <object>s that have these attributes. * It would allow <object> to be used instead of <span>. * It would allow authors to use a WebKit bug. Examining these in turn: * Some versions of IE misparse nested <object>s that have these attributes. Can you provide some actual examples of real pages that need this <object> hack to work right in IE and where the bugs can't be worked around any other way? * It would allow <object> to be used instead of <span>. Just use <span>. * It would allow authors to use a WebKit bug. Please file a bug with WebKit. 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 marking this "Did Not Understand Request" because of the request for further information regarding the IE bug, which is the only remaining use case that might be a reason to allow this.
(In reply to comment #4) > Let's see if I can summarise your long responses into something coherent and short. Don't compare me with those you are in contact with on IRC day in and day out. If i were in their shoes, I would of coruse have expressed myself more understated, since almost everything would have been said in advance. [...] > * Some versions of IE misparse nested <object>s that have these attributes. > > Can you provide some actual examples of real pages that need this <object> hack > to work right in IE and where the bugs can't be worked around any other way? What are "real" pages? What is you definition of "need"? Should I have used my time on developing and sprading the techniques I have in mind instead of paying attention ot this working group and indeed to HTML5? I have made some use of this hack myself. But I don't want to link to my private business in this bug. When you speak about "any other way", do you then mean the proprietary "conditional comments"? I believe that anything that is possible to do via conditional comments should also be possible in HTML direclty, if it doesn't create problems. Clearly, any hack relating to this IE bug, is also possible to solve via conditional comments. But conditional commenst aren't always necessary to use. There are hundred of millions of solutions which serve one OBJECT to IE and andother to other IEs. Why not support a valid way to do the same? > * It would allow <object> to be used instead of <span>. > > Just use <span>. Different content model. OBJECT can contain the things that I want: TABLE, P, DIV, whatever. SPAN can not. Thus SPAN is not an option. It is quite far fetches to bring in SPAN here - no relevace what so ever. SPAN is however related to the IE bug issues. EXAMPLE. If you want to do this: <p>Embedding a small text in this paragrap: <object><p>Line 1.<p>Line 2.</object> </p> then IE doesn't sees it as if a P i a child of a P, and simply rejects to render the content of the OBJECT. Whereas if you do this, then it works, in IE version 6: <p>Embedding a small text in this paragrap: <object><object></object><p>Line 1.<p>Line 2.</object> </p> Later versions of IE treats OBJECT differently and thus requires the conditional comments. <p>Foo <object><![if ie]></object><![end if]> <p>Bar.</p><p>Bas.</p> </object> </p> But for the icing of the cake, we need to use a SPAN around the OBJECT (or perhaps a DIV inside the object): <p>Foo <span> <object><![if ie]></object><![end if]> <p>Bar.</p><p>Bas.</p> </object> </span> </p> So, using <span> instead? No. Not unless you change the content model of <span>. I see no signs of that. > * It would allow authors to use a WebKit bug. I would have to think before I could claim that Webkit is related to this bug. I only mentioned it because you asked about user agent examples. > Status: Did Not Understand Request > Change Description: no spec change > Rationale: I'm marking this "Did Not Understand Request" because of the request > for further information regarding the IE bug, which is the only remaining use > case that might be a reason to allow this. 1. I find it interesting that you are positive towards a IE targeting bug, while recently were rejecting a Mozilla focused bug. 2. The option to be able to hack Internet Explorer (at least version 6) without using conditional comments is a bonus. 3. The "only remaing" - or the real issue - in this bug report is actually what you referred to as "use span instead". E.g. this allows us to embed a <figure> element inline - by placing it inside a <object>.
If <figure> is permitted used inside <p> elements - bug 10589, then I consider that this bug can be solved as a WONTFIX. Allowing <figure> inside <p> would mean that it would be necessary to wrap the <figure> inside an <object> (as permitted in HTML4) in order to create an inline figure.
(In reply to comment #2) > Reply to comment #1 From Ian 'Hixie' Hickson 2010-04-13 01:10:14 ------- > >> * there are some plug-ins that can be used without either @data or @type (they > >> use <param> instead. > > > >Which ones? How does the UA know which plugin to start? > > Webkit seems to be able to use <param> instead of @type and/or @data. And Opera > has a very agressive attitude - it works with almost anything, last I checked. With <object>, Opera invents @data in many situations for compatibility (especially for pages where Opera ends up getting IE-only code/markup because of bad browser detection). For example: <object> <param name="filename" value="file.wmv"> </object> becomes: <object data="file.wmv"> <param name="filename" value="file.wmv"> </object> Opera does all kinds of magic with <object>. However, that doesn't seem to be necessary for all browsers, just Opera right now with its market share and it be lucky enough to be hit by bad browser detection.
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: I am not convinced there are use cases here. I maintain that the stated requirement is a sensible one.
The bug-triage sub-team doesn't think this bug is task force priority. If Leif disagrees with the editor's decision he can either reopen or escalate the bug.
Adding TrackerRequest. This TrackerRequest is part of the trackerrequest that I issued for Bug 9657.
http://www.w3.org/html/wg/tracker/issues/158