Can we place `<img>` inside `<h1>` according to web standards?

W3cWeb StandardsXhtml 1.0-StrictXhtml

W3c Problem Overview


Can we place <img> inside <h1> according to web standards? like this

<h1> Demo text <img src="anyimage.jpg"/> </h1>

W3c Solutions


Solution 1 - W3c

Yes, you can - the DTD says:

<!ELEMENT h1  %Inline;>
<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
<!ENTITY % special "%special.pre; | object | img ">

That basically means h1 can contain %Inline, which is made of various things, including img

Solution 2 - W3c

Look who is using it: http://www.w3.org/

<h1 class="logo"><a tabindex="2" accesskey="1" href="/"><img src="/2008/site/images/logo-w3c-mobile-lg" width="90" height="53" alt="W3C" /></a> <span class="alt-logo">W3C</span></h1>

Solution 3 - W3c

Yes, this is allowed. But don’t forget to set the alt attribute on the img!

Solution 4 - W3c

Yes and no.

You can place an image inside an h1 element, but not quite like that … the alt attribute is mandatory.

Solution 5 - W3c

To summarize the other answers, it is W3C valid to use an <img> inside an <h1>.

Though to be completly valid you should add an alt attribute to your image, because it's mandatory. This attribute doesn't need to contain text. It's better letting it empty than repeating what is already written in the h1 tag.

In your case if the image is purely decorative it should be:

<h1>Demo text <img src="anyimage.jpg" alt=""/></h1>

More info on text alternatives for decorative images: https://www.w3.org/WAI/tutorials/images/decorative/

If the image has a particular meaning or contains a text different than the one in the h1, then use an appropriate alternative.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJitendra VyasView Question on Stackoverflow
Solution 1 - W3cGregView Answer on Stackoverflow
Solution 2 - W3cMaxView Answer on Stackoverflow
Solution 3 - W3cigorView Answer on Stackoverflow
Solution 4 - W3cQuentinView Answer on Stackoverflow
Solution 5 - W3cneiyaView Answer on Stackoverflow