10 HTML Elements You Didn't Know You Needed

Emma Wedekind ✨ on March 18, 2019

I’ve heard the sentiment “HTML is easy” more times than I can count. And while I would agree that HTML is perhaps easier to learn than other prog... [Read Full]
markdown guide

Awesome Emma, thank you! I would like to add one of my favorites:

      <summary>Click To Open</summary>
      Hey, im natively collapsable. My content remains hidden till you click on Summary.

Great article Emma, I would just have liked to see what the html elements look like, side by side with the code. This is just my preference though !

I learnt a lot, a I must admit I didn't know most of the tags you have presented. Thanks !


I thought about adding that as well! Maybe I'll edit ;)


This would definetly add to the already high quality of the article, i found myself typing most of these into an online editor to check what they look like :D


Thank you Emma. How I wish I could receive tutorial from an expert like you. I wish it could be possible


HTML is easy, but you're right, there are a ton of useful tags out there that people aren't aware of. The <picture> tag is one I've never known about and it sounds like a very useful way to handle images in a responsive web page.

And HTML does start getting complex when you start thinking in terms of semantics and accessibility.


Yes, a few people focus on semantics and accessibility. So, they say HTML is easy.


Thanks for sharing! One thing to note though is that if you have to support older browsers like Internet Explorer, some of these tags are not supported there.

  • output
  • picture
  • meter
  • template
  • time

Edit: Instead of avoiding these tags, you can use them as part of a progressive enhancement strategy. However that is more complicated and takes more time to test.


I think we can start forget about IE, because even Microsoft want's en it up


That would be very nice but it's still a looong way away. I just checked our numbers and IE is ~7% of our visitors. Almost all of them are IE11 which can be reasoned with somewhat. However, the numbers aren't going down at all.

Yeah, it's sad. But what if... What if just start campaign of ignoring IE?

On what grounds? The fact that developers don't like IE has almost no weight as an argument. The users with IE are not just drive-by's on the public site but they are actual paying users. In order to drop IE11 support, the percentage has to drop to a level where the cost of potentially losing them outweighs the cost of maintaining IE11 compatible code. Since we're usually not doing anything too crazy it's not a huge problem to support IE11, it's just annoying to work with when a problem occurs.

ignoring IE = ignoring users = ignoring customers = ignoring money. If you can afford it, do it, but that probably means you're running a charity.

There's a tradeoff. How much developer time does it cost to support IE, and how much revenue would you lose from not supporting it?

Or, if you are dealing with paying customers, tell them support is dropping, and tell anyone who screams and insists on the old browser that they have to pay for keeping support just for them. If they're just being ornery, they'll usually grumble and upgrade. If they are really stuck, they'll often pony up cash.


True, people who only used IE should have (at least) moved to Edge by now. There's little to no reasons as to why a user would still use IE.


So, one big thing I'd mention on this article in general is that you're using images to show the code, which isn't very accessible. It would be much better to use fenced code blocks (three backticks); for example,

<blockquote cite="http://example.com/">
    It was the best of times, it was the worst of times.

The code for the above being:

<blockquote cite="http://example.com/">
    It was the best of times, it was the worst of times.

The of the output tag blew my mind.

I still lament the deprecation of the <blink> tag.

EDIT: Ah, that's because the opening element isn't ; it's =<, which is rendered in some typefaces with the single glyph.


I noticed that too but I'm guessing it's a font like Fira Code that has ligatures in it.


Great stuff Emma. Would love to see browser support information. I know it's time-consuming to look up. I'm going to head off to MDN to look for myself, but I think the info would add something valuable to an already valuable article.


I don't have enough ♥'s. And some kind person wrote a cli client for it too: github.com/sgentle/caniuse-cmd

I also see that blockquote can have cite as a child element -- and then the citation is displayed nicely for the user. I'm definitely going to use that sometime. Thanks again for the awesome article (:


You can also write scss code and compile it to css with vendor prefixes added automatically for the browsers you tell the compiler to support, based on caniuse.com data. A lot of the new HTML5 elements can be supported with js polyfills and normalizer css too.


I know that. What a boring arti... wait... that's interesting! Wow, I didn't knew I can do that!

My thoughts reading the article. Great job! :)


Time seems it will be useful for my work. We are looking into accessablity and that seems a top contender.

Thankfully unlike someone in these comments, we are able to ignore IE and have stated you are REQUIRED to have a modern browser.


I would avoid using the picture element in 2019. It's mostly a remanent from the first responsive images implementation. img now also has access to easier srcset and sizes attributes and has a smaller footprint. See ericportis.com/posts/2014/srcset-s... , especially part 2.


Yeah, came here to say the same thing – img srcset is supported everywhere, already gives you correct fallback "for free" (since you still declare a src attribute for that purpose), and provides all of the CSS query selector stuff in a much more compact, easily-parsed and easily-generated format. For example, the article's code would be captured as <img src="img_kitten.jpg" alt="Kitten" srcset="img_cat_fat.jpg 650w, img_cat_fluffy.jpg 465w">


What do you think is the difference between using <picture> versus <figure> for images and their captions? I've been using <figure> but now I'm reconsidering whether I should have been using <picture> instead this whole time 🤔


Great article ! Thanks for the work and sharing =)

I am curious about one thing, with the tag picture, does that load every image on the first load of the page, or only the one needed according the media query ?


Thanks! Always good to get reminded of the variety of HTML tags.
I recommend checking this website out for a nice overview of all HTML tags:


Loved wbr tag! Never knew about that. So useful!


template IS WRONG! appending a template is inconsequential. template.content is what you want to "append. Template is just a declarative way to create a documentFragment. THEORETICALLY correct. But net result is zero. developer.mozilla.org/en-US/docs/W...


Lol well you could've been a little nicer about it..


What did I say that was false? I contribute to open source daily. And when you're wrong they tell you you're wrong. No malice. Just truth. If I didn't explain or show HOW to correct the wrong. THEN i'm an asshole. Do remember intent rarely plays out well in comment section.

No good deed goes left unpunished... ¯_(ツ)_/¯

Perhaps shouldn't have used caps in retrospect? I'll take accountability for that.
Enjoy your Sunday Emma :-)

You can be honest and still have good manners. It's not that difficult.


Awesome post. It is a great reminder of what can be done with purely HTML. I think that sometimes many (including myself) get caught up with how to implement things using Javascript that we can forget what HTML is capable of doing on its own and that we don’t have to over complicate things.


Seems the rendering of the needs improvement in Firefox for Android. I had no idea it was a scroll bar.

This is how it was rendered: thepracticaldev.s3.amazonaws.com/i...


I have always thought that audio and video are well known and blockquote too but I guess it's all relative? The others have rare but valid use cases. A11y will benefit from the above in proper usages, thanks for sharing.


What a great read. Will definitely try out and use these elements!


Thanks for this Emma, picture and wbr may come in handy in particular.


I don't think I can add the picture example on CodePen because I can't upload a local picture


No worries, just making me aware of the tag is good enough for me :)

Thanks again!


so handy--i'm diving into rails and catching up on html as i go, and this is super-helpful!


Can I reprint the translation into Chinese and share it with Chinese developers?
I will point out the source and author.


Thanks Emma, nice post. I only knew about a couple of these before :)


Out of 10 tags I had used only

Blockquote tag
that to while commenting on your 6 tips for productivity article 😁😁😁

Like many here, I'll definitely be keeping that wbr tag in mind. It could have saved from a lot of past headaches!


I would mention <dialog>, although its support isn't great. I have an article brewing about it 🤫😄


Thanks! There are few of these that I never heard of - time to experiment!


Thanks, Emma. Some really useful info on lesser known tags there. Good article.


Thanx for all these tags) and personally, would be thankful if you'll tell more about


Browser support next to each html element would be great


Thanks for the article! Always important to be as semantic as possible


This is great.
I'm excited about the prospect of doing some art directed cropping with the <picture> element, but it does open up a can of worms when it comes to CMS or dynamic data sources.


This is great! Don’t know how I’ve missed the output tag as I find my self having all these outputs in my prototypes and I just place them in paragraphs or divisions. No more 😆


Totally didn't know some of these existed. The progress and output tags were the most interesting to learn about.


Great article!

Another lesser known element I discovered a bit ago is the
Super simple way to make a pure html "accordion" of sorts


Thank you for the good article. , , , , and are new to me.


Great article! I have been working with HTML for so many years and several of these were news to me. I really appreciate the side-by-side CodePen examples too.


Really cool ... I didn't know about the template tag. Will definitely use it in my next code. Thank you.



I hope to get your consent to translate and shared with Chinese developers, I will indicate the source and author.


there are still many that I don't know about HTML :D hahaha


Hmm... renders much prettier than on my browser.


This is awesome
Thanks for sharing

I love how you included an image of the code for mobile users ❤️ (accessibility for everyone)


amazed , with the break tag . and the progress tag ;)


didn't knew html has some pretty cool stuff to. and most of them I never used.


Oh man... template, output and wbr. My new toys to play with


Thanks for this. Didn't know wbr existed :)


I will definitely try to use these tags next time, thanks for sharing.


Oh shoot.. I copied the wrong examples from my notes. I have updated them all and included a link to W3 schools in the intro :) Thanks!

code of conduct - report abuse