<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-06-17T12: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>Firefox 152 release notes for developers</title>
			<link href="https://web-standards.dev/news/2026/06/firefox-152/"/>
			<updated>2026-06-17T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/firefox-152/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/firefox-152/cover.avif" width="1920" height="1080" alt="Screenshot of Firefox developer tools showing the Inspector panel with HTML markup and CSS rules, overlaid by the Firefox logo and the text “Firefox 152”."&gt;
&lt;p&gt;The release adds the &lt;code&gt;field-sizing&lt;/code&gt; CSS property for sizing form controls to their content, Notification actions in &lt;code&gt;showNotification()&lt;/code&gt;, the &lt;code&gt;unadjustedMovement&lt;/code&gt; option for &lt;code&gt;requestPointerLock()&lt;/code&gt;, a &lt;code&gt;pseudoElement&lt;/code&gt; option for &lt;code&gt;getAnimations()&lt;/code&gt;, &lt;code&gt;firstInterimResponseStart&lt;/code&gt; and &lt;code&gt;finalResponseHeadersStart&lt;/code&gt; resource timing properties, the &lt;code&gt;side&lt;/code&gt; property on &lt;code&gt;SVGTextPathElement&lt;/code&gt;, and experimental text module imports with &lt;code&gt;{ type: &amp;quot;text&amp;quot; }&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/152&quot;&gt;developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/152&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 the field guide to grid lanes</title>
			<link href="https://web-standards.dev/news/2026/06/field-guide-to-grid-lanes/"/>
			<updated>2026-06-16T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/field-guide-to-grid-lanes/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/field-guide-to-grid-lanes/cover.avif" width="1920" height="1080" alt="Title “Introducing the Field Guide to Grid Lanes” next to Jen Simmons’ photo, browser windows showing Waterfall and Brick layouts and Photos, Recipes, Newspaper demos."&gt;
&lt;p&gt;Jen Simmons announces a new interactive learning resource for CSS grid lanes. Tweak the playground with Waterfall and Brick modes, learn track sizing with &lt;code&gt;fr&lt;/code&gt;, &lt;code&gt;minmax()&lt;/code&gt;, and &lt;code&gt;repeat()&lt;/code&gt;, and explore six real-world demos: photos, recipes, newspapers, menus, timelines, and pinboards. Best in Safari 26.4+.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/18098/introducing-the-field-guide-to-grid-lanes/&quot;&gt;webkit.org/blog/18098/introducing-the-field-guide-to-grid-lanes&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 reacts, JS just listens</title>
			<link href="https://web-standards.dev/news/2026/06/prop-for-that-css-reacts-js-listens/"/>
			<updated>2026-06-15T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/prop-for-that-css-reacts-js-listens/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/prop-for-that-css-reacts-js-listens/cover.avif" width="1920" height="1080" alt="Headline “What JS knows, now CSS knows” next to a Live panel showing pointer.x 99% and pointer.y 24%, above cards for clock, FPS, viewport, scroll velocity, and accent hue."&gt;
&lt;p&gt;Adam Argyle introduces prop-for-that, a tiny library that exposes runtime state to CSS through custom properties. Add &lt;code&gt;data-props-for&lt;/code&gt; to an element, and CSS can read live values like pointer position, scroll velocity, battery level, network speed, viewport size, or form validation, with no event handlers or DOM manipulation. Over 16 sources are available.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://prop-for-that.netlify.app/&quot;&gt;prop-for-that.netlify.app&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>Web technology sessions at WWDC26</title>
			<link href="https://web-standards.dev/news/2026/06/web-technology-sessions-at-wwdc26/"/>
			<updated>2026-06-12T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/web-technology-sessions-at-wwdc26/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/web-technology-sessions-at-wwdc26/cover.avif" width="1920" height="1080" alt="Title “Web Technology Sessions at WWDC26” above a Safari window showing a photo grid with the grid-lanes inspector overlay, three presenter portraits, and the WWDC26 logo."&gt;
