@webstandardsdevi
iAccount based inGermany
About this account
- Account based in
- Germany
- Connected via
- Germany App Store
Account-level information from X, not a live location or the device used for a specific post.
Browsers situationship: when browsers agree but the spec doesn’t. @atbrakhi explains why a spec sometimes moves toward browser behavior instead of the other way around, and how tests and Web compatibility bring them back to one result. #browser #interop
atbrakhi.dev/blog/browsers-s…
One SVG, nine posters: CSS link-parameters. @pepelsbey_dev passes colors into an external SVG with link-parameters and param(), while the file's own env() fallbacks keep it working everywhere else. Experimental in Firefox Nightly and Safari TP. #css #svg
pepelsbey.dev/articles/svg-l…
The root scroller and how not to lose it. @kilianvalkhof shows how an app shell with a fixed-height wrapper and overflow replaces the page's own scroll container, losing keyboard scrolling and pull-to-refresh, and what to use instead. #css #scroll
polypane.app/blog/the-root-s…
Responsive iframes in Chrome 154. Sebastian Benz and @bramus introduce frame-sizing, a CSS property that sizes an <iframe> to its content, with a <meta> element opt-in and window.requestResize() for later updates. #html #css
developer.chrome.com/blog/re…
Better icon and label alignment. @shadeed9 lines an icon up with the first line of a wrapping label using the lh unit: half the difference between the line box and the icon size, applied as a translateY offset. #css #layout
ishadeed.com/article/alignin…
Sidenotes with CSS anchor positioning. Vincent Bernat pulls notes into the margin with anchor-name, position-anchor, and typed attr(), then uses max() with anchor() so a note lines up with its reference mark or drops below the previous one. #css #anchor
vincent.bernat.ch/en/blog/20…
Modern web types. @philwalton published a drop-in replacement for TypeScript’s DOM types with a single-engine threshold, so the View Transition API, Long Animation Frame API, and fetchLater() stop showing up as errors. #tools #js
philipwalton.com/articles/mo…
WebKit features in Safari 27. Apple’s release notes list 83 new features and 844 fixes: customizable <select>, scroll anchoring, WebAssembly JSPI, ariaNotify(), :heading, revert-rule, stretch sizing, and import defer. #safari #css
developer.apple.com/document…
Firefox 156 release notes for developers. The Inspector resolves var(), attr(), and env() down to their source, scheduler.yield() keeps the task’s priority across synchronous awaits, and Promise.try() passes native promises through. #firefox #browser
developer.mozilla.org/en-US/…
The browser’s main thread is expensive. @kciter explains how to fit JavaScript, styles, layout, and events into 10 milliseconds per frame: split long tasks and yield, batch frequent events, or move work to the compositor or a Worker. #performance #js
kciter.so/posts/the-expensiv…
Make your logo brighter than white. Chris Bennett built a tool that turns a logo into a gain-map JPEG, so the colors you pick shine up to 7.5 times brighter than plain white on HDR screens and stay a normal JPEG everywhere else. #color #image
soverybright.com/
What’s new in Chrome 153. The <camera> and <microphone> elements request media capture declaratively, overflow: scroll clip makes a scroll container on one axis only, and Iterator.zip() aggregates several iterators at once. #chrome #browser
developer.chrome.com/release…
You don’t need initial-scale in your HTML. Declan Chidlow and Peter-Paul Koch published the same finding: the <meta name="viewport"> element only needs width=device-width, and Safari no longer needs the hint. #html #browser
vale.rocks/micros/20260902-1…
quirksmode.org/quirksblog/20…
Container style queries and advanced attr(): rethinking how to wire up components in CSS. @utilitybend casts attributes like data-gap="2" into typed CSS values and lets @container style() queries rescale a whole card from one variable. #css #component
utilitybend.com/blog/contain…
Submit your proposals for Interop 2027. The call is open until September 23rd. A proposal needs a stable specification and Web Platform Tests that run automatically in all four browsers, plus evidence that developers hit the problem. #interop #wpt
github.com/web-platform-test…
Fine, I'll build my own text editor! David Bushell compares canvas, contenteditable with plaintext-only, and a plain <textarea> for building an editor in the browser, and finds the humble <textarea> the fastest of the three. #html #performance
dbushell.com/2026/09/01/text…
Feature detecting undetectable CSS features with @supports named-feature(). @bramus explains the new function that checks what @supports can’t reach, like whether gap actually works in a flex container and not just parses. #css #interop
bram.us/2026/08/27/feature-d…
Firefox 155 release notes for developers. This expands attr() to any CSS property, adds the progress() and alpha() functions, renames font-stretch to font-width, and brings Promise.allKeyed(). Scroll-driven animations are behind a flag. #firefox #browser
developer.mozilla.org/en-US/…
Getting agents to write better CSS. @utilitybend pairs Google’s Modern Web Guidance, which feeds Baseline-aware platform guidance into coding agents, with three skills of his own for token tiers, theming, and component states. #ai #css
utilitybend.com/blog/modern-…
Highlighting a range of text inside a form field. @hypeddev shows how OpaqueRange brings the CSS Custom Highlight API to form controls: call createValueRange() and style the result with ::highlight(). Chromium 152 only for now. #chrome #js
olliewilliams.xyz/blog/opaqu…