<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://web-standards.dev" xml:lang="en">
	<title>Web Standards</title>
	<subtitle>Daily web platform news</subtitle>
	<link href="https://web-standards.dev"/>
	<link href="https://web-standards.dev/feed/" rel="self"/>
	<updated>2026-04-07T12:00:00+02:00</updated>
	<id>https://web-standards.dev/</id>
	<author>
		<name>Web Standards</name>
		<email>hi@web-standards.dev</email>
	</author>
		<entry>
			<title>Getting your article shared: tips from ten years of newsletter curation</title>
			<link href="https://web-standards.dev/news/2026/04/getting-your-article-shared/"/>
			<updated>2026-04-07T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/04/getting-your-article-shared/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/04/getting-your-article-shared/cover.avif" width="1920" height="1080" alt="Article title, Cloud Four logo, a closed door with “meh” sign, and a colorful landscape with trees, mountains, a lake, and a deer just behind it."&gt;
&lt;p&gt;Scott Vandehey, who has curated front-end links for over a decade, shares practical advice on making your articles more shareable: add Open Graph tags, use a distinctive sharing image, write descriptive titles, include a concise blurb, set canonical URLs correctly, and always add a publication date.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cloudfour.com/thinks/getting-your-article-shared-tips-from-ten-years-of-newsletter-curation/&quot;&gt;cloudfour.com/thinks/getting-your-article-shared-tips-from-ten-years-of-newsletter-curation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>What is CSS containment and how can I use it?</title>
			<link href="https://web-standards.dev/news/2026/04/css-containment/"/>
			<updated>2026-04-06T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/04/css-containment/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/04/css-containment/cover.avif" width="1920" height="1080" alt="“What Is CSS Containment and How Can I Use It?” title, author’s photo, and OpenTable mobile site with DevTools showing contain: strict."&gt;
&lt;p&gt;Harry Roberts explains an underused CSS feature that lets the browser skip unnecessary layout and paint work. The article covers each contain value (&lt;code&gt;layout&lt;/code&gt;, &lt;code&gt;paint&lt;/code&gt;, &lt;code&gt;size&lt;/code&gt;, &lt;code&gt;style&lt;/code&gt;), the &lt;code&gt;content&lt;/code&gt; and &lt;code&gt;strict&lt;/code&gt; shorthands, and &lt;code&gt;content-visibility&lt;/code&gt; for lazy rendering. It includes an OpenTable example where &lt;code&gt;contain: strict&lt;/code&gt; cut layout time from 11 ms to under 2 ms by limiting scope from 4371 nodes to just 73.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://csswizardry.com/2026/04/what-is-css-containment-and-how-can-i-use-it/&quot;&gt;csswizardry.com/2026/04/what-is-css-containment-and-how-can-i-use-it&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>The great CSS expansion</title>
			<link href="https://web-standards.dev/news/2026/04/the-great-css-expansion/"/>
			<updated>2026-04-03T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/04/the-great-css-expansion/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/04/the-great-css-expansion/cover.avif" width="1920" height="1080" alt="“The Great CSS Expansion” on turquoise background. Large purple CSS logo tilted over a small yellow JS logo. GitButler logo in the top left."&gt;
&lt;p&gt;Pavel Laptev tours CSS features that replace JavaScript libraries: anchor positioning for Floating UI, the Popover API and &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; element for Radix, scroll-driven animations for GSAP, view transitions for Motion, and customizable &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; for React Select. Together they can cut up to 322 kB of minified, gzipped JavaScript from a typical app.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.gitbutler.com/the-great-css-expansion&quot;&gt;blog.gitbutler.com/the-great-css-expansion&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Squarespace and web standards: how we helped bring HTML video and audio lazy loading to today’s browsers</title>
			<link href="https://web-standards.dev/news/2026/04/video-audio-lazy-loading/"/>
			<updated>2026-04-02T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/04/video-audio-lazy-loading/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/04/video-audio-lazy-loading/cover.avif" width="1920" height="1080" alt="“How We Helped Bring HTML Video &amp;amp; Audio Lazy Loading to Today’s Browsers” next to HTML Living Standard page dated 23 March 2026 with the loading attribute spec."&gt;