&lt;p&gt;Saron Yitbarek rounds up six WebKit talks: what’s new in Safari 27 beta, CSS grid lanes for masonry layouts, customizable &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; form controls, the &lt;code&gt;&amp;lt;model&amp;gt;&lt;/code&gt; element for embedding 3D content, immersive website environments on visionOS 27, and web extensions you can package and submit directly from the browser without Xcode.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/17974/web-technology-sessions-at-wwdc26/&quot;&gt;webkit.org/blog/17974/web-technology-sessions-at-wwdc26&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 quiet problem with unnecessary async</title>
			<link href="https://web-standards.dev/news/2026/06/quiet-problem-unnecessary-async/"/>
			<updated>2026-06-11T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/quiet-problem-unnecessary-async/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/quiet-problem-unnecessary-async/cover.avif" width="1920" height="1080" alt="“The quiet problem with unnecessary async”. Code: async getConfig, then without. “Keep APIs honest. Instead of designing around what a function might someday become, design around what it is today”."&gt;
&lt;p&gt;Matt Smith warns that marking a function &lt;code&gt;async&lt;/code&gt; when it does no real asynchronous work changes its contract and forces every caller to handle Promises. &lt;code&gt;async&lt;/code&gt; tends to propagate outward through call chains, adds cognitive overhead, and hides where real I/O actually happens. He recommends keeping synchronous functions synchronous and reaching for &lt;code&gt;async&lt;/code&gt; only when real asynchronous work arrives.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://allthingssmitty.com/2026/06/08/the-quiet-problem-with-unnecessary-async/&quot;&gt;allthingssmitty.com/2026/06/08/the-quiet-problem-with-unnecessary-async&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 animated SVG maps</title>
			<link href="https://web-standards.dev/news/2026/06/css-animated-svg-maps/"/>
			<updated>2026-06-10T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/css-animated-svg-maps/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/css-animated-svg-maps/cover.avif" width="1920" height="1080" alt="Title “CSS Animated SVG Maps” below a dotted world map with pins connected by curved lines arcing across continents on a black background."&gt;
&lt;p&gt;Amber Weinberg walks through animating an SVG map: use &lt;code&gt;&amp;lt;line&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;circle&amp;gt;&lt;/code&gt; elements, stagger pin opacity with transitions and &lt;code&gt;:nth-of-type&lt;/code&gt;, fade in the background with &lt;code&gt;transform: translate3d()&lt;/code&gt;, and draw lines with the &lt;code&gt;stroke-dasharray&lt;/code&gt; and &lt;code&gt;stroke-dashoffset&lt;/code&gt; trick. Animations live inside a &lt;code&gt;prefers-reduced-motion&lt;/code&gt; media query and trigger via a JS class toggle on the parent.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://amberweinberg.com/css-animated-svg-maps/&quot;&gt;amberweinberg.com/css-animated-svg-maps&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>News from WWDC26: WebKit in Safari 27 beta</title>
			<link href="https://web-standards.dev/news/2026/06/safari-27-beta/"/>
			<updated>2026-06-09T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/safari-27-beta/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/safari-27-beta/cover.avif" width="1920" height="1080" alt="Safari icon next to the title “Safari 27 beta” on a blue background with a stylized 3D space."&gt;
&lt;p&gt;Jen Simmons introduces 58 new features and 525 fixes: customizable &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; elements, scroll anchoring, transform-aware anchor positioning, WebAssembly JSPI, CSS &lt;code&gt;:heading&lt;/code&gt; pseudo-class, the &lt;code&gt;revert-rule&lt;/code&gt; keyword, &lt;code&gt;stretch&lt;/code&gt; sizing, top-level await in modules, and immersive &lt;code&gt;&amp;lt;model&amp;gt;&lt;/code&gt; environments on visionOS.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/&quot;&gt;webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-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>Introducing the CSS Property Type Validator Stylelint plugin</title>
			<link href="https://web-standards.dev/news/2026/06/css-property-type-validator-plugin/"/>
			<updated>2026-06-08T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/css-property-type-validator-plugin/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/css-property-type-validator-plugin/cover.avif" width="1920" height="1080" alt="“Introducing the CSS Property Type Validator Stylelint Plugin” title with author photo, @property --brand-color with syntax: color, used as background-image: var(--brand-color) on .card."&gt;
