
Modern CSS theming with light-dark(), contrast-color(), and style queries
Accessible, composable color themes that adapt elevation to light and dark modes.
Daily web platform news

light-dark(), contrast-color(), and style queriesAccessible, composable color themes that adapt elevation to light and dark modes.

How balanced column heights break keyboard focus order, and how to fix it.

A synthesis of developer feedback maps the platform’s eleven biggest gaps.

random() in CSSA new function brings randomized values to layout, animation, and visual effects.

Morph a button into a <dialog> by swapping view-transition-name inside startViewTransition().

A pseudo-element covers the card surface but stops short of the secondary actions.

ESM-only, Node.js 22+, modern browser target, and assumptions over loose and spec.

How headingoffset shifts heading levels in the accessibility tree without changing tags.

A platform-agnostic reference of features every quality website should have.

New web platform APIs for inserting HTML out of order into specific document locations.

Browser-native XSS-safe HTML insertion without DOMPurify or other libraries.

<canvas>An experimental Chrome API that draws real HTML into <canvas>, with pixel and shader effects.

How sizes="auto" with loading="lazy" lets browsers handle most responsive images.

A web component for isolated code sandboxes without third-party embeds.

light-dark(), contrast-color(), and style queriesAccessible, composable color themes that adapt elevation to light and dark modes.

How balanced column heights break keyboard focus order, and how to fix it.

A synthesis of developer feedback maps the platform’s eleven biggest gaps.

random() in CSSA new function brings randomized values to layout, animation, and visual effects.

Morph a button into a <dialog> by swapping view-transition-name inside startViewTransition().

A pseudo-element covers the card surface but stops short of the secondary actions.

Custom functions in CSS: typed arguments, private internals, return validation, and DX gotchas.

ESM-only, Node.js 22+, modern browser target, and assumptions over loose and spec.

A tiny library that exposes runtime state to CSS through custom properties.

Marking sync code as async changes its contract and propagates Promises through callers.

How CSS, Web Animations API, GSAP, and Motion behave under main-thread congestion.

Browser-native XSS-safe HTML insertion without DOMPurify or other libraries.

A look at the TC39 ShadowRealm proposal for isolating JavaScript in clean execution contexts.

Five approaches compared with their caching and CORS trade-offs.

light-dark(), contrast-color(), and style queriesAccessible, composable color themes that adapt elevation to light and dark modes.

How balanced column heights break keyboard focus order, and how to fix it.

A pseudo-element covers the card surface but stops short of the secondary actions.

How headingoffset shifts heading levels in the accessibility tree without changing tags.

A platform-agnostic reference of features every quality website should have.

Use dir="auto" for RTL input and logical CSS properties for fully localized interfaces.

Practical Playwright patterns for testing what automated scanners miss.

field-sizing for form controls, Notification actions, and pointer lock unadjustedMovement.

Six WebKit sessions on Safari 27, grid lanes, customizable <select>, <model> element, and extensions.

58 new features, 525 fixes, customizable <select>, scroll anchoring, and WebAssembly JSPI.

CSS gap decorations, shape-outside functions, SVG path-length, crisp-edges, and back/forward cache for WebSocket.

@container style() queries, Document Picture-in-Picture, desktop Web Serial, and keyboardLock.

How Safari and Firefox quietly patch the web to keep big sites working.

The :open pseudo-class, element-scoped random(), Origin API, and 63 bug fixes.