<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-08-20T12: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>Field guide to the Chrome DevTools Performance panel</title>
			<link href="https://web-standards.dev/news/2026/08/reading-a-performance-profile/"/>
			<updated>2026-08-20T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/reading-a-performance-profile/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/reading-a-performance-profile/cover.avif" width="1920" height="1080" alt="Label “Chrome DevTools. Performance Panel”, title “Reading a performance profile”, subtitle “An interactive field guide to the waterfall, flame chart, LCP, CLS, INP, and the Insights panel”."&gt;
&lt;p&gt;Joan León uses interactive figures to walk through the colors of scripting, rendering, painting, loading, and idle work, the anatomy of a network request bar, and the two axes of the flame chart with self time versus total time. It also covers the four LCP phases, layout shifts, INP, compositing, and tables of common function and request signatures.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://perf.reviews/profile-guide&quot;&gt;perf.reviews/profile-guide&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 case for tri-state dark mode toggles</title>
			<link href="https://web-standards.dev/news/2026/08/case-for-tri-state-dark-mode-toggles/"/>
			<updated>2026-08-19T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/case-for-tri-state-dark-mode-toggles/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/case-for-tri-state-dark-mode-toggles/cover.avif" width="1920" height="1080" alt="Title “The Case for Tri-State Dark Mode Toggles”, the author’s photo, a pill control with sun, monitor, and moon icons with the monitor selected, and three two-state sun and moon controls: sun highlighted, nothing highlighted, and moon highlighted on dark."&gt;
&lt;p&gt;Bramus Van Damme replies to Lea Verou with the case a two-state control can’t cover: an OS that switches themes by time of day. Pick light during the day, and a toggle that maps one of its values back to system goes dark at night, against an explicit choice. Two states work only if the automatic value is labelled, or if real values are stored, and that needs a reset option, which is tri-state again. His own poll ran 43 to 7 for three states. Declan Chidlow’s pair of buttons, with neither highlighted while the OS is in charge, hides all three behind two.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.bram.us/2026/08/18/the-case-for-tri-state-dark-mode-toggles/&quot;&gt;bram.us/2026/08/18/the-case-for-tri-state-dark-mode-toggles&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 154 release notes for developers</title>
			<link href="https://web-standards.dev/news/2026/08/firefox-154/"/>
			<updated>2026-08-18T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/firefox-154/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/firefox-154/cover.avif" width="1920" height="1080" alt="Screenshot of browser developer tools with the Inspector panel open on web-standards.dev, a large Firefox logo overlaid, and the text “Firefox 154”."&gt;
&lt;p&gt;This release adds the &lt;code&gt;sibling-count()&lt;/code&gt; and &lt;code&gt;sibling-index()&lt;/code&gt; CSS functions, the &lt;code&gt;text-box-trim&lt;/code&gt;, &lt;code&gt;text-box-edge&lt;/code&gt;, and &lt;code&gt;text-box&lt;/code&gt; properties for trimming space above and below text, and the Iterator methods &lt;code&gt;includes()&lt;/code&gt;, &lt;code&gt;join()&lt;/code&gt;, &lt;code&gt;chunks()&lt;/code&gt;, and &lt;code&gt;windows()&lt;/code&gt;. WebRTC gains &lt;code&gt;getSelectedCandidatePair()&lt;/code&gt;. Behind flags: unprefixed &lt;code&gt;line-clamp&lt;/code&gt;, percentages for &lt;code&gt;text-decoration-inset&lt;/code&gt;, the &lt;code&gt;progress()&lt;/code&gt; function, and CSS Typed OM.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/154&quot;&gt;developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/154&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>Ask a nerd: can emails include dark and light mode themes?</title>
			<link href="https://web-standards.dev/news/2026/08/dark-and-light-mode-emails/"/>
			<updated>2026-08-17T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/dark-and-light-mode-emails/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/dark-and-light-mode-emails/cover.avif" width="1920" height="1080" alt="Title “Ask a Nerd: Can emails include dark and light mode themes?”, author’s photo, name Matthew Guay, date August 14, 2026, and a stage spotlight beam shining through darkness."&gt;