&lt;p&gt;Schalk Neethling released the first beta of a plugin that integrates CSS Property Type Validator into existing linting workflows. It validates &lt;code&gt;@property&lt;/code&gt; registrations, checks custom property assignments against the registered syntax, and verifies &lt;code&gt;var()&lt;/code&gt; compatibility. Catch type mismatches in CI, editors, and pre-commit hooks without separate tooling.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://schalkneethling.com/posts/introducing-the-css-property-type-validator-stylelint-plugin/&quot;&gt;schalkneethling.com/posts/introducing-the-css-property-type-validator-stylelint-plugin&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 website specification</title>
			<link href="https://web-standards.dev/news/2026/06/the-website-specification/"/>
			<updated>2026-06-05T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/the-website-specification/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/the-website-specification/cover.avif" width="1920" height="1080" alt="Website Spec logo, headline “What a good website does” and subtitle “A platform-agnostic specification of the technical features every decent website should have”."&gt;
&lt;p&gt;Joost de Valk published a platform-agnostic reference of technical features every quality website should have. It covers foundations and semantic HTML, SEO and structured data, accessibility, security and CSP, performance and Core Web Vitals, internationalisation, and agent readiness through Markdown endpoints, JSON-LD, and RSS feeds.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://specification.website&quot;&gt;specification.website&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 149</title>
			<link href="https://web-standards.dev/news/2026/06/chrome-149/"/>
			<updated>2026-06-04T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/chrome-149/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/chrome-149/cover.avif" width="1920" height="1080" alt="Graphic with the text “New in Chrome” and the number 149, alongside the Chrome logo on a blue grid background."&gt;
&lt;p&gt;CSS gap decorations let you style gaps in grid and flexbox layouts. The &lt;code&gt;shape-outside&lt;/code&gt; property now supports &lt;code&gt;path()&lt;/code&gt;, &lt;code&gt;shape()&lt;/code&gt;, &lt;code&gt;rect()&lt;/code&gt;, and &lt;code&gt;xywh()&lt;/code&gt; functions. SVG &lt;code&gt;path-length&lt;/code&gt; becomes a CSS property. Text overflow switches from &lt;code&gt;ellipsis&lt;/code&gt; to &lt;code&gt;clip&lt;/code&gt; on user interaction. Other additions include &lt;code&gt;image-rendering: crisp-edges&lt;/code&gt;, &lt;code&gt;Intl.Locale.prototype.variants&lt;/code&gt;, and WebSocket connections that no longer block back/forward cache.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/release-notes/149&quot;&gt;developer.chrome.com/release-notes/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>CSS is filling the gaps with rules. A way to style gaps in grid and flex</title>
			<link href="https://web-standards.dev/news/2026/06/css-gap-rules/"/>
			<updated>2026-06-03T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/css-gap-rules/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/css-gap-rules/cover.avif" width="1920" height="1080" alt="Utilitybend logo and dark squares with red and dark rules drawn in the gaps between them, with title “CSS is filling the gaps with rules. A way to style gaps in grid and flex.”"&gt;
