SVG wrapped in an <img>
HTML tag is now supported across all browsers: http://caniuse.com/svg-img
The use of an <object>
tag causes problems for some downstream users. Example: https://github.com/github/markup/issues/264
The diff for 'test/functional/expected/standalone_rst_html4css1.html' demonstrates the old and desired new behavior
Attached is a patch to revert to wrapping SVGs in <img>
tags.
The html4css1 writer is "optimized" for IE6.
With current browsers, many of these workarounds are not required or stand in the way. This is why instead of using a tag not supported by IE6 with the HTML4transitional with CSS1 writer, I recommend applying this change to the "html4strict" writer (currently in the sandbox) and creating a new html4css2 writer based on html4strict.
Another downstream suffering from this: https://github.com/getnikola/nikola/issues/1534 .
IE6 is ANCIENT: http://caniuse.com/#feat=svg-img
The xhtml11 writer now (experimentally) uses "img" tags for SVG.
However, while generally supported by "all" major browsers,
rendering problems remain or new ones appear
(have a look at test/functional/expected/standalone_rst_xhtml11.xhtml in various browsers): truncating instead of scaling, scaling of "fixed size" images in firefox, opera and chromium. No display of embedded bitmap images in Midori 0.4.3 (webkit).
So we might need one more config setting.
Last edit: Günter Milde 2015-03-12
As both wrappers (img and object) have pros and cons, there should be a cofiguration setting or an option argument :type:. This should also allow wrapping in SVG as a third option.
See attached test file.
Last edit: Günter Milde 2015-03-12
What does IE 6 has to do with this? IE 9 was the first to support SVG at all. Or are you considering IE 6 with some SVG viewer plugin?
Exactly. At the time of implementation, the "object" tag was the only means to have IE (and others) display SVG images (IE using one of several available plug-ins).
The "html4css1" writer contains a number of hacks to accomodate the need of non-conforming browsers (namely IE6, the browser with the highest market share at the time this Docutils writer was coded).
The new "xhtml11" and "html-base" writers produce clean and valid XHTML 1.1 rsp. HTML 5 for viewing with up-to-date norm-conforming browsers aided by a provided CSS2.1 stylesheet.
These writers may benefit from a "svg-image-wrapper" option with support for "img", "object", and "svg". (Defaulting to "img")
The "html-base" and "xhtml11" writers use tags for SVG now.
The "html4css1" writer will not change the default.
A command line option or directive option for the inclusion method would be a separate feature request.