&lt;p&gt;Scott Jehl describes how Squarespace engineers proposed &lt;code&gt;loading=&amp;quot;lazy&amp;quot;&lt;/code&gt; for &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; elements, worked with WHATWG, wrote Web Platform Tests, and collaborated with Mozilla, Apple, and Chromium teams to ship the feature as an official standard on March 23, 2026.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://engineering.squarespace.com/blog/2026/squarespace-and-web-standards-how-we-helped-bring-html-video-and-audio-lazy-loading-to-todays-browsers&quot;&gt;engineering.squarespace.com/blog/2026/squarespace-and-web-standards-how-we-helped-bring-html-video-and-audio-lazy-loading-to-todays-browsers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Native JSON modules are finally real</title>
			<link href="https://web-standards.dev/news/2026/04/native-json-modules/"/>
			<updated>2026-04-01T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/04/native-json-modules/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/04/native-json-modules/cover.avif" width="1920" height="1080" alt="“Native JSON modules are finally real” title, author photo, code snippets with JSON and CSS import attributesю Matt Smith, Modern Web Engineering."&gt;
&lt;p&gt;Matt Smith explains how import attributes let you load JSON files directly with &lt;code&gt;import data from &#39;data.json&#39; with { type: &#39;json&#39; }&lt;/code&gt;, no bundler required. Browsers and runtimes handle JSON modules natively with explicit type declarations, eliminating build-time transformations and establishing a foundation for future structured module types.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&quot;&gt;allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Form-associated custom elements in practice</title>
			<link href="https://web-standards.dev/news/2026/03/form-associated-custom-elements/"/>
			<updated>2026-03-31T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/03/form-associated-custom-elements/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/form-associated-custom-elements/cover.avif" width="1920" height="1080" alt="“Form-Associated Custom Elements in Practice” title, Frontend Masters logo, a contact form with custom element tags like ag-input and ag-button."&gt;
&lt;p&gt;Rob Levin shares his experience retrofitting the AgnosticUI component library with Form-Associated Custom Element support using the ElementInternals API. The article covers two validation strategies: delegating to native form controls or implementing validation directly, with practical walkthroughs for input, radio, and combobox components, including Shadow DOM isolation challenges.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://frontendmasters.com/blog/form-associated-custom-elements-in-practice/&quot;&gt;frontendmasters.com/blog/form-associated-custom-elements-in-practice&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>CSS is DOOMed: rendering DOOM in 3D with CSS</title>
			<link href="https://web-standards.dev/news/2026/03/css-is-doomed/"/>
			<updated>2026-03-30T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/03/css-is-doomed/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/css-is-doomed/cover.avif" width="1920" height="1080" alt="DOOM game scene with CSS text above the classic DOOM logo, HUD showing 50 ammo, 100% health, 0% armor."&gt;
&lt;p&gt;Niels Leenheer built a version of the classic game where every visual element is a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; positioned in 3D space using CSS transforms, with JavaScript handling only the game logic. The project uses CSS trigonometric functions, &lt;code&gt;@property&lt;/code&gt; for animatable custom properties, anchor positioning for HUD, and SVG filters for spectral enemies.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nielsleenheer.com/articles/2026/css-is-doomed-rendering-doom-in-3d-with-css/&quot;&gt;nielsleenheer.com/articles/2026/css-is-doomed-rendering-doom-in-3d-with-css&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>The Layout Maestro, a practical CSS course on building web layouts</title>
			<link href="https://web-standards.dev/news/2026/03/layout-maestro/"/>
			<updated>2026-03-27T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/layout-maestro/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/layout-maestro/cover.avif" width="1920" height="1080" alt="Photo of a tablet on a desk with LEGO bricks, pens, and a coffee cup. The screen shows “The Layout Maestro” with a purple grid logo."&gt;
&lt;p&gt;Ahmad Shadeed’s course teaches how to think about layout decisions, not just syntax. It covers Flexbox, Grid, container queries, and &lt;code&gt;:has()&lt;/code&gt; through visual lessons and interactive demos, helping you build resilient layouts that don’t break when content or screen size changes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thelayoutmaestro.com&quot;&gt;thelayoutmaestro.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Under the hood: a closer look at the CSS architecture behind the redesign</title>
			<link href="https://web-standards.dev/news/2026/03/css-architecture-redesign/"/>
			<updated>2026-03-26T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/css-architecture-redesign/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/css-architecture-redesign/cover.avif" width="1920" height="1080" alt="“Under the hood: a closer look at the CSS architecture behind the redesign” title next to a folder tree icon with a v3.0 badge, utilitybend logo above."&gt;
