<article>, <section>, <nav>, and <aside> to describe the role of content, not just its appearance. This improves accessibility, SEO, and code readability.
An interactive tour of native browser capabilities — no frameworks, no build step.
HTML5 semantic elements give your markup meaning beyond <div> soup. Hover over each region to see which tag it represents.
HTML provides dozens of input types with built-in validation, date pickers, sliders, color pickers — all without JavaScript.
Collapsible content with zero JavaScript — just native <details> and <summary>.
<article>, <section>, <nav>, and <aside> to describe the role of content, not just its appearance. This improves accessibility, SEO, and code readability.
<summary> element, remove the default marker, add transitions, and create accordion-style interfaces entirely without JavaScript. The [open] attribute lets you target the expanded state.
<details> as a disclosure widget. Users can toggle it with Enter or Space. The expanded/collapsed state is communicated automatically, making it a great accessible pattern out of the box.
open attribute to <details> makes it expanded by default. Users can still collapse it. This is useful for showing important content that people can dismiss.
The <dialog> element provides a native modal with backdrop, focus trapping, and escape-to-close — built into the browser.
Popover API
This uses the new popover attribute — no JS event listeners needed. Click anywhere outside to dismiss.
Native <audio>, <video>, and responsive <picture> elements handle media without plugins.
Built-in play/pause, volume, seek, and download — with the controls attribute.
<picture> lets you serve different images by viewport, format, or resolution.
One attribute: loading="lazy". The browser handles the rest.
Native HTML tables with semantic <thead>, <tbody>, <tfoot>, and sortable columns via JavaScript.
| Element ↕ | Category ↕ | Status ↕ | Since |
|---|---|---|---|
<dialog> | Interactive | Stable | HTML5.2 |
<details> | Disclosure | Stable | HTML5 |
<picture> | Media | Stable | HTML5 |
<datalist> | Forms | Stable | HTML5 |
[popover] | Interactive | New | 2023 |
<search> | Semantic | New | 2023 |
The <canvas> element gives you a pixel-level drawing surface. Draw, paint, and animate with the 2D context API.
HTML5 Drag and Drop API — no library required. Drag items between columns to reorder.
SVG lives directly in your markup — scalable, styleable with CSS, and animatable. Hover over the shapes.
<progress> for task completion, <meter> for scalar measurements. Both semantic and accessible.