&lt;p&gt;Matthew Guay explains that &lt;code&gt;@media (prefers-color-scheme)&lt;/code&gt; works in roughly 42% of email clients, including Apple Mail, Outlook, and Fastmail, which covers most opens since Apple Mail alone handles 65% of them. Gmail, Outlook on Windows, Yahoo Mail, and Thunderbird ignore it, and Gmail on mobile inverts colors on its own. Avoid pure black and pure white to keep clients from inverting, and test in real apps.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://buttondown.com/blog/dark-mode-emails&quot;&gt;buttondown.com/blog/dark-mode-emails&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>Progressive Web Apps – mostly – rock</title>
			<link href="https://web-standards.dev/news/2026/08/progressive-web-apps-mostly-rock/"/>
			<updated>2026-08-14T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/progressive-web-apps-mostly-rock/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/progressive-web-apps-mostly-rock/cover.avif" width="1920" height="1080" alt="Author’s photo, name grooovinger, title “Progressive Web Apps – mostly – rock”, section names: “Install experience”, “URLs, baby!”, “Back Button”, “Instant updates”, “Conclusion”."&gt;
&lt;p&gt;Martin Grubinger lists what works and what still doesn’t: URLs and the back button behave the way the web intended, there are no 100MB downloads, and an update reaches users in one page reload instead of days of app review. The pain points are iOS install flows, Chromium install prompts driven by shifting heuristics, in-app browsers for outbound links, and missing capabilities like reading the Wi-Fi network name.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://grooovinger.com/notes/progressive-web-apps-mostly-rock&quot;&gt;grooovinger.com/notes/progressive-web-apps-mostly-rock&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>Five best practices for preventing chaos in Tailwind CSS</title>
			<link href="https://web-standards.dev/news/2026/08/preventing-chaos-in-tailwind-css/"/>
			<updated>2026-08-13T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/preventing-chaos-in-tailwind-css/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/preventing-chaos-in-tailwind-css/cover.avif" width="1920" height="1080" alt="Evil Martians logo, title “5 best practices for preventing chaos in Tailwind CSS”, tags Blog Post, Frontend, Tailwind CSS, and a green alien surfing a wave on a surfboard."&gt;
&lt;p&gt;Nina Torgunakova argues utility-first styling scales only on top of a design system and component architecture. Cut class noise with shorthands like &lt;code&gt;py-4&lt;/code&gt;, define semantic tokens once in &lt;code&gt;@theme&lt;/code&gt; or &lt;code&gt;tailwind.config.js&lt;/code&gt;, and automate ordering with the official Prettier plugin. Expose fixed component variants instead of arbitrary classes through props. Tailwind 4 minifies automatically, 3 needs &lt;code&gt;--minify&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://evilmartians.com/chronicles/5-best-practices-for-preventing-chaos-in-tailwind-css&quot;&gt;evilmartians.com/chronicles/5-best-practices-for-preventing-chaos-in-tailwind-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>How Baseline can help you ship less JavaScript</title>
			<link href="https://web-standards.dev/news/2026/08/baseline-ship-less-javascript/"/>
			<updated>2026-08-12T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/baseline-ship-less-javascript/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/baseline-ship-less-javascript/cover.avif" width="1920" height="1080" alt="New on Smashing Magazine: “How Baseline Can Help You Ship Less JavaScript”, tagged JavaScript, Coding, Techniques, written by Jad Joubran, beside a running red cat and a bird."&gt;
&lt;p&gt;Jad Joubran walks through five dependency clusters where platform features replace npm packages: &lt;code&gt;Intl&lt;/code&gt; formatters instead of timeago.js and numeral, &lt;code&gt;fetch&lt;/code&gt; with &lt;code&gt;AbortSignal.timeout()&lt;/code&gt; instead of axios, &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; and Popover instead of modal and tooltip libraries, &lt;code&gt;structuredClone&lt;/code&gt; and &lt;code&gt;Object.groupBy&lt;/code&gt; instead of Lodash. Temporal is the exception: its 44KB polyfill still cancels out the savings.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2026/08/how-baseline-can-help-ship-less-javascript/&quot;&gt;smashingmagazine.com/2026/08/how-baseline-can-help-ship-less-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>Source maps or not?</title>
			<link href="https://web-standards.dev/news/2026/08/source-maps-or-not/"/>
			<updated>2026-08-11T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/source-maps-or-not/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/source-maps-or-not/cover.avif" width="1920" height="1080" alt="e18e.dev / blog with the title “Source maps or not?”, subtitle “Source maps are great for debugging, but should we be shipping them in production?”, by James Garbutt &amp;amp; Alex Lichter, July 30, 2026."&gt;
&lt;p&gt;James Garbutt and Alex Lichter explain when npm packages should ship source maps, and when they just bloat installs. Publishing them grew the change-case package from 7.2KB to 22.7KB, while dropping them cut magic-string from 241KB to 155KB. Source maps only pay off when the published code is lossy: minified output or compiled syntaxes like Vue SFCs. Ship readable, unminified library code, or host sources remotely with &lt;code&gt;sourceRoot&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://e18e.dev/blog/source-maps-or-not.html&quot;&gt;e18e.dev/blog/source-maps-or-not.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>
		<entry>
			<title>State of CSS 2026 survey results</title>
			<link href="https://web-standards.dev/news/2026/08/state-of-css-2026/"/>
			<updated>2026-08-10T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/state-of-css-2026/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/state-of-css-2026/cover.avif" width="1920" height="1080" alt="“State of CSS 2026” logo with sections Features, Pain Points, Other Tools, CSS Usage, Resources, Demographics, Awards, Conclusion, and a chart: Grid 31%, Browser vendor issues 17%, Flexbox 16%."&gt;
&lt;p&gt;Sacha Greif and Devographics polled 4,902 developers, and anchor positioning came out as the year’s favorite new feature, topping both the wish list and the browser support complaints. View Transitions and &lt;code&gt;if()&lt;/code&gt; hit the same wall. CSS also resists AI, with only 28% of code generated on average, well below other stacks. Positioning, &lt;code&gt;:has()&lt;/code&gt;, and &lt;code&gt;@container&lt;/code&gt; size queries lead the pain points.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://2026.stateofcss.com/en-US&quot;&gt;2026.stateofcss.com/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>Dark mode toggles: two states are enough</title>
			<link href="https://web-standards.dev/news/2026/08/dark-mode-toggles-two-states-are-enough/"/>
			<updated>2026-08-07T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/dark-mode-toggles-two-states-are-enough/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/dark-mode-toggles-two-states-are-enough/cover.avif" width="1920" height="1080" alt="Title “Dark mode toggles: two states are enough” by Lea Verou, PhD, beside four browser mockups with “System appearance” sun and moon toggles, shown in light and dark themes."&gt;
&lt;p&gt;Lea Verou argues the common three-state light, dark, and system control is implementation-driven design, since people switch themes only when the current one feels wrong, not to plan ahead. Keep three states under the hood, show two, and label the toggle with the theme it will switch to. Clearing the stored override should happen only through user interaction. Tri-state still fits a separate settings panel.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://lea.verou.me/blog/2026/dark-mode-toggles/&quot;&gt;lea.verou.me/blog/2026/dark-mode-toggles&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>Styling the navigation: declarative route and navigation matching in CSS</title>
			<link href="https://web-standards.dev/news/2026/08/route-and-navigation-matching-in-css/"/>
			<updated>2026-08-06T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/route-and-navigation-matching-in-css/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/route-and-navigation-matching-in-css/cover.avif" width="1920" height="1080" alt="Title “Styling the Navigation: Declarative Route and Navigation Matching in CSS”, clay monster cards labeled “Zorp” and “Fluffy” with a hand cursor, and a @navigation code snippet."&gt;
&lt;p&gt;Bramus Van Damme walks through a CSS Route and Navigation Matching proposal that lets you style navigation declaratively instead of wiring it up in JavaScript. It adds a &lt;code&gt;@route&lt;/code&gt; rule to name routes with URL patterns, a &lt;code&gt;@navigation&lt;/code&gt; rule to react to a navigation’s &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt;, a &lt;code&gt;:nav-source&lt;/code&gt; pseudo-class for the triggering element, and a &lt;code&gt;:link-to()&lt;/code&gt; selector to style links by destination.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.bram.us/2026/07/30/styling-the-navigation-declarative-route-and-navigation-matching-in-css/&quot;&gt;bram.us/2026/07/30/styling-the-navigation-declarative-route-and-navigation-matching-in-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>3D CSS guide: perspective, preserve-3d and translateZ</title>
			<link href="https://web-standards.dev/news/2026/08/3d-css-guide/"/>
			<updated>2026-08-05T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/3d-css-guide/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/3d-css-guide/cover.avif" width="1920" height="1080" alt="Title “3D CSS, from Super Mario Bros 3 to Mario 64” with axis, angle, translateZ, and scale sliders beside an isometric 3D scene of green and brown blocks, coins, and a star cube."&gt;
&lt;p&gt;Carmen Ansio walks through building real 3D scenes in CSS, framing it as the leap from Super Mario Bros 3’s painted depth to Super Mario 64’s true camera. The tour covers &lt;code&gt;perspective&lt;/code&gt; and &lt;code&gt;perspective-origin&lt;/code&gt; to place a camera, &lt;code&gt;preserve-3d&lt;/code&gt; to keep real depth, reusable cuboids, animated camera moves, and &lt;code&gt;translateZ&lt;/code&gt;, &lt;code&gt;rotateX/Y/Z&lt;/code&gt;, &lt;code&gt;scale3d&lt;/code&gt;, and &lt;code&gt;matrix3d&lt;/code&gt;. All six properties are Baseline.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.carmenansio.com/articles/3d-css-guide/&quot;&gt;carmenansio.com/articles/3d-css-guide&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>Liquid Glass 2.0 in CSS (Aqua’s revenge)</title>
			<link href="https://web-standards.dev/news/2026/08/liquid-glass-css-aqua-revenge/"/>
			<updated>2026-08-04T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/liquid-glass-css-aqua-revenge/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/liquid-glass-css-aqua-revenge/cover.avif" width="1920" height="1080" alt="Title “Liquid Glass 2.0 in CSS (Aqua’s Revenge)”, a CSS @property snippet, and five glass buttons reading “It’s Aqua, Yet Refined” with star and check icons over different backgrounds."&gt;
&lt;p&gt;Jared White recreates Apple’s refined Liquid Aqua look in pure CSS, adding dark contrasting borders on the horizontal axis and vertical gradient that echoes the old macOS Aqua. He walks through tuning colors, transparency, and gradient stops, using &lt;code&gt;@property&lt;/code&gt; for CSS variables, handling repeated &lt;code&gt;:active&lt;/code&gt; states, and wiring &lt;code&gt;ontouchstart&lt;/code&gt; for touchscreens, all while warning not to trade readability for shine.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://thathtml.blog/2026/07/liquid-glass-in-css-liquid-aqua/&quot;&gt;thathtml.blog/2026/07/liquid-glass-in-css-liquid-aqua&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 infinity use cases</title>
			<link href="https://web-standards.dev/news/2026/08/css-infinity-use-cases/"/>
			<updated>2026-08-03T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/08/css-infinity-use-cases/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/08/css-infinity-use-cases/cover.avif" width="1920" height="1080" alt="Title “CSS Infinity &amp;amp; Beyond” with the nerdy.dev skull logo and “CSS Infinity Use Cases” below, beside Buzz Lightyear flying with his wings extended."&gt;
&lt;p&gt;Adam Argyle explores what &lt;code&gt;calc(infinity * 1px)&lt;/code&gt; and &lt;code&gt;-infinity&lt;/code&gt; can do beyond a hack for pill shapes. Use them for perfect circles, maxing out &lt;code&gt;z-index&lt;/code&gt; at the integer limit, freezing animations with infinite durations to inspect view transitions in DevTools, removing floor and ceiling limits in &lt;code&gt;clamp()&lt;/code&gt;, building boolean logic, and controlling scroll-driven animation ranges. Elegant, and plain fun to use.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://nerdy.dev/css-infinity-use-cases&quot;&gt;nerdy.dev/css-infinity-use-cases&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>Cheatsheets for flex, grid, anchor positioning and invoker commands</title>
			<link href="https://web-standards.dev/news/2026/07/cheatsheets-flex-grid-anchor-invoker/"/>
			<updated>2026-07-31T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/cheatsheets-flex-grid-anchor-invoker/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/cheatsheets-flex-grid-anchor-invoker/cover.avif" width="1920" height="1080" alt="Title “Cheatsheets for flex, grid, anchor positioning and invoker commands” and four overlapping Polypane cheatsheet cards: CSS Flexbox, CSS Grid, Anchor Positioning, and Invoker Commands."&gt;
&lt;p&gt;Kilian Valkhof shares four CSS references he made after repeatedly forgetting anchor positioning and &lt;code&gt;grid-area&lt;/code&gt; syntax. Each is a desk-side lookup for the properties and values of its topic. They are free to download as PDF and PNG in print-ready A5.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://polypane.app/blog/cheatsheets-for-flex-grid-anchor-positioning-and-invoker-commands/&quot;&gt;polypane.app/blog/cheatsheets-for-flex-grid-anchor-positioning-and-invoker-commands&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 secure way to release an npm package in 2026</title>
			<link href="https://web-standards.dev/news/2026/07/secure-npm-package-release-2026/"/>
			<updated>2026-07-30T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/secure-npm-package-release-2026/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/secure-npm-package-release-2026/cover.avif" width="1920" height="1080" alt="Evil Martians logo and the title “The secure way to release an npm package in 2026” beside a startled green Martian and an npm box with a jack-in-the-box smiley on a spring."&gt;
&lt;p&gt;Andrey Sitnik breaks down how supply chain attacks now run semi-automatically, compromising hundreds of packages a day, and frames security as raising the cost for attackers rather than chasing perfection. The quick wins, most doable in under a day, include npm Trusted and Staged Publishing, org-wide 2FA, admin-only tags, CI actions pinned to SHA, and a 3-day dependency cooldown.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://evilmartians.com/chronicles/the-secure-way-to-release-an-npm-package&quot;&gt;evilmartians.com/chronicles/the-secure-way-to-release-an-npm-package&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 151</title>
			<link href="https://web-standards.dev/news/2026/07/chrome-151/"/>
			<updated>2026-07-29T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/chrome-151/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/chrome-151/cover.avif" width="1920" height="1080" alt="Graphic with the text “New in Chrome” and the number 151, alongside the Chrome logo on a yellow grid background."&gt;
&lt;p&gt;The new &lt;code&gt;&amp;lt;usermedia&amp;gt;&lt;/code&gt; element manages camera and microphone access, handling prompts and &lt;code&gt;MediaStream&lt;/code&gt; delivery without a separate &lt;code&gt;getUserMedia()&lt;/code&gt; call. The &lt;code&gt;shadowrootslotassignment&lt;/code&gt; attribute on &lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt; enables manual slot assignment in HTML. Two new performance entries, &lt;code&gt;soft-navigation&lt;/code&gt; and &lt;code&gt;interaction-contentful-paint&lt;/code&gt;, measure interaction-driven timing in single-page apps.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/release-notes/151&quot;&gt;developer.chrome.com/release-notes/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>WebKit features for Safari 26.6</title>
			<link href="https://web-standards.dev/news/2026/07/safari-26-6/"/>
			<updated>2026-07-28T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/safari-26-6/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/safari-26-6/cover.avif" width="1920" height="1080" alt="Safari Web Inspector Timelines view with Layout &amp;amp; Rendering, JavaScript &amp;amp; Events, CPU, and Memory graphs, overlaid by the Safari icon and the headline “WebKit Features for Safari 26.6”."&gt;
&lt;p&gt;Jen Simmons covers a small but focused update: a new &lt;code&gt;compileOptions&lt;/code&gt; parameter lets you use JS String Builtins with &lt;code&gt;WebAssembly.compileStreaming()&lt;/code&gt; and &lt;code&gt;instantiateStreaming()&lt;/code&gt; without falling back to non-streaming compilation. Plus eight bug fixes across CSS, networking, service workers, web extensions, and WebRTC.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/18178/webkit-features-for-safari-26-6/&quot;&gt;webkit.org/blog/18178/webkit-features-for-safari-26-6&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>Cross-Origin Storage API: stop downloading twice</title>
			<link href="https://web-standards.dev/news/2026/07/cross-origin-storage-api/"/>
			<updated>2026-07-27T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/cross-origin-storage-api/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/cross-origin-storage-api/cover.avif" width="1920" height="1080" alt="“Cross-Origin Storage” title with the subtitle “Share one copy of a file across origins” above a code editor window and the name Dennis Morello."&gt;
&lt;p&gt;Dennis Morello explains a proposed browser standard that stores and retrieves large files by their SHA-256 hash instead of URLs, creating a shared cache across origins. A single &lt;code&gt;requestFileHandle()&lt;/code&gt; method returns the file if present or downloads and stores it. Privacy is built in: no file enumeration, ambiguous not-found responses, and a public hash list for globally shared files.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://morello.dev/blog/cross-origin-storage-api&quot;&gt;morello.dev/blog/cross-origin-storage-api&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>Building an accessible modal dialog on the native &lt;dialog&gt;</title>
			<link href="https://web-standards.dev/news/2026/07/accessible-modal-dialog/"/>
			<updated>2026-07-24T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/accessible-modal-dialog/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/accessible-modal-dialog/cover.avif" width="1920" height="1080" alt="“Building an accessible modal dialog on the native &amp;lt;dialog&amp;gt;” title above a modal “Delete account?” with the text “This permanently removes your account and data. This cannot be undone” and buttons."&gt;
&lt;p&gt;Agustin Barrientos leans on &lt;code&gt;showModal()&lt;/code&gt; to get focus trapping, Escape to close, and focus restoration for free, then wraps it in a reusable Lit component with typed events. He sets deliberate initial focus, adds light-dismiss with the &lt;code&gt;closedby&lt;/code&gt; attribute, animates with the &lt;code&gt;:open&lt;/code&gt; pseudo-class and &lt;code&gt;@starting-style&lt;/code&gt;, and respects &lt;code&gt;prefers-reduced-motion&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://agustinbarrientos.com/writing/senior-eye/accessible-modal-dialog/&quot;&gt;agustinbarrientos.com/writing/senior-eye/accessible-modal-dialog&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>Rebuilding FIFA standings layout with CSS subgrid</title>
			<link href="https://web-standards.dev/news/2026/07/fifa-standings-subgrid/"/>
			<updated>2026-07-23T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/fifa-standings-subgrid/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/fifa-standings-subgrid/cover.avif" width="1920" height="1080" alt="Rebuilding FIFA Standings Layout with CSS Subgrid title above a tournament bracket of country flags and a photo of the author, beside a CSS code block using subgrid."&gt;
&lt;p&gt;Ahmad Shadeed reconstructs the World Cup bracket with a cleaner DOM, dropping the site’s wrapper hacks. CSS Grid defines the columns and rows, subgrid lets nested matches inherit the parent tracks, and negative grid lines like &lt;code&gt;grid-column: -2&lt;/code&gt; keep positioning flexible. Flexbox centers each match vertically, and container queries adapt the layout as space changes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://ishadeed.com/article/fifa-layout/&quot;&gt;ishadeed.com/article/fifa-layout&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 153 release notes for developers</title>
			<link href="https://web-standards.dev/news/2026/07/firefox-153/"/>
			<updated>2026-07-22T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/firefox-153/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/firefox-153/cover.avif" width="1920" height="1080" alt="Screenshot of browser developer tools with a large Firefox logo overlaid and the text “Firefox 153”."&gt;