&lt;p&gt;Brecht De Ruyte walks through cascade layers for style priority, a three-tiered design token system, the &lt;code&gt;light-dark()&lt;/code&gt; function for theme switching, a modernized reset wrapped in &lt;code&gt;:where()&lt;/code&gt;, container queries for responsive components, logical properties, and progressive enhancement gated behind &lt;code&gt;@supports&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://utilitybend.com/blog/under-the-hood-a-closer-look-at-the-css-architecture-behind-the-redesign&quot;&gt;utilitybend.com/blog/under-the-hood-a-closer-look-at-the-css-architecture-behind-the-redesign&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>WebKit features for Safari 26.4</title>
			<link href="https://web-standards.dev/news/2026/03/safari-26-4/"/>
			<updated>2026-03-25T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/safari-26-4/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/safari-26-4/cover.avif" width="1920" height="1080" alt="Safari Web Inspector timelines view with CPU and Memory graphs, overlaid by Safari icon and the headline “WebKit Features for Safari 26.4”."&gt;
&lt;p&gt;Jen Simmons introduces 44 new features including grid lanes for masonry-style layouts, WebTransport for low-latency bidirectional communication, and the Keyboard Lock API for capturing browser shortcuts in fullscreen. The release also adds name-only container queries, threaded scroll-driven animations, ReadableByteStream, and improvements to layout engines, Web Inspector, and accessibility. Plus 191 bug fixes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/17862/webkit-features-for-safari-26-4/&quot;&gt;webkit.org/blog/17862/webkit-features-for-safari-26-4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Firefox 149 release notes for developers</title>
			<link href="https://web-standards.dev/news/2026/03/firefox-149/"/>
			<updated>2026-03-24T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/firefox-149/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/firefox-149/cover.avif" width="1920" height="1080" alt="Screenshot of browser developer tools with a large Firefox logo overlaid and the text “Firefox 149”."&gt;
&lt;p&gt;The release adds the &lt;code&gt;popover=&amp;quot;hint&amp;quot;&lt;/code&gt; value, &lt;code&gt;CloseWatcher&lt;/code&gt; for custom closeable components, &lt;code&gt;shape-outside&lt;/code&gt; support for &lt;code&gt;xywh()&lt;/code&gt;, &lt;code&gt;vertical-align&lt;/code&gt; as a shorthand property, optional &lt;code&gt;@container&lt;/code&gt; query conditions, &lt;code&gt;HTMLSelectElement.showPicker()&lt;/code&gt; for &lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt; elements, and &lt;code&gt;HTMLMediaElement.captureStream()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/149&quot;&gt;developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/149&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>CSSkit, a high-performance CSS toolchain written in Rust</title>
			<link href="https://web-standards.dev/news/2026/03/csskit/"/>
			<updated>2026-03-23T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/csskit/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/csskit/cover.avif" width="1920" height="1080" alt="CSSkit logo surrounded by labels: Format, Lint, Transpile, Bundle, Minify, and Analyze."&gt;
&lt;p&gt;Keith Cirkel’s project combines CSS parsing, minification, linting, formatting, transpilation, bundling, and analysis into one tool with zero configuration. It also includes LSP integration for IDE support. The project is inspired by oxc and is currently in alpha.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://csskit.rs&quot;&gt;csskit.rs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Folded corner with CSS</title>
			<link href="https://web-standards.dev/news/2026/03/folded-corner-css/"/>
			<updated>2026-03-20T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/folded-corner-css/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/folded-corner-css/cover.avif" width="1920" height="1080" alt="“Folded corner with CSS” title, a cat photo with a folded corner effect, and CSS code with .ImageContainer shadow and clip-path properties."&gt;
