I disagree. A switch to <img> for SVG export (1) is not necessary for scaling, and (2) would disable other useful features that are presently available out of the box.
(1) It *is* a bit easier to scale SVG with <img> in HTML. But you *can* scale SVG with <object> by putting the <object> in a container <div> and scaling the container width and height. This is actually simple with Org, which natively wraps the <object> in a <div class="figure"> tag, and passes any attributes to the latter. To scale an arbitrary image.svg e.g. to 100px width, try: #+attr_html: :width 100px [[path/to/image.svg]] Alternatively, you can use #+attr_html to set an id on the figure <div>, and style it with CSS. (2) You can also do other things with <object> that you cannot with <img>, like manipulating the SVG with Javascript and styling it with an external stylesheet (linked from the SVG, not the web page). Raw SVG in the exported HTML is a third option that is very plain-texty and supports all the mentioned features, but it tends to bloat files, and doesn't encourage caching and re-using of an image across web pages. To sum up, <img> makes the most common task simpler (scaling the graphic), but at the cost of features such as interactive animated graphics, which are possible with <object> or SVG islands. Yours, Christian Scott Randby writes: > On 07/23/2016 08:53 AM, Jarmo Hurri wrote: >> >> Greetings. >> >> Request: An SVG file embedded in exported HTML should be embedded using >> the <img> tag instead of <object>. > > I second this request. Right now, I use HTML code for SVG images, and > I'd rather use Org markup instead. > > Scott Randby > >> >> Short reasoning: The displayed size of the SVG image can not be >> controlled from outside the SVG file when embedded using <object>, but >> size can be controlled when embedded using <img>. >> >> Here is the longer explanation. >> >> The HTML exporter currently embeds SVG as an object. Here is an example >> of the HTML produced by the exporter: >> >> <div class="figure"> >> <p><object type="image/svg+xml" data="kolmio-nelio.svg" > >> Sorry, your browser does not support SVG.</object> >> </p> >> </div> >> >> I have in the past couple of days found out that there is a serious >> disadvantage to this: the displayed size of the resulting web page image >> can not be controlled in any reasonable manner; see, for example >> >> https://css-tricks.com/scale-svg/ >> >> However, the size _can_ be controlled if embedding is done with an >> <img>. For example, the exported code above could be >> >> <div class="figure"> >> <img class="org-svg" src="kolmio-nelio.svg"> >> </div> >> >> I have included 'class="org-svg"' above so that embedded SVG images can >> then be distinguished from other images in CSS files. For example, the >> following CSS then sets the width of SVG images to be 80% of the width >> of the viewport. >> >> .org-svg >> { >> width: 80vw; >> } >> >> Current embedding using <object> has a nice textual fallback property >> for browsers not capable of SVG (I have no idea if this support is >> necessary nowadays). If need be, such fallback could also be added to >> embedding using <img>. See >> >> http://www.w3schools.com/jsref/event_onerror.asp >> >> Jarmo >> >> >>