&lt;p&gt;This release adds &lt;code&gt;Intl.Locale&lt;/code&gt; info methods like &lt;code&gt;getCalendars()&lt;/code&gt;, &lt;code&gt;getWeekInfo()&lt;/code&gt;, and &lt;code&gt;getTextInfo()&lt;/code&gt;, the &lt;code&gt;Error.stackTraceLimit&lt;/code&gt; property, &lt;code&gt;import source&lt;/code&gt; for loading unevaluated modules, &lt;code&gt;getAllRecords()&lt;/code&gt; for IndexedDB object stores and indexes, desktop Picture-in-Picture API support, WebAssembly JS Promise Integration via &lt;code&gt;WebAssembly.Suspending&lt;/code&gt;, and the experimental &lt;code&gt;link-parameters&lt;/code&gt; CSS property for passing parameters to SVG.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153&quot;&gt;developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153&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>SVG filters on type</title>
			<link href="https://web-standards.dev/news/2026/07/svg-filters-on-type/"/>
			<updated>2026-07-21T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/svg-filters-on-type/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/svg-filters-on-type/cover.avif" width="1920" height="1080" alt="SVG Filters on Type title with the words Ink Bleed, Foundry, Mercury, Woodtype, and Signal each styled with a different filter effect, above SVG filter code and a photo of the author."&gt;
&lt;p&gt;Carmen Ansio shows how SVG filter primitives recreate historical printing effects on web typography: &lt;code&gt;feMorphology&lt;/code&gt; draws true outer strokes, stacked &lt;code&gt;feOffset&lt;/code&gt; layers extrude letters into 3D, &lt;code&gt;feSpecularLighting&lt;/code&gt; mimics light on raised type, and &lt;code&gt;feDisplacementMap&lt;/code&gt; with &lt;code&gt;feTurbulence&lt;/code&gt; distorts text organically. She builds gilded initials, chromatic splits, neon glow, and gooey letter merging, with notes on sRGB blending and performance.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.carmenansio.com/articles/svg-filters-on-type/&quot;&gt;carmenansio.com/articles/svg-filters-on-type&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>Playing with text-fit</title>
			<link href="https://web-standards.dev/news/2026/07/playing-with-text-fit/"/>
			<updated>2026-07-20T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/playing-with-text-fit/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/playing-with-text-fit/cover.avif" width="1920" height="1080" alt="Playing with text-fit title above an HTML panel with h1 { text-fit: grow } and the heading “This might be very nice!” rendered large below, beside a headshot."&gt;
&lt;p&gt;Krijn Hoetmer explores the new &lt;code&gt;text-fit&lt;/code&gt; CSS property, filling the gap while docs are still sparse. It scales text automatically: &lt;code&gt;grow&lt;/code&gt; enlarges from the base size, &lt;code&gt;shrink&lt;/code&gt; reduces it to fit the container. Modes let you scale consistently, per line, or per line including the last, with optional percentages setting min and max limits. It only affects rendering, so the computed &lt;code&gt;font-size&lt;/code&gt; stays put. For now, it’s only in Chrome 150.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://krijnhoetmer.nl/log/2026/07/playing-with-text-fit&quot;&gt;krijnhoetmer.nl/log/2026/07/playing-with-text-fit&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>Do we still need build tools?</title>
			<link href="https://web-standards.dev/news/2026/07/do-we-still-need-build-tools/"/>
			<updated>2026-07-17T12:00:00+02:00</updated>
			<id>https://web-standards.dev/news/2026/07/do-we-still-need-build-tools/</id>
			<content type="html">
&lt;img src="https://web-standards.dev/news/2026/07/do-we-still-need-build-tools/cover.avif" width="1920" height="1080" alt="Do we still need frontend build tools? Code panels show link rel=modulepreload tags and import statements with type json, text, bytes, and css over a blurred blue backdrop of code."&gt;
&lt;p&gt;Ollie Williams weighs whether frontend tooling still earns its place in 2026. Vendor prefixes and Sass fade as CSS gains nesting, custom properties, and color functions, yet bundling and minification still pay off for compression and fewer requests. On the JS side, module preloading can replace bundling for small projects, transpilers default to modern output, and JSDoc adds types without a build step.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://olliewilliams.xyz/blog/no-build/&quot;&gt;olliewilliams.xyz/blog/no-build&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>