&lt;p&gt;Brecht De Ruyte explores new CSS gap decorations that let you style spacing in grid and flex layouts without workarounds. The &lt;code&gt;column-rule&lt;/code&gt; and &lt;code&gt;row-rule&lt;/code&gt; properties draw lines in gaps, while &lt;code&gt;rule-break&lt;/code&gt;, &lt;code&gt;rule-inset&lt;/code&gt;, &lt;code&gt;rule-overlap&lt;/code&gt;, and &lt;code&gt;rule-visibility-items&lt;/code&gt; fine-tune intersections, extension, and conditional display. The rules are animatable too.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://utilitybend.com/blog/css-is-filling-the-gaps-with-rules-a-way-to-style-gaps-in-grid-and-flex&quot;&gt;utilitybend.com/blog/css-is-filling-the-gaps-with-rules-a-way-to-style-gaps-in-grid-and-flex&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 state of CSS centering in 2026</title>
			<link href="https://web-standards.dev/news/2026/06/the-state-of-css-centering-in-2026/"/>
			<updated>2026-06-02T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/the-state-of-css-centering-in-2026/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/the-state-of-css-centering-in-2026/cover.avif" width="1920" height="1080" alt="“The State of CSS Centering in 2026” title in white on dark, an orange square next to the word “CENTER” in serif, framed by orange dashed baseline guides, CSS-Tricks logo below."&gt;
&lt;p&gt;Temani Afif breaks down the many valid ways to center in CSS and shows how to pick the right one. He covers alignment theory with two levels and two axes, compares flexbox, grid, &lt;code&gt;position: absolute&lt;/code&gt;, and &lt;code&gt;text-align&lt;/code&gt;, explains the &lt;code&gt;text-box&lt;/code&gt; property for trimming whitespace around glyphs, &lt;code&gt;anchor-center&lt;/code&gt; in anchor positioning, and the difference between safe and unsafe centering.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://css-tricks.com/the-state-of-css-centering-in-2026/&quot;&gt;css-tricks.com/the-state-of-css-centering-in-2026&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>Entry and exit transitions with modern CSS</title>
			<link href="https://web-standards.dev/news/2026/06/entry-exit-transitions-modern-css/"/>
			<updated>2026-06-01T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/06/entry-exit-transitions-modern-css/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/06/entry-exit-transitions-modern-css/cover.avif" width="1920" height="1080" alt="Title “Enter And Exit CSS Transitions”, label display: none above a dashed empty square, an arrow, and label display: block above a yellow filled square."&gt;
&lt;p&gt;Matt Croat shows how to animate elements as they appear and disappear: &lt;code&gt;@starting-style&lt;/code&gt; sets initial values, transitions stay interruptible mid-animation, and &lt;code&gt;allow-discrete&lt;/code&gt; handles properties like &lt;code&gt;display&lt;/code&gt; that normally jump. The View Transition API completes the picture by animating layout changes between DOM states, with practical examples for &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; and popovers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://joyofcode.xyz/entry-and-exit-css-transitions&quot;&gt;joyofcode.xyz/entry-and-exit-css-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>Replacements.fyi: performant, safer npm package alternatives</title>
			<link href="https://web-standards.dev/news/2026/05/replacements-fyi-npm-alternatives/"/>
			<updated>2026-05-29T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/replacements-fyi-npm-alternatives/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/replacements-fyi-npm-alternatives/cover.avif" width="1920" height="1080" alt="Replacements.fyi (module_replacements), tagline “type a package name. we’ll tell you what you don’t need”, and examples: is-number, is-odd, left-pad, object-assign."&gt;
&lt;p&gt;A tool from the e18e collective that helps you find more performant and safer replacements for outdated or unnecessary npm packages. Type a package name like &lt;code&gt;is-number&lt;/code&gt;, &lt;code&gt;left-pad&lt;/code&gt;, or &lt;code&gt;is-odd&lt;/code&gt;, and get drop-in alternatives or short code snippets you can paste instead. You can filter by runtime: Node, Bun, Deno, Cloudflare, or browser. Also browse all packages or scan a &lt;code&gt;package.json&lt;/code&gt; to spot dependencies worth dropping.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://replacements.fyi/&quot;&gt;replacements.fyi&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 vs. JavaScript: exploring the performance implications of different animation strategies</title>
			<link href="https://web-standards.dev/news/2026/05/css-vs-javascript-animation-performance/"/>
			<updated>2026-05-28T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/css-vs-javascript-animation-performance/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/css-vs-javascript-animation-performance/cover.avif" width="1920" height="1080" alt="Two boxes labeled “Using CSS Keyframes” and “Using a JavaScript loop” with sliders, an upside-down character between them, a Play button, and “Are JavaScript animations less performant than CSS?”"&gt;
&lt;p&gt;Josh Comeau compares CSS, Web Animations API, and the JS libraries GSAP and Motion under main-thread congestion. CSS and Motion stay smooth because their animations run off the main thread, while typical JS animations and GSAP freeze. Library cost matters too: Motion weighs 48 kB gzipped, GSAP 27 kB. Use native CSS when you can, and reach for JS libraries only for what CSS can’t do, like SVG shape morphing.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.joshwcomeau.com/animation/css-vs-javascript/&quot;&gt;joshwcomeau.com/animation/css-vs-javascript&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>Better fluid sizing with round()</title>
			<link href="https://web-standards.dev/news/2026/05/better-fluid-sizing-with-round/"/>
			<updated>2026-05-27T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/better-fluid-sizing-with-round/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/better-fluid-sizing-with-round/cover.avif" width="1920" height="1080" alt="“Better fluid sizing with round()”, subtitle about predictable fluid sizing, two purple circles labeled 119px and 100px, Ahmad Shadeed’s photo, and code using clamp() and round()."&gt;
&lt;p&gt;Ahmad Shadeed explores how the CSS &lt;code&gt;round()&lt;/code&gt; function complements &lt;code&gt;clamp()&lt;/code&gt; by snapping fluid values to consistent intervals, avoiding awkward decimals like 19.7px. He walks through card font sizes, type scales, and baseline grids, and shows how &lt;code&gt;round()&lt;/code&gt; with container query units keeps visual rhythm as viewports change. He also touches on &lt;code&gt;calc-size()&lt;/code&gt; for syncing heights across stacked components.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ishadeed.com/article/css-round/&quot;&gt;ishadeed.com/article/css-round&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>Declarative partial updates</title>
			<link href="https://web-standards.dev/news/2026/05/declarative-partial-updates/"/>
			<updated>2026-05-26T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/declarative-partial-updates/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/declarative-partial-updates/cover.avif" width="1920" height="1080" alt="Chrome for developers logo, title “Declarative Partial Updates”, photos of two authors, and a code snippet with marker name=placeholder and a matching template for=placeholder."&gt;
&lt;p&gt;Barry Pollard and Noam Rosenthal introduce two new web platform proposals for inserting HTML out of order. Processing instructions like &lt;code&gt;&amp;lt;?marker&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;?start&amp;gt;&lt;/code&gt;/&lt;code&gt;&amp;lt;?end&amp;gt;&lt;/code&gt; paired with &lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt; let servers stream HTML into specific document locations without waiting for sequential delivery. New JavaScript methods &lt;code&gt;setHTML()&lt;/code&gt;, &lt;code&gt;appendHTML()&lt;/code&gt;, and &lt;code&gt;streamHTML()&lt;/code&gt; bring consistent naming for partial updates. Polyfills are on npm.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/blog/declarative-partial-updates&quot;&gt;developer.chrome.com/blog/declarative-partial-updates&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>600+ million people write right-to-left: two fixes your app needs</title>
			<link href="https://web-standards.dev/news/2026/05/two-rtl-fixes-your-app-needs/"/>
			<updated>2026-05-25T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/two-rtl-fixes-your-app-needs/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/two-rtl-fixes-your-app-needs/cover.avif" width="1920" height="1080" alt="Evil Martians logo, Nina Torgunakova Frontend Engineer, title “600+ million people write right-to-left: two fixes your app needs”, and an alien writing left-to-right and right-to-left."&gt;
&lt;p&gt;Nina Torgunakova covers two scenarios. For English apps with free-form inputs, set &lt;code&gt;dir=&amp;quot;auto&amp;quot;&lt;/code&gt; so the browser picks direction from the first character, no JavaScript needed. For fully localized UIs, set &lt;code&gt;dir=&amp;quot;rtl&amp;quot;&lt;/code&gt; on &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; and swap physical CSS properties for logical ones like &lt;code&gt;margin-inline-start&lt;/code&gt;, &lt;code&gt;padding-inline-end&lt;/code&gt;, and &lt;code&gt;text-align: start&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://evilmartians.com/chronicles/600-million-people-write-right-to-left-2-fixes-your-app-needs&quot;&gt;evilmartians.com/chronicles/600-million-people-write-right-to-left-2-fixes-your-app-needs&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>Look up web platform features from your terminal</title>
			<link href="https://web-standards.dev/news/2026/05/web-features-cli/"/>
			<updated>2026-05-22T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/web-features-cli/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/web-features-cli/cover.avif" width="1920" height="1080" alt="Two terminals with web-features-cli: wf view transitions -s bugs -s positions listing bugs and positions, and wf container queries showing Baseline Widely available since 2025-08-14."&gt;
&lt;p&gt;Patrick Brosset’s &lt;code&gt;wf&lt;/code&gt; command searches by keyword and shows Baseline status, MDN docs, specs, browser bugs, survey results, standards positions, and Chrome usage. It combines data from &lt;code&gt;web-features&lt;/code&gt; and &lt;code&gt;web-features-mappings&lt;/code&gt;, both maintained by the W3C WebDX Community Group, and fetches the latest data at runtime.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.npmjs.com/package/web-features-cli&quot;&gt;npmjs.com/package/web-features-cli&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>State of CSS 2026</title>
			<link href="https://web-standards.dev/news/2026/05/state-of-css-2026/"/>
			<updated>2026-05-21T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/state-of-css-2026/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/state-of-css-2026/cover.avif" width="1920" height="1080" alt="State of CSS 2026 title, pink crystal CSS logo, and survey sections: Shapes &amp;amp; Graphics, Colors, Interactions, Layout, Other Features, Other Tools, CSS Usage, Resources, About You."&gt;
&lt;p&gt;Devographics opened the annual State of CSS survey, this year with fewer features so it stays manageable. The team focused on what matters most, from layout, selectors, and typography to interactions, forms, and shapes. It takes 15–20 minutes to complete and helps map how developers actually use modern CSS. Don&#39;t forget to vote for your favorite resources and add anything new to your reading list.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://survey.devographics.com/en-US/survey/state-of-css/2026&quot;&gt;survey.devographics.com/en-US/survey/state-of-css/2026&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>Modern web guidance</title>
			<link href="https://web-standards.dev/news/2026/05/modern-web-guidance/"/>
			<updated>2026-05-20T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/modern-web-guidance/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/modern-web-guidance/cover.avif" width="1920" height="1080" alt="“Build with Modern Web Guidance”, the command npx modern-web-guidance@latest install, and supported tools Claude Code, Copilot CLI, Antigravity CLI, and npx skills."&gt;
&lt;p&gt;A set of evergreen, expert-vetted skills for AI coding agents from the Chrome team, covering UI components, legacy code modernization, security, and performance. Install via &lt;code&gt;npx modern-web-guidance@latest install&lt;/code&gt;, or as plugins for Claude Code, Copilot CLI, Vercel Agent Skills, and Antigravity. The skills can help with modern features like &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; modals, popover tooltips, container queries, passkeys, CSP, and improving Web Vitals.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/docs/modern-web-guidance&quot;&gt;developer.chrome.com/docs/modern-web-guidance&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 151 release notes for developers</title>
			<link href="https://web-standards.dev/news/2026/05/firefox-151/"/>
			<updated>2026-05-19T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/firefox-151/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/firefox-151/cover.avif" width="1920" height="1080" alt="Screenshot of Firefox developer tools showing the Inspector panel with HTML markup and CSS rules, overlaid by the Firefox logo and the text “Firefox 151”."&gt;
&lt;p&gt;The release adds &lt;code&gt;shadowrootslotassignment&lt;/code&gt; on &lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt; elements for declarative slot assignment, &lt;code&gt;@container&lt;/code&gt; &lt;code&gt;style()&lt;/code&gt; queries, &lt;code&gt;position-anchor: normal&lt;/code&gt;, the Document Picture-in-Picture API for always-on-top HTML windows, desktop Web Serial API, &lt;code&gt;CanvasRenderingContext2D.lang&lt;/code&gt;, &lt;code&gt;keyboardLock&lt;/code&gt; in &lt;code&gt;requestFullscreen()&lt;/code&gt;, and the experimental &lt;code&gt;field-sizing&lt;/code&gt; property for form controls.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/151&quot;&gt;developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/151&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>State of AI 2026 results</title>
			<link href="https://web-standards.dev/news/2026/05/state-of-ai-2026/"/>
			<updated>2026-05-18T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/state-of-ai-2026/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/state-of-ai-2026/cover.avif" width="1920" height="1080" alt="“State of Web Dev AI 2026” cover with a bar chart for “AI tools are a threat to my job security”: Disagree 21%, Neutral 28%, Agree 31%, and Claude 69%, ChatGPT 49%."&gt;
&lt;p&gt;Sacha Greif’s annual survey of 7,258 developers shows AI-assisted coding has gone mainstream, with respondents now generating 54% of their code with AI, up from 28% last year. Claude Code leads in positive sentiment among coding agents at 42.3%. Spending on AI tools keeps rising as the industry shifts from VC-subsidized pricing to sustainable monetization. Hallucinations remain the top pain point.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://2026.stateofai.dev/en-US&quot;&gt;2026.stateofai.dev/en-US&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>Browsers treat big sites differently</title>
			<link href="https://web-standards.dev/news/2026/05/browsers-treat-big-sites-differently/"/>
			<updated>2026-05-15T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/browsers-treat-big-sites-differently/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/browsers-treat-big-sites-differently/cover.avif" width="1920" height="1080" alt="“Browsers Treat Big Sites Differently” title over torn-paper cutouts of logos: Google, Yahoo!, YouTube, NFL, Spotify, TikTok, Slack, Outlook, ESPN, Discord, Apple, and Netflix."&gt;
&lt;p&gt;Den Odell reveals how Safari and Firefox quietly ship thousands of lines of site-specific patches to keep popular websites working. WebKit’s &lt;code&gt;Quirks.cpp&lt;/code&gt; and Firefox’s &lt;code&gt;about:compat&lt;/code&gt; both contain interventions for sites like TikTok, Netflix, and Reddit, sometimes even faking Chrome’s user agent. Chrome’s dominance forces minority browsers to compensate, echoing the IE era in reverse.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://denodell.com/blog/browsers-treat-big-sites-differently&quot;&gt;denodell.com/blog/browsers-treat-big-sites-differently&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 HTML Sanitizer API</title>
			<link href="https://web-standards.dev/news/2026/05/the-html-sanitizer-api/"/>
			<updated>2026-05-14T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/05/the-html-sanitizer-api/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/05/the-html-sanitizer-api/cover.avif" width="1920" height="1080" alt="Title “The HTML Sanitizer API” by Ahmad Alfy, over overlapping code snippets with DOMPurify imports and a new Sanitizer(config) example."&gt;
&lt;p&gt;Ahmad Alfy walks through the new browser-native API that prevents XSS without DOMPurify. Safe methods &lt;code&gt;setHTML&lt;/code&gt; and &lt;code&gt;parseHTML&lt;/code&gt; always strip dangerous content, while &lt;code&gt;setHTMLUnsafe&lt;/code&gt; and &lt;code&gt;parseHTMLUnsafe&lt;/code&gt; respect your configuration. Allow-lists and block-lists give fine-grained control over elements and attributes. Great for comment sections, WYSIWYG editors, and markdown previews, though backend sanitization stays essential.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://alfy.blog/2026/05/07/html-sanitizer-api.html&quot;&gt;alfy.blog/2026/05/07/html-sanitizer-api.html&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>