&lt;p&gt;Kitty Giraudel breaks down a hover effect where an image corner appears to fold over. The technique layers &lt;code&gt;clip-path&lt;/code&gt; for cropping, a white triangle for the fold, and shadow elements underneath. The article covers a workaround for blur effects using multiple offset elements and shows how CSS transitions enable smooth animation of the entire effect.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kittygiraudel.com/2026/03/05/folded-corner-with-css/&quot;&gt;kittygiraudel.com/2026/03/05/folded-corner-with-css&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Abusing customizable selects</title>
			<link href="https://web-standards.dev/news/2026/03/abusing-customizable-selects/"/>
			<updated>2026-03-19T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/abusing-customizable-selects/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/abusing-customizable-selects/cover.avif" width="1920" height="1080" alt="“Abusing Customizable Selects” by Patrick Brosset on CSS-Tricks, with a curved stack of labeled folder icons on a purple-pink gradient."&gt;
&lt;p&gt;Patrick Brosset builds three creative demos with the new customizable &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; element: a curved stack of folders using CSS transformations and &lt;code&gt;sibling-index()&lt;/code&gt;, a fanned deck of playing cards with anchor positioning, and a radial emoji picker using trigonometric functions. All demos maintain accessibility and degrade gracefully in unsupported browsers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://css-tricks.com/abusing-customizable-selects/&quot;&gt;css-tricks.com/abusing-customizable-selects&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Temporal: the 9-year journey to fix time in JavaScript</title>
			<link href="https://web-standards.dev/news/2026/03/temporal-fix-time-js/"/>
			<updated>2026-03-18T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/temporal-fix-time-js/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/temporal-fix-time-js/cover.avif" width="1920" height="1080" alt="“Temporal: The 9-Year Journey to Fix Time in JavaScript” title, {Bloomberg JS Blog} logo, Temporal.PlainDate code snippet, and JS logo."&gt;
&lt;p&gt;Jason Williams traces how the Temporal proposal went from idea to Stage 4, replacing the legacy Date API inherited from Java in 1995. The article covers immutable objects, explicit timezone support, and nanosecond precision, along with temporal_rs, a shared Rust library that lets multiple engines collaborate on one implementation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bloomberg.github.io/js-blog/post/temporal/&quot;&gt;bloomberg.github.io/js-blog/post/temporal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Introducing view-transitions-mock, a non-visual polyfill for same-document view transitions</title>
			<link href="https://web-standards.dev/news/2026/03/view-transitions-mock-polyfill/"/>
			<updated>2026-03-17T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/view-transitions-mock-polyfill/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/view-transitions-mock-polyfill/cover.avif" width="1920" height="1080" alt="“View Transitions Mock” diagram comparing native implementation with view-transitions-mock from state A to state B, where four visual steps are crossed out with red X marks."&gt;
&lt;p&gt;Bramus Van Damme built a spec-compliant JavaScript implementation of the View Transition API that works across all browsers. It handles &lt;code&gt;document.startViewTransition()&lt;/code&gt;, the &lt;code&gt;ViewTransition&lt;/code&gt; class with its promises, and view transition types. Animations are skipped in unsupported browsers, but DOM updates work as expected.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.bram.us/2026/03/11/view-transitions-mock-is-a-non-visual-polyfill-for-same-document-view-transitions/&quot;&gt;bram.us/2026/03/11/view-transitions-mock-is-a-non-visual-polyfill-for-same-document-view-transitions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Un-Sass’ing my CSS: native CSS nesting</title>
			<link href="https://web-standards.dev/news/2026/03/un-sassing-css-native-nesting/"/>
			<updated>2026-03-16T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/un-sassing-css-native-nesting/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/un-sassing-css-native-nesting/cover.avif" width="1920" height="1080" alt="“Un-Sass’ing My CSS: Native CSS Nesting” title, author’s photo, Sass code with $spacing variable and .card mixin on the left, native CSS with custom property and @media query on the right."&gt;
&lt;p&gt;Stuart Robson walks through how native CSS nesting works in modern browsers and compares it to Sass. He covers specificity, the &lt;code&gt;&amp;amp;&lt;/code&gt; symbol, practical differences from Sass, and real-world component examples including alerts, cards, and search forms. The article also explores integration with container queries, &lt;code&gt;:has()&lt;/code&gt;, and &lt;code&gt;prefers-reduced-motion&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.alwaystwisted.com/articles/UnSassing-my-CSS-nesting&quot;&gt;alwaystwisted.com/articles/UnSassing-my-CSS-nesting&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>You don’t know HTML tables</title>
			<link href="https://web-standards.dev/news/2026/03/you-dont-know-html-tables/"/>
			<updated>2026-03-13T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/you-dont-know-html-tables/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/you-dont-know-html-tables/cover.avif" width="1920" height="1080" alt="“You Don’t Know HTML…” title, letters T, A, B, L, E, S in table cells, Frank M Taylor in a cell, a Germanic languages table, and a BetterTable class code snippet."&gt;
&lt;p&gt;Frank M Taylor goes beyond the basics, exploring table vocabulary, the Table Object Model API, header cell semantics with &lt;code&gt;scope&lt;/code&gt; and &lt;code&gt;headers&lt;/code&gt; attributes, and practical patterns for building accessible, well-structured tables with &lt;code&gt;&amp;lt;thead&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;tbody&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;tfoot&amp;gt;&lt;/code&gt;, and JavaScript helpers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.frankmtaylor.com/2026/03/05/you-dont-know-html-tables/&quot;&gt;blog.frankmtaylor.com/2026/03/05/you-dont-know-html-tables&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>What’s new in Chrome 146</title>
			<link href="https://web-standards.dev/news/2026/03/chrome-146/"/>
			<updated>2026-03-12T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/chrome-146/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/chrome-146/cover.avif" width="1920" height="1080" alt="Graphic with the text “New in Chrome” and the number 146, alongside the Chrome logo on a red grid background."&gt;
&lt;p&gt;Scroll-triggered animations let you drive CSS animations from scroll position declaratively. The Sanitizer API helps build XSS-free applications. WebGPU gets compatibility mode for older graphics APIs. Other additions include &lt;code&gt;Iterator.concat&lt;/code&gt; for sequencing iterables, a meta element for text scaling on mobile, Navigation API improvements, and more accurate LCP metrics.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/release-notes/146&quot;&gt;developer.chrome.com/release-notes/146&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Everything you never wanted to know about visually-hidden</title>
			<link href="https://web-standards.dev/news/2026/03/visually-hidden-css-history/"/>
			<updated>2026-03-11T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/visually-hidden-css-history/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/visually-hidden-css-history/cover.avif" width="1920" height="1080" alt="“Everything you never wanted to know about visually-hidden” title and four CSS snippets: .visually-hidden with 11 properties, and three minimal alternatives with 2–3 properties each."&gt;
&lt;p&gt;David Bushell digs into the two-decade history of the visually-hidden CSS pattern, examining whether just &lt;code&gt;position: absolute&lt;/code&gt; and &lt;code&gt;clip-path: circle(0)&lt;/code&gt; suffice in 2026. The article explains why the platform still lacks a native alternative and why standardizing the hack might encourage misuse rather than address underlying design problems.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://dbushell.com/2026/02/20/visually-hidden/&quot;&gt;dbushell.com/2026/02/20/visually-hidden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>SVGs on the web: performance comparison based on how you load them</title>
			<link href="https://web-standards.dev/news/2026/03/svg-loading-performance/"/>
			<updated>2026-03-10T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/svg-loading-performance/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/svg-loading-performance/cover.avif" width="1920" height="1080" alt="Title “SVGs on the web: performance comparison based on how you load them”, author Joan León, code snippets, and a table comparing five SVG loading methods."&gt;
&lt;p&gt;Joan León compares five loading methods and how each affects caching, requests, and rendering: inline &lt;code&gt;&amp;lt;svg&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;object&amp;gt;&lt;/code&gt;, CSS background, and sprites with &lt;code&gt;&amp;lt;use&amp;gt;&lt;/code&gt;. A key anti-pattern: embedding raster images as base64 inside SVGs increases file size by 33% and blocks rendering.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://joanleon.dev/en/svg-optimization/&quot;&gt;joanleon.dev/en/svg-optimization&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>CodePen 2.0 is now in public beta</title>
			<link href="https://web-standards.dev/news/2026/03/codepen-2-beta/"/>
			<updated>2026-03-09T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/codepen-2-beta/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/codepen-2-beta/cover.avif" width="1920" height="1080" alt="“Introducing CodePen 2.0 Beta” text, pixel-art “2.0” sign, and 3D blocks with Markdown, Vue, and other technology logos."&gt;
