# HTML5 Browser Support: A Developer's Guide
While modern web browsers natively support HTML5, you may occasionally need to ensure compatibility with legacy browsers. This guide explains how browsers handle unrecognized elements, how to define HTML5 semantic elements as block-level elements, how to register custom elements, and how to resolve rendering issues in legacy versions of Internet Explorer (IE8 and earlier).
---
## Understanding Browser Support for HTML5
All modern browsers support the HTML5 standard. Furthermore, both legacy and modern browsers automatically treat unrecognized HTML elements as **inline elements**.
Because of this behavior, you can "teach" older browsers to handle and style "unknown" or custom HTML elements.
> **Note:** With the correct techniques, you can even teach legacy browsers like Internet Explorer 6 (released with Windows XP in 2001) to recognize and style custom or unrecognized HTML elements.
---
## Defining HTML5 Elements as Block Elements
HTML5 introduced several new **semantic** elements, such as ``, ``, ``, and `