- From: Henri Sivonen <hsivonen@iki.fi>
- Date: Tue, 25 Apr 2006 13:43:36 +0300
The party line has been that the embed element is badly designed and evil and needs to be replaced with the object element. Yet, for compatibility, tools keep generating embed as a child of object and practically-oriented guides suggest it. According to http://weblogs.macromedia.com/accessibility/archives/2005/08/ in_search_of_a.cfm the default embedding markup emitted by Flash is the most compatible across browsers and screen readers and does not require JavaScript. (Apparently, the Gecko plug-in folks *still* insist on ignoring objects with MS-style classids instead of special-casing the common ones and mapping them to Netscape-style plug-ins or even using the data attribute if present. Opera at least uses the data attribute. https://bugzilla.mozilla.org/show_bug.cgi?id=106065#c1 https://bugzilla.mozilla.org/show_bug.cgi?id=46569 ) The main arguments against the embed element have been: * Not expressible in a DTD. (Non-issue for HTML5.) * Not invented at the W3C. (Non-issue for the WHAT WG.) * Lacks proper design for fallback content. I think pleasing validators or conformance checkers at the expense of browser compatibility is a bad idea here. Therefore, I suggest that the object element have an alternative content model, where the possible param elements are followed by one embed element and the embed element is optionally followed by one noembed element whose content model is what the content model of the object element would otherwise be in this context (except for params). Conforming HTML5 browsers should display the noembed element if the embed element immediately before it cannot be displayed. Whether attributes allowed on embed should be open-ended is a matter of taste, I guess, but at least their datatypes and IDness should not conflict with common attrs and they should be sufficient for the usual suspects (Flash, QuickTime, etc.). -- Henri Sivonen hsivonen at iki.fi http://hsivonen.iki.fi/
Received on Tuesday, 25 April 2006 03:43:36 UTC