&lt;p&gt;Pens now have their own file system with folders, a new block-based build process that lets you mix and match technologies without config, real-time collaboration by invite, an omnibar for quick access to files and commands, and real privacy controls with passwords and invite-only access. No install, no command line, no complicated setup.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://codepen.io/beta&quot;&gt;codepen.io/beta&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>The too early breakpoint</title>
			<link href="https://web-standards.dev/news/2026/03/too-early-breakpoint/"/>
			<updated>2026-03-06T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/too-early-breakpoint/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/too-early-breakpoint/cover.avif" width="1920" height="1080" alt="“The Too Early Breakpoint” title with author’s photo and a breakpoint diagram showing layout changes at Default, ≥ 220px, ≥ 350px, ≥ 480px, and ≥ 620px."&gt;
&lt;p&gt;Ahmad Shadeed explains why many websites switch to a mobile layout too soon. With examples from Time and TechCrunch, he shows how designs break in split-screen, tablet, and iOS link previews. The fix: intermediate breakpoints, container queries, and flexible CSS Grid and Flexbox layouts that adapt to available space instead of relying on rigid viewport widths.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ishadeed.com/article/too-early-breakpoint/&quot;&gt;ishadeed.com/article/too-early-breakpoint&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>A new meta tag for respecting text scaling on mobile</title>
			<link href="https://web-standards.dev/news/2026/03/meta-tag-text-scaling-mobile/"/>
			<updated>2026-03-05T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/meta-tag-text-scaling-mobile/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/meta-tag-text-scaling-mobile/cover.avif" width="1920" height="1080" alt="Author’s photo with HTML terms div, role, span around it, HTMHell logo, and “A new meta tag for respecting text scaling on mobile” title."&gt;
&lt;p&gt;Manuel Matuzović demonstrates the proposed &lt;code&gt;&amp;lt;meta name=&amp;quot;textscale&amp;quot;&amp;gt;&lt;/code&gt; element, an opt-in that makes websites honor OS text size settings in mobile browsers. Relative units like &lt;code&gt;em&lt;/code&gt; and &lt;code&gt;rem&lt;/code&gt; will scale with user preferences while pixel values stay unchanged. Currently only available in Chrome Canary. Firefox already reacts to OS settings but zooms the entire viewport instead of scaling text alone.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/XVIgKEOVfVg&quot;&gt;youtu.be/XVIgKEOVfVg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
		<entry>
			<title>Dictionary compression is finally here, and it’s ridiculously good</title>
			<link href="https://web-standards.dev/news/2026/03/dictionary-compression/"/>
			<updated>2026-03-04T12:00:00+01:00</updated>
			<id>https://web-standards.dev/news/2026/03/dictionary-compression/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/03/dictionary-compression/cover.avif" width="1920" height="1080" alt="“Dictionary Compression is finally here, and it’s ridiculously good” title, HTTP and Performance tags, and a close-up of a dictionary page with the “technology” entry."&gt;
&lt;p&gt;Tim Perry explains how Compression Dictionary Transport works with Zstandard and Brotli over HTTP, using previous responses as dictionaries to compress data down to near-diffs. YouTube JS bundles shrink up to 90% vs plain Brotli, Google Search HTML nearly 50%. Already deployed by Google, Shopify, Pinterest, and Notion. Chrome 130+, Safari and Firefox on the way.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://httptoolkit.com/blog/dictionary-compression-performance-zstd-brotli/&quot;&gt;httptoolkit.com/blog/dictionary-compression-performance-zstd-brotli&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	You can also follow us on
	&lt;a href="https://mastodon.social/@webstandards_dev"&gt;Mastodon&lt;/a&gt;, &lt;a href="https://bsky.app/profile/web-standards.dev"&gt;Bluesky&lt;/a&gt;, &lt;a href="https://x.com/webstandardsdev"&gt;X&lt;/a&gt;
&lt;/p&gt;
			</content>
		</entry>
</feed>
