HTML5 semantic elements work in Chrome 26+, Edge 12+, Firefox 21+, Safari 6.1+, iOS 7+, Opera 15+, Samsung Internet 4+, and Android Browser 4.4+. Per-browser support, the full tag list, benefits, polyfill for old IE, and known issues.

Prince Dewani
May 6, 2026
HTML5 semantic elements are HTML tags from the WHATWG that describe the meaning of page sections, such as header, nav, main, article, section, aside, and footer. They work by default in Chrome 26+, Edge 12+, Firefox 21+, Safari 6.1+, iOS 7+, Opera 15+, Samsung Internet 4+, and Android Browser 4.4+, while Internet Explorer 9 to 11 needed a polyfill.
This guide covers what HTML5 semantic elements are, the browsers that support them, the tag list, benefits, polyfills, and known issues.
HTML5 semantic elements are HTML tags whose names describe the role of the content they wrap. The WHATWG defines them in the HTML Living Standard. The set added in HTML5 includes header, nav, main, section, article, aside, footer, figure, figcaption, details, summary, mark, and time.
Every modern browser supports HTML5 semantic elements by default. Internet Explorer 9 to 11 parse the tags but apply no default styling, and IE 5.5 to 8 ignored unknown elements entirely.
Chrome supports HTML5 semantic elements by default from Chrome 26 on, on Windows, macOS, Linux, ChromeOS, and Android. Chrome 4 to 25 parsed the tags but did not apply the default block-level styling that newer versions ship with.
Microsoft Edge supports HTML5 semantic elements by default from Edge 12 on. Both the original EdgeHTML engine and the Chromium-based Edge from Edge 79 give the tags their full default styling.
Firefox supports HTML5 semantic elements by default from Firefox 21 on, on Windows, macOS, Linux, and Android. Firefox 3 to 20 parsed the tags but did not apply the default block-level styling. Firefox 2 did not parse them at all.
Safari supports HTML5 semantic elements by default from Safari 6.1 on macOS and from iOS 7 on iPhone and iPad. Safari 3.1 to 6 on macOS and iOS 3.2 to 6.1 parsed the tags but did not apply the default block-level styling.
Opera supports HTML5 semantic elements by default from Opera 15 on desktop, the first Chromium-based Opera. Opera 9 to 12.1 parsed the tags but did not apply default styling. Opera Mobile supports them by default from Opera Mobile 80 on; Opera Mobile 10 to 12.1 styled them only with a CSS reset.
Samsung Internet supports HTML5 semantic elements by default in every shipped version, from Samsung Internet 4 on. There is no flag, no version range that needs a polyfill, and no per-tag gap.
The legacy stock Android Browser supports HTML5 semantic elements by default from Android Browser 4.4 on. Android Browser 2.1 to 4.3 parsed the tags but did not apply the default block-level styling, so a CSS reset was required for layout.
Internet Explorer 9 to 11 parse HTML5 semantic tags but apply no default styling, so each tag has to be set to display block in CSS for the page to lay out. IE 5.5 to 8 do not parse unknown elements at all, so the tags are ignored unless the page loads the html5shiv polyfill in the head. Microsoft has retired Internet Explorer.
Note: HTML5 semantic elements still break in legacy Internet Explorer and old Android Browser builds. Test them on real browsers and OS with TestMu AI. Try TestMu AI free!
HTML5 added a fixed set of semantic tags to the HTML Living Standard. Each tag names the role of the content it wraps, so browsers, screen readers, and search engines can map page structure without guessing.
HTML5 semantic tags pay off in three places at once: accessibility, SEO, and code maintainability. Each one shows up directly in production work.
Two old-browser problems show up in production: tags that parse but render inline, and tags that the engine refuses to parse at all. Each one has a fixed remedy.
article, aside, details, figcaption, figure, footer, header, main, nav, section { display: block; }. This restores layout on Internet Explorer 9 to 11, Firefox 3 to 20, Safari 3.1 to 6, Opera 9 to 12.1, and Android Browser 2.1 to 4.3.<!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script><![endif]-->. The script calls document.createElement for every HTML5 tag so old Trident parses and styles them.Most teams now drop support for IE entirely and ship only the CSS reset, since browser-tracker data shows IE share at well under 0.5% of global traffic.
The tags themselves ship in every modern browser, but the way each browser exposes them to assistive tech, layout engines, and outline algorithms still differs. Here is what to watch for and how to handle each one.
details[open] > summary::before rather than the WebKit-only marker pseudo-element.All HTML5 semantic version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance