Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand respect and accountability. Hide

Frontend Dogma

News and Tools for Web Developers, 1990s to Now (6)

→ Stay up-to-date on all topics by various RSS feeds (main feed with exclusive news: only $1/month), on Mastodon, and on Bluesky

Entry (Sources) and TopicsDate#
Making Complex Web Apps Faster (pat)21037
performance, web-apps, apis, time, complexity
Frontend News #19: CSS “overscroll-behavior”, “scrollbar-gutter”, “text-grow” Properties, and More (zor/css)21036
videos, css, scrolling
Why RSS Matters (wer)21035
rss, syndication, social-media
“aria-busy” Is Not Your Friend (ger)21034
accessibility, aria, nvda, jaws, voiceover, screen-readers
Testing Methods: Language of Page (dec)21033
accessibility, testing, wcag, internationalization
Meeting WCAG Is an Achievement (yat)21032
accessibility, wcag, compliance
Why Every Conference Needs a Nursing Room (bla)21031
community, dei
The Inconvenient Truth: How Web Performance Case Studies Undermine Our Relationship With Business (mac/per)21030
performance, metrics, economics
Discover Dialog (sar/mat)21029
html, modals, javascript, css
Thursday, December 18, 2025 Security Releases (nod)21028
release-notes, nodejs, security
Did You Know Your Browser Has Two Accessibility Trees? (rus)21027
accessibility, browsers, chrome, blink
CSS Wrapped 2025 (una)21026
css, standards, retrospectives
Type-Aware Linting Alpha (cam/bos)21025
linting, tooling, oxc
Comparing HTML Minifiers (j9t)21024
html, minification, tooling, html-minifier, htmlnano, metrics, comparisons
Why Federated Design Systems Keep Failing (sha)21023
design-systems, collaboration
Design Accessible Animation and Movement With Code Examples (pop)21022
design, accessibility, animations, css, javascript, examples
Getting a Close Button to Hang Off of a Dialog (dar)21021
modals, buttons, css, anchor-positioning
Blogging Is Dead. Long Live the Blog. (web)21020
blogging, seo, ai, social-media, web
What’s Wrong With This HTML, and Is It Valid? (pat/mat)21019
html, standards, conformance, web-platform
The Anatomy of a Web Performance Report (web/per)21018
performance, documentation, web-vitals, lighthouse
That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css)21017
html, css, learning
Web Performance 2025: The Shift From Optimization to Prediction (fab/per)21016
performance, optimization, retrospectives
Testing Methods: Dragging Movements (dec)21015
accessibility, testing, wcag
Controlling Dialogs and Popovers With the Invoker Commands API (sta/mat)21014
modals, pop-overs, apis, attributes, html
The Sensations of Building Software With LLMs21013
ai, comparisons
A Guide to Token-Efficient Data Prep for LLM Workloads21012
guides, ai, token-optimization, economics
Testing Methods: Concurrent Input Mechanisms (dec)21011
accessibility, testing, wcag
NoLoJS: Reducing the JS Workload With HTML and CSS (aar/per)21010
html, disclosure-widgets, forms, modals, pop-overs, navigation, scrolling, positioning
Accessible by Design: The Role of the “lang” Attribute (col/mat)21009
accessibility, internationalization, html, attributes, metrics
2025 in Review: What’s New in Web Performance? (mat/deb)21008
performance, web-vitals, lighthouse, apis, speculation, chrome, firefox, browsers, dev-tools, tooling, testing, mcp, ai, retrospectives, outlooks
What Are DOM Mutations? (rus)21007
accessibility, dom, javascript
Dealbreaker Bugs in Native Popovers (mat)21006
accessibility, pop-overs, bugs
Lies, Damned Lies, and Design System Adoption Statistics (ikn)21005
design-systems
How We’re Protecting Our Newsroom From npm Supply Chain Attacks (rya/pnp)21004
npm, dependencies, security, case-studies
Testing Methods: Target Size (Enhanced) (dec)21003
accessibility, testing, wcag, touch
How I Built a Form Management Platform With Angular 17 and SurveyJS21002
functionality, forms, angular, tooling
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)21001
canvas, javascript, images, performance
10 Usability Heuristics21000
usability, heuristics
IDREFs: What They Are and How to Use Them (kil/mat)20999
html, forms, aria, accessibility
No More Tokens—Locking Down npm Publish Workflows (zac)20998
npm, dependencies, security, processes
Why You Need Design Maturity in a Product Organisation, and How to Get It20997
design, product-management
Fast by Default (den/per)20996
performance, processes
I Studied 50+ Engineers Who Got Promoted Fast: They All Did One Thing I’d Been Ignoring20995
career, collaboration
Testing Methods: Motion Actuation (dec)20994
accessibility, testing, wcag, mobile
Standards Queues (bka)20993
standards, web-platform, collaboration
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)20992
netscape, javascript, history
The Web Runs on Tolerance (ede)20991
web-platform, standards, principles
Referencing HTML Elements Inside Shadow DOM (meh/mat)20990
html, shadow-dom, web-components
Getting Creative With “the Measure” (mal/css)20989
css, typography, readability
The Timing Problem in Design Systems (mur)20988
design-systems, components
End-to-End Browser and Accessibility Event Architecture (rus)20987
accessibility, browsers, event-loop, browser-engines, javascript-engines, assistive-tech
During Helene, I Just Wanted a Plain Text Website (spa)20986
content
The Downsides of “scrollbar-gutter: stable;” (and One Weird Trick) (chr/fro)20985
css, scrolling
A Little Bit Uncomfortable20984
career, learning
Solving Small Text and Contrast Issues for Large-Screen Readability (a11)20983
accessibility, contrast, readability, typography
Common Misconceptions About Disability (tet)20982
accessibility, concepts
Public Design Systems Are Worth It (pjo)20981
design-systems
TypeScript Strictness Is Non-Monotonic: Strict-Null-Checks and No-Implicit-Any Interact (huo)20980
typescript, arrays
Intopia Launches Assistive Technology Survey 2025 (int)20979
surveys, assistive-tech
Speculation Rules Improvements (tun/mat)20978
performance, speculation, apis
Testing Methods: Label in Name (dec)20977
accessibility, testing, wcag, labels, aria
HTML Semantics: The Short Descriptions of All 113 Elements (j9t)20976
html, semantics, overviews
Critical Security Vulnerability in React Server Components (rea)20975
react, components, security
[Next.js] Security Advisory: CVE-2025-66478 (seb)20974
nextjs, security
Get the Core Right and the Resilient Code Will Follow (bel/btc)20973
videos, resilience, design, communication
Web Backstories: Shadow DOM (ada+/iga)20972
podcasts, interviews, shadow-dom, web-components, standards, history
How Does Amazon’s Kiro Differ From Traditional IDEs? (ele/des)20971
guest-posts, kiro, code-editors
Understanding “aria-live” Timing: A Two-Layer Model (rus)20970
accessibility, aria, live-regions, notifications
Designing Decisions: Behavioral Psychology That Moves Users20969
design, interaction-design, user-experience
A Pragmatic Guide to Modern CSS Colours II (kev/pic)20968
guides, css, colors, examples
From Reactive to Proactive: Building a Sustainable Accessibility Program (equ)20967
accessibility, processes, culture, w3c
Scrollytelling on Steroids With Scroll-State Queries (css)20966
css, scrolling
Masonry: Things You Won’t Need a Library for Anymore (pat/sma)20965
css, masonry, layout, examples, web-platform
Exploring Large HTML Documents on the Web (per)20964
performance, html, metrics
Progress on TypeScript 7—December 2025 (dan/typ)20963
typescript
You Can’t Make Something Accessible to Everyone (aar)20962
accessibility, design
Testing Methods: Pointer Cancellation (dec)20961
accessibility, testing, wcag
Using the Ancient Evils for Debugging (bol/mat)20960
html, debugging
The Nuances of JavaScript Typing Using JSDoc (jar/van)20959
javascript, jsdoc, typescript, developer-experience
Bun Is Joining Anthropic (jar/bun)20958
bun, anthropic
Decreasing [Let’s Encrypt] Certificate Lifetimes to 45 Days (mat/let)20957
http, security, certificates, lets-encrypt
Anchor Positioning and the Inset-Modified Containing Block (IMCB) (bra)20956
css, anchor-positioning, concepts
What Sam Altman Just Taught Us About OKRs (Without Meaning To) (cwo)20955
okr, prioritization, processes, openai
The Practical Guide to LLM Cost Optimization20954
guides, ai, token-optimization, economics
Building Agentic Design Systems: The Future of AI-Enhanced Design20953
design-systems, design, ai, processes
The Next Revolution in Design: Emotional Accessibility (fas)20952
design, accessibility, outlooks
“Sloppy” Code and Accessibility Issues: The Trouble With Trump’s Silicon Valley-Inspired Web Design Project (not)20951
design, accessibility, quality, case-studies
Non-Square Image Blur Extensions (ana/fro)20950
images, css, effects
The Evolution of Web Development: From Static Pages to AI-Driven Experiences (web)20949
history, web, web-2.0, web-apps, ai
Improve TTFB and UX With HTTP Streaming (mb2/per)20948
performance, user-experience, http, streaming, optimization
React Has Changed, Your Hooks Should Too20947
react, hooks
Top Layer Troubles: Popover vs. Dialog (5t3/mat)20946
css, positioning, pop-overs, modals
Nobody Writes Clean Code—We All Just Pretend20945
quality, craft
Testing Methods: Pointer Gestures (dec)20944
accessibility, wcag, testing
Prevent a Page From Scrolling While a Dialog Is Open (geo/css)20943
scrolling, css
Web Design / Dev Advent Calendars for 2025 (aar)20942
link-lists, learning
Is Using Command Line AI an Option for Helping You Code?20941
ai, command-line, cursor, claude, code-editors
Can You Make Toast Messages Accessible? (ada)20940
accessibility, notifications
Testing Methods: Focus Appearance (dec)20939
accessibility, testing, wcag, focus, keyboard-navigation, link-lists
How to Unit Test a Vue Composable With TypeScript (joh)20938
how-tos, testing, vuejs, functions, typescript
Using CSS to Fix the Irradiation Illusion (arg)20937
css, readability, fonts
The Junior Hiring Crisis (ann/peo)20936
hiring, engineering-management, career, community
How Modern Browsers Work (add)20935
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, javascript, html, css
Testing Methods: Focus Not Obscured (Enhanced) (dec)20934
accessibility, testing, wcag, focus, keyboard-navigation
How Fast Can Browsers Process Base64 Data? (lem)20933
performance, encoding, base64, browsers, metrics, comparisons
How Good Engineers Write Bad Code at Big Companies (sea)20932
quality, career, culture
The Era of Personal Software20931
programming, ai
CSS-in-JS: The Great Betrayal of Frontend Sanity20930
css-in-js, css, javascript, performance, developer-experience
How Microfrontends Work: 3 Integration Strategies20929
micro-frontends, strategies, routing, iframes, javascript, ai
EAA Deadlines, Why You Probably Can’t Wait Another 5 Years20928
accessibility, eaa, legal, compliance
Category Theory for JavaScript/TypeScript Developers (ibr)20927
javascript, typescript, programming, craft
Who Wins When We Filter the Open Web Through an Opaque System? (hdv)20926
open-web
Web Application Architecture: The Enterprise Framework Powering Modern Digital Experiences (elu)20925
architecture, web-apps
Testing Methods: Focus Not Obscured (Minimum) (dec)20924
accessibility, testing, wcag, focus, keyboard-navigation
Understanding ECDSA [Elliptic Curve Digital Signature Algorithm]20923
cryptography, algorithms, math
Eleventy: How to Set Up Effective HTML Minification (in 24 Seconds) (j9t)20922
how-tos, eleventy, html, html-minifier, minification, optimization
One CSS Trick to Eliminate Scrollbar Layout Shifts (ami)20921
css, scrolling, tips-and-tricks
How to Create an Adaptive SVG Favicon Using the “prefers-color-scheme” Media Query (zor/css)20920
videos, how-tos, favicons, svg, css, images
The Idiot Sandwich—on Embedding Alt Text (ede)20919
images, alt-text, accessibility
5 Reasons Why WCAG AA Compliance Does Not Mean Your Website Is Accessible (cra)20918
accessibility, wcag, compliance, colors, readability, performance, content, multimedia, quality
AI for Good Accessibility (ala)20917
slides, ai, accessibility
The Accessibility Problem With Authentication Methods Like CAPTCHA (sma)20916
accessibility, captcha
Testing Methods: Section Headings (dec)20915
accessibility, testing, wcag, headings
New to the Web Platform in November20914
release-notes, web-platform, browsers, firefox, safari
Why Use React?20913
react, frameworks
Best of the Pod: Would You Shut Down Your Most Successful Product? the Arc to Dia Story20912
videos, the-browser-company, arc, dia, browsers, history, product-management
Ripple Over React? Evaluating the Newest JS Framework (log)20911
ripple, react, frameworks, comparisons
Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions (nat)20910
podcasts, interviews, cloudflare, wordpress, performance
Taking Down Next.js Servers for 0.0001 Cents a Pop20909
servers, nextjs, vulnerabilities, security
Testing Methods: Link Purpose (Link Only) (dec)20908
accessibility, testing, wcag, links, microcontent, link-lists
Accessibility and Usability: Inline Field Validation vs. Constantly Active Submit Button20907
forms, buttons, validation, accessibility, usability, comparisons
The End of Dashboards and Design Systems20906
design, design-systems
Critique20905
design, craft, collaboration, processes
What an Accessibility Conference Taught Me About Designing for All20904
design, accessibility
How to Add and Remove Items From a Native CSS Carousel (…With CSS) (dxn/fro)20903
how-tos, css, carousels, scrolling
What Are Invokers? Interactivity Without JavaScript (tol/syn)20902
videos, javascript, html, pop-overs
Migrating From GitHub to Codeberg (and/zig)20901
migrating, github, codeberg
Updating CSS Border Radius When a Container Is Overflowing (rik)20900
css, borders, overflow, scrolling
A New Navigation Paradigm20899
ai, navigation, design
Applying AI Where It Matters20898
studies, research, ai
Becoming Unblockable (sea)20897
career, prioritization, tooling, collaboration
Thoughts on Kagi’s Orion Browser vs. AI Browsers (dra)20896
orion, kagi, browsers, ai
Orion 1.0—Browse Beyond (kag)20895
browsers, orion, ai
“<dialog>” and Popover: Baseline Layered UI Patterns20894
modals, pop-overs, css
WebGPU Is Now Supported in Major Browsers20893
webgpu, browsers, support, web-platform
What Actually Makes You Senior (ter)20892
career
Animation and Carousels (web)20891
accessibility, animations, carousels, css, reduced-motion
Design Tokens Aren’t Enough—Architecture Decisions Need a Place in Your Design System (sam)20890
design-systems, design-tokens, architecture, documentation
Direction-Aware Arrow Shape Using Corner-Shape (css)20889
css, shapes
Testing Methods: Location (dec)20888
accessibility, testing, wcag, navigation
The Shai-Hulud 2.0 npm Worm: Analysis, and What You Need to Know20887
npm, security, dependencies
A Minimal CSS Starter (j9t)20886
css, templates, minimalism
Tech Predictions for 2026 and Beyond20885
outlooks, web
Design System Culture: What It Is and Why It Matters (ari/sma)20884
design-systems, culture
CSS Backgrounds Module Level 4 (fan+/w3c)20883
standards, css, backgrounds
93% Faster Next.js in (Your) Kubernetes (mco/pla)20882
nextjs, nodejs, performance, kubernetes
Web Browser Status Bars Are Nuts (lap)20881
browsers, comparisons
Brand New Layouts With CSS Subgrid (jos)20880
layout, css, grids, examples
Anatomy of AI Input (ibe)20879
ai, design
GitLab Discovers Widespread npm Supply Chain Attack20878
npm, dependencies, security, gitlab, aws, gcp, azure
The Future of AWS CodeCommit20877
aws, tooling, git, outlooks
Replacing “glob-all” With “fs.promises.glob” in Node.js (cto)20876
refactoring, nodejs
How to Easily Create Modern, CSS-First Forms in WordPress (zor/css)20875
how-tos, videos, css, forms, wordpress
“light-dark()” Isn’t Always the Same as “prefers-color-scheme” (ste)20874
css, functions, dark-mode, colors
UX Is Your Moat (and You’re Ignoring It) (cwo)20873
user-experience, economics
Managing Side Effects: A JavaScript Effect System in 30 Lines or Less (ayc)20872
javascript
Introduction to CSS “if” Statements and Conditional Logic (mar)20871
introductions, css, functions, conditionals
The State of Tanstack, Two Years of Full-Time OSS (tan/tan)20870
tanstack, foss
The Performance Inequality Gap, 2026 (sli)20869
performance, javascript, metrics
Web Monetization Is Still Inching Along, but Still Too Difficult (chr/fro)20868
monetization
On Inheriting and Sharing Property Values (dxn/css)20867
css, cascade, techniques
Why Does AI Devour So Much Water? (ger)20866
ai, sustainability
Testing Methods: Focus Visible (dec)20865
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
You’re Doing JavaScript Testing Wrong (cfe)20864
javascript, testing
Shuffling a CSS Grid Using Custom Properties (cod)20863
css, grids, custom-properties
WCAG 2.1 Addition—Success Criterion 1.4.10: Reflow (Level AA)20862
accessibility, wcag, standards, reflow
Testing Methods: Headings and Labels (dec)20861
accessibility, wcag, testing, headings, labels, forms
If You Think Your Commit Messages Are Bad, Just Wait…20860
commit-messages
You’re Not Building Netflix: Stop Coding Like You Are20859
programming, architecture, prioritization
AI Will Soon Deliver Code That Will Pass Automatic Testing by Default (cer)20858
ai, testing, accessibility
Testing Methods: Multiple Ways (dec)20857
accessibility, wcag, testing, navigation, sitemaps, link-lists
Unifying [Wikipedia’s] Mobile and Desktop Domains (kri/wik)20856
wikipedia, refactoring, mobile, desktop, performance, seo, user-experience, infrastructure, case-studies, link-lists
The PHP 8.5 Pipe Operator (“|>”): Useful, but Watch for These Gotchas20855
php, operators
How Designers Gaslight Users With Microcopy (web)20854
design, microcontent, dark-patterns
WCAG 2.1 Addition—Success Criterion 1.3.5: Identify Input Purpose (Level AA)20853
accessibility, wcag, standards, forms
Keyframes Tokens: Standardizing Animation Across Projects (ami/sma)20852
css, animations, consistency
Testing Methods: Link Purpose (in Context) (dec)20851
accessibility, wcag, testing, links, microcontent
WCAG 3 Update (kno)20850
videos, accessibility, wcag, standards
Critical Thinking During the Age of AI (add)20849
ai, processes, career
The Value of Selecting Selects by Value (aar)20848
accessibility, wcag, forms
How to Create 3D Images in CSS With the Layered Pattern (sun/fro)20847
how-tos, images, 3d, css, transforms
5 Engineering Skills to Prioritize in the AI-Driven Era20846
ai, writing, architecture, debugging, communication, career
Testing Methods: Focus Order (dec)20845
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
WCAG 2.1 Addition—Success Criterion 1.3.4: Orientation (Level AA)20844
accessibility, wcag, standards, mobile
Cross-Browser Anchor Positioning (mey+/odd)20843
videos, interviews, css, anchor-positioning
The Rosetta Stone of Design Engineering (yan)20842
design, processes, collaboration
Responsive Letter Spacing (tyl/clo)20841
responsive-design, typography, css
Grid: How “grid-template-areas” Offer a Visual Solution for Your Code (sar/web)20840
css, grids, layout
Should We Even Have “:closed”? (sun/css)20839
css, selectors, disclosure-widgets
The Engineer You Never Met: Why Interview Processes Systematically Reject Qualified Engineers20838
hiring, economics, case-studies
Automated Accessibility Testing for React—Tools and Best Practices You Can Use20837
accessibility, testing, react, tooling, best-practices
These Queries Cover 80% of SQL20836
sql, databases
Testing Methods: Page Titled (dec)20835
accessibility, wcag, testing, html
Good Enough Is a Strategy (tre)20834
strategies, technical-debt, quality
State of React 2025 (sac/dev)20833
surveys, react
A Guided Tour of Copenhagen (fre/ske)20832
guides, sketch
Announcing Angular v21 (mar/ang)20831
release-notes, angular
Why Web Design Must Finally Break Free From Its Graphic Design Roots (web)20830
design, print, ai, career
Using esbuild in Eleventy (db)20829
eleventy, esbuild
Anchoring to a Containing Block (kiz)20828
css, anchor-positioning
When the Dark Pattern Is a Glaring Green Checkmark20827
design, user-experience, dark-patterns
Cloudflare Outage on November 18, 2025 (eas)20826
cloudflare
Web Development: On the Size and Output of and the Growth Opportunities Within the Field (j9t)20825
guest-posts, training, career, frontend-dogma
To Be a Leader of Systems (haz)20824
leadership
The Cloudflare Outage Was a Good Thing20823
cloudflare, resilience, infrastructure
Testing Methods: Bypass Blocks (dec)20822
accessibility, wcag, testing, keyboard-navigation
Experiment: Making TypeScript Immutable-by-Default (eva)20821
experiments, typescript
WCAG 2.1 Addition—Success Criterion 2.5.4: Motion Actuation (Level A)20820
accessibility, wcag, standards
More CSS “random()” Learning Through Experiments (chr/fro)20819
css, functions, randomness, experiments
Do Not Put Your Site Behind Cloudflare if You Don’t Need To20818
cloudflare
Firefox Is Adding Support for a Feature That Users Requested Since 200420817
firefox, browsers, keyboard-shortcuts
How to Successfully Migrate Your App With an AI Agent (bla/ope)20816
how-tos, migrating, refactoring, ai
WCAG 2.1 Addition—Success Criterion 2.5.3: Label in Name (Level A)20815
accessibility, wcag, standards, labels, forms
Ethical Defaults: Why Designers Must Stop Hiding Behind Settings (web)20814
design, ethics
10 Git Tricks That Made Me a Way Better Developer20813
git, command-line, tips-and-tricks
Tooltip Components Should Not Exist (tkd)20812
tooltips, components
A11y 101: 2.4.7 Focus Visible (nat)20811
introductions, accessibility, wcag, focus, keyboard-navigation
The “Most Hated” CSS Feature: “asin()”, “acos()”, “atan()”, and “atan2()” (mon/css)20810
css, functions, math
Testing Methods: Animation From Interactions (dec)20809
accessibility, wcag, testing, animations
How to Prepare for the Future of Programming (jet)20808
how-tos, programming, learning
Automated npm Secret Rotation in GitHub Actions (mhe)20807
npm, security, automation, github-actions
Top 10 Branding Trends to Watch Out for in 2026 (des)20806
branding, design, trends, outlooks
Testing Methods: Three Flashes or Below Threshold (dec)20805
accessibility, wcag, testing
How to “Officially” Deprecate Methods With Node.js Utilities (ste)20804
how-tos, deprecation, nodejs, developer-experience
Wrangling My Email With Claude Code (jlo)20803
email, claude, ai, efficiency
Testing Methods: Timeouts (dec)20802
accessibility, wcag, testing, time
Accessible Names and Labels: Understanding What Works and What Doesn’t (tpg)20801
accessibility, labels, naming, forms
“display: masonry” Is Officially Dead (kev)20800
videos, css, masonry, layout
It Is OK to Say “CSS Variables” Instead of (or Alongside) “Custom Properties” (kiz)20799
css, variables, custom-properties, terminology
Good Visual Design, Explained (nng)20798
design, principles, quality
A Complete Guide to the HTML Number Input (oll)20797
guides, html, attributes, forms
“Technical Debt Will Bite Us in the Ass”: How to Make Non-Technical Stakeholders Actually Care20796
how-tos, technical-debt, communication, prioritization
Monotype Font Licencing Shake-Down (ame)20795
fonts, licensing
“Move Fast and Don’t Break Things”—What Four Startups Taught Me About Execution20794
design, career, product-management, engineering-management
What’s New in PHP 8.5 (bre)20793
php
Animating CSS “width” or “height” No Longer Forces a Main Thread Animation (in Chrome, Under the Right Conditions) (bra)20792
css, animations, chrome, browsers
Is Server-Side Rendering React’s Holy Grail?20791
react, server-side-rendering
A Suggestion for Your Community Terms and Policies (j9t)20790
community, collaboration, politics
What’s New in the Design Tokens Spec: From Static to Living Design Data (res/zer)20789
design-tokens, design-systems
Browserslist and Baseline (chr/fro)20788
browsers, support, web-platform, browserslist
Older Tech in the Browser Stack (sma)20787
xpath, css, techniques
Writing Is Probably the Worst Use Case of AI20786
ai, writing
Testing Methods: Re-Authenticating (dec)20785
accessibility, wcag, testing, authentication
What’s Coming in TypeScript 6/7 (dan+/typ)20784
podcasts, interviews, typescript, ecmascript, outlooks
From Tokens to Touchpoints: Powering a Successful Rebrand With Your Design System (zer)20783
design-systems, design-tokens, collaboration
The Last Couple Years in V8’s Garbage Collector (win)20782
v8, javascript-engines, garbage-collection, memory, retrospectives, javascript
The Hard Truth About Learning to Code (That No One Tells You)20781
learning, career
Do Newer AI-Native IDEs Outperform Other AI Coding Assistants? (lau)20780
ai, code-editors, efficiency, metrics, comparisons
What Developers Really Mean by “Bad Code” (jet)20779
maintainability, scalability, consistency, security, quality
How We Catch UI Bugs Early With Visual Regression Testing20778
testing, regressions, playwright, javascript
Range Syntax for Style Queries (una)20777
css, style-queries
CSS “:interest-invoker” and “:interest-target” Pseudo-Classes (tre)20776
css, selectors, forms
Testing Methods: Interruptions (dec)20775
accessibility, wcag, testing
Netflix’s Engineering Culture (ger)20774
podcasts, interviews, netflix, culture, ai
AVIF vs. JPEG vs. WebP vs. PNG20773
avif, jpeg, webp, png, images, comparisons
Firefox 147 Release Notes for Developers (mdn)20772
release-notes, firefox, browsers
Guiding the Future of Ethical Design20771
design, ethics
Why Headings Are Important in HTML: Structure, Accessibility, and SEO20770
html, headings, accessibility, seo
Programming Principles for Self Taught Front-End Developers (kil/pic)20769
programming, principles
Effectively Monitoring Web Performance (sma)20768
performance, monitoring, tooling
“::details-content”: Style Expandable Content Without Wrapper Divs (tre)20767
disclosure-widgets, css, html
Using “chrome-devtools-mcp” With Polypane (pol)20766
polypane, browsers, dev-tools, mcp, chrome, ai
Rust vs. Python: Finding the Right Balance Between Speed and Simplicity (jet)20765
rust, python, performance, simplicity, programming, comparisons
Error Chaining in JavaScript: Cleaner Debugging With “Error.cause”20764
javascript, errors, debugging
Perfectly Pointed Tooltips: To the Corners (css/fro)20763
css, tooltips
10 Smart Performance Hacks for Faster Python Code (did/jet)20762
python, performance, techniques
My CSS Selector Strategy (mal)20761
css, selectors, principles
20 Best CSS Preprocessor Tools and Comparison for 2025: Complete Guide to Active Tools20760
guides, css, tooling, preprocessors, comparisons, link-lists
Crafting Generative CSS Worlds (cod)20759
css, transforms
Testing Methods: Pause, Stop, Hide (dec)20758
accessibility, wcag, testing, multimedia, animations, link-lists
Link vs. Button: Choosing the Right Element for the Right Job (tpg)20757
html, links, buttons, accessibility, wcag, comparisons
“aria-labels” and Privacy: A Word of Caution (hom)20756
accessibility, aria, privacy
“AI” Browsers: The Price of Admission Is Too High (bru/viv)20755
ai, browsers
Headings: Semantics, Fluidity, and Styling—Oh My! (geo/css)20754
headings, html, css
Six Things I Bet You Didn’t Know You Could Do With Chrome’s DevTools20753
chrome, dev-tools, browsers
3 User-Friendly Technical Ways to Respond to Genocidistan (j9t)20752
politics, traffic, censorship, community
How to Rate-Limit Requests With nginx20751
how-tos, nginx, servers, rate-limiting
Building a Multi-Stage Timetable With Modern CSS Using Grid, Subgrid, “round()”, and “mod()” (nil)20750
css, grids, layout, functions
Testing Methods: Timing Adjustable (dec)20749
accessibility, wcag, testing, time, link-lists
Why CSS Is So Hard for Generative AIs to Understand?20748
css, ai
Frontend News #17: Why Pseudo-Elements Don’t Work With “:is()”, the Advantages of OKLCH, and More (zor/css)20747
videos, css, selectors, oklch
Testing Methods: Character Key Shortcuts (dec)20746
accessibility, wcag, testing, keyboard-shortcuts
When Everyone’s a Developer, How Do We Promote the Web Platform Over React? (ric)20745
web-platform, react, ai, link-lists
Material 3 Expressive: Building on the Failures of Flat Design20744
material-design, flat-design, design, link-lists
Slots in Design Systems (nat)20743
design-systems, figma
A Practical Guide to Flutter Accessibility: The Basics (kor)20742
guides, fundamentals, flutter, accessibility
Fix “width: 100%” Overflow Easily (zor/css)20741
videos, css, overflow
Sustainable Accessibility in Complex Organisations: Strategic Foundations (ihe/tet)20740
accessibility, leadership, dei, processes
When to Use CSS “text-wrap: balance” vs. “text-wrap: pretty” (dxn/log)20739
css, typography
Tailwind CSS Won the War… but We’re the Losers20738
tailwind, css, html, web-platform
Sustainable Accessibility in Complex Organisations: Organisational Realities (ihe/tet)20737
accessibility
Staggered Animation With CSS “sibling-*” Functions (pre/fro)20736
animations, css, functions
Smashing Animations: Magnificent SVGs With “<use>” and CSS Custom Properties (mal/sma)20735
animations, transforms, svg, css, custom-properties
Monorepo vs. Multi-Repo vs. Git Submodule vs. Git Subtree: A Complete Guide for Developers20734
guides, architecture, monorepos, git, version-control, comparisons
JavaScript Just Leveled Up: ES2025—You’ll Fall in Love With (jsd)20733
javascript, ecmascript, standards
It Ain’t Easy to Move a Side Project Off Big Tech (thi)20732
migrating, vercel, sveltekit
Is Figma in Its Accessibility Era?20731
figma, accessibility
10 Tiny UI Fixes That Make a Big Difference20730
design, forms, spacing, alignment, consistency, hierarchy, usability, best-practices
TypeScript’s Rise in the AI Era: Insights From Lead Architect, Anders Hejlsberg (aar)20729
typescript, ai
Combining Scroll-Driven Animations With “@starting-style” (bra)20728
css, scrolling, animations
Advanced Beginner’s Guide to ClojureScript (rom)20727
guides, javascript
Now Available: “On Web Development II”! (j9t)20726
books, html, css, engineering-management, maintainability, quality
100, 150, or 200? Debunking the Alt Text Character Limit20725
alt-text, accessibility, images, link-lists
A (Kind of) Farewell to the Web (joh)20724
web-platform, frameworks, ai, career
Explaining the Accessible Benefits of Using Semantic HTML Elements (geo/css)20723
html, semantics, accessibility
Brutalism in the AI Era: Why Ugly Might Be the Only Honest Aesthetic Left (web)20722
design, aesthetics, brutalism
You Are Going to Get Priced Out of the Best AI Coding Tools (dpa)20721
ai, tooling, economics
Why Separate Guest and Logged in States Create Accessibility Barriers20720
accessibility
Introducing the OWASP Top 10:2025 (she+/owa)20719
introductions, owasp, security, vulnerabilities
Why 44% of Your Audience Might Not Understand You: An Interview With Jamila Savoy20718
interviews, content, writing, accessibility
Six Key Components of UX Strategy (vit/sma)20717
user-experience, strategies
The Web Animation Performance Tier List (cit)20716
animations, performance, javascript, css, apis
The Weird Parts of “position: sticky;” (ada/fro)20715
css, positioning
No Close Quote? (css)20714
css
How to Throttle Specific Requests in Chrome DevTools (mat/deb)20713
how-tos, dev-tools, browsers, chrome, throttling
Using Composability Over Inheritance to Scale Design Systems (ase/zer)20712
design-systems, components, inheritance, scalability
Real Performance Benchmarks of PHP 8.5 vs. PHP 8.3 and Node.js20711
performance, php, nodejs, comparisons
Why Big Tech Won’t Hire Flutter Developers (and Why You Should Care) (ala)20710
career, flutter, economics
Top 10 Essential Productivity Software for 202520709
tooling, productivity, collaboration, communication
Some Software Bloat Is OK20708
quality, technical-debt, performance
How I Use AI to Build Frontend Apps: My Candid, Messy Process (bla)20707
ai, processes, debugging, claude
The Inner Workings of JavaScript Source Maps (man/pol)20706
javascript, typescript, source-maps
Learn React Server Components (jad)20705
videos, tutorials, react, components
WebKit Features for Safari 26.1 (jen/web)20704
release-notes, webkit, safari, browsers
What’s New in ViteLand: October 2025 Recap (man)20703
release-notes, vite, vitest, rolldown, oxc
Making a Design System That Gets Adopted (cle)20702
design-systems, case-studies
What Is Detached State in Git and How Do You Recover From It?20701
git, command-line
Dark Mode Is the New Comic Sans (and You Know It) (web)20700
dark-mode, design, accessibility
You Need to Become a Full Stack Person (loc)20699
ai, career
The Fundamentals Problem (chr)20698
fundamentals, design, prioritization
Why Most Developers Stay “Mid” Forever20697
career
“pathLength” Makes Makes SVG Path Animations Easier to Manage (ste)20696
svg, images, animations
Why We Migrated From Python to Node.js20695
migrating, python, nodejs
Grayscale Testing: The Missing Step in Color Accessibility (pop)20694
accessibility, testing, colors
The “Most Hated” CSS Feature: “tan()” (mon/css)20693
css, functions, math
Running Node.js in a Hugging Face Space (tom)20692
nodejs, hugging-face
I’ve Reviewed 500 Java Projects—Everyone Makes This Same Dumb Mistake20691
java, mistakes, strings
Why I Don’t Test Different Designs at the Same Time (ada)20690
design, testing
TL;DR: How Your Advantage Becomes Your Achilles Heel (ste)20689
product-management, ai
Top 100 Domains on Frontend Dogma (fro)20688
frontend-dogma
Reduce LLM Costs: Token Optimization Strategies (ros)20687
ai, token-optimization, economics
Global Digital Accessibility Salary Survey (web)20686
surveys, accessibility, career
AI Broke Interviews20685
ai, interviewing, hiring
It’s Almost 2026: Why Are We Still Arguing About CSS vs. Tailwind20684
tailwind, css, comparisons
12 Essential Java Best Practices Every Developer Should Follow20683
programming, java, best-practices, principles
Context Engineering for Non-Engineers (cwo)20682
ai, prompting, claude
Node.js 24 Becomes LTS: What You Need to Know (nod)20681
nodejs, nsolid
Your URL Is Your State (ahm)20680
urls, state-management
AI and Alt Text (ted+/web)20679
videos, ai, alt-text, images, accessibility
Evergreen Web Design Is a Lie (but Maybe That’s Okay) (web)20678
design, creativity
The Hidden Cost of Projects: Why Latency Kills Value20677
project-management, processes
Architectural Debt Is Not Just Technical Debt (may)20676
architecture, technical-debt
Just Use a Button (cfe)20675
html, buttons, semantics
Testing Methods: Keyboard (No Exception) (dec)20674
accessibility, testing, keyboard-navigation
Use Cases for Field Sizing (sha)20673
forms, css, examples
New to the Web Platform in October20672
release-notes, web-platform, browsers, firefox, chrome
After the AWS Outage20671
aws, cloud-computing
Comparing Interviews at 8 Large Tech Companies (ger)20670
interviewing, google, amazon, atlassian, comparisons
Self-Hosting Versus Lots of Small IndieWeb Providers20669
self-hosting, indieweb
HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool20668
html, minification, tooling, windows, asp-net, retrospectives
The Real Problem With AI Coding20667
ai
Developers Shouldn’t Learn Design—Designers Shouldn’t Code (phi)20666
design, programming, processes, collaboration, project-management
How to Use CSS “line-clamp” to Trim Lines of Text (dxn/log)20665
how-tos, css, typography
Removing XSLT for a More Secure Browser (dro)20664
chromium, chrome, browsers, xsl, web-platform, security
AI Frontend Generator Comparison: Claude Code vs. v0 vs. Cursor vs. Replit (hcr)20663
ai, code-editors, claude, vercel, cursor, tooling, comparisons
Blogging Gets Serious in 2001 With Warblogs and Movable Type (ric)20662
web, history, blogging, examples, movable-type
Amazon’s Return to Office Mandates Backfire (jpr)20661
amazon, aws, culture, economics
Getting Creative With Small Screens (mal/css)20660
design, responsive-design, mobile, css
The Coming War of AI Browsers: Why the Web Will Never Be the Same Again (web)20659
ai, browsers, open-web, personalization
Flutter’s Silent UI Killers20658
flutter
Arnas Donauskas on AI-Powered Troubleshooting for Websites (nat)20657
podcasts, interviews, ai, debugging, tooling
Sometimes the Best Accessibility Fix Is a Usability Fix20656
accessibility, usability
Get Started With Manual Testing (pop)20655
introductions, accessibility, testing
Node.js v22 to v24 (aug+/nod)20654
nodejs, migrating
I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance (che)20653
frameworks, mobile, performance, comparisons, nextjs, tanstack, nuxt, angular, marko, solidstart, solidjs, sveltekit, qwik, astro, htmx
Will npm’s New Security Steps Stop Attacks? (rev)20652
security, npm, maintenance, foss
HTTPS by Default (jde+)20651
http, security, chrome, browsers
ChatGPT Sez Build With Semantics First (ste)20650
chatgpt, chatgpt-atlas, ai, browsers, html, semantics, accessibility
Octoverse: A New Developer Joins GitHub Every Second as AI Leads TypeScript to #120649
github, metrics, productivity, ai, foss, security, programming
Import JavaScript Like It’s 2026 (sto)20648
javascript, performance
Mastering “URLPattern” for Cross-Platform Routing (jsd)20647
nodejs, routing
Start Implementing View Transitions on Your Websites Today (cyd/pic)20646
css, view-transitions, javascript, apis
Perfectly Pointed Tooltips: A Foundation (css/fro)20645
tooltips, css, anchor-positioning
Agentic AI and Security (ksi/mfo)20644
ai, architecture, security
Springs and Bounces in Native CSS (jos)20643
css, animations, transitions, effects, functions
Parenthetical Asidenotes (mey)20642
html, css
Who Rules AI Search? What 3 Months of AI Visibility Data Tells Us (sem)20641
search, ai, domains, metrics
Google Kills Privacy Sandbox (pro)20640
google, privacy, apis
Inlining Critical CSS: Does It Make Your Website Faster? (mat/deb)20639
css, critical-path, performance, lazy-loading
16 Charts That Explain the AI Boom (bin)20638
ai, metrics, economics, openai, anthropic, facebook+meta, oracle, google, microsoft, aws
What I Learned Porting Mastro From Deno to Node.js (mas)20637
lessons, migrating, deno, nodejs
Why Do We Need Dithering?20636
images, dithering
Your Accessibility Score Is Lying to You20635
accessibility, metrics, testing
The State of Django 2025 (wsv/jet)20634
surveys, metrics, django
A11y 101: 2.4.5 Multiple Ways (nat)20633
introductions, accessibility, wcag
JavaScript for Everyone: Iterators (wil/sma)20632
javascript
Express.js 6 and Beyond: Modernizing the Most Popular Node.js Framework (nod)20631
nodejs, express, frameworks, modernization
The JavaScript Feature You’ve Probably Never Used Allows Running Untrusted JavaScript Safely20630
javascript
Alt Text or Image Description?20629
accessibility, images, alt-text, comparisons, terminology
AI for War: Big Tech Empowering Israel’s Crimes and Occupation (mar)20628
ai, legal, google, aws, microsoft, palantir
“Good Engineering Management” Is a Fad (let)20627
engineering-management, prioritization
Don’t Forget These Tags to Make HTML Work Like You Expect (jim)20626
html
Crafting Engineering Strategy (let)20625
books, engineering-management, strategies
Testing Methods: No Keyboard Trap (dec)20624
accessibility, testing, wcag, keyboard-navigation
The Origin Story of JavaScript (ann/cas)20623
videos, history, web, javascript, ecmascript, browsers, browser-wars, browser-engines, standards
What’s New in Next.js 16 (tre)20622
nextjs
The Sky Is Falling, the Web Is Dead (ern/ted)20621
web, history
Mistakes I See Engineers Making in Their Code Reviews (sea)20620
code-reviews, processes, communication, mistakes
How to Write Clear and Effective Bug Reports That Everyone Loves20619
how-tos, bugs, documentation
The Edge Cases That Break Hearts (and Products) (lau/nng)20618
design, usability, accessibility, user-experience
The Curse of the Custom Cursor (mal)20617
cursors, design, accessibility
How Designers Become Builders and the Future of Tooling20616
videos, design, github
Directives and the Platform Boundary (tan/tan)20615
javascript, frameworks
High-Performance Syntax Highlighting With [the] CSS Highlights API20614
css, apis, syntax-highlighting
You Already Have a Git Server20613
git, servers, command-line
Code Like a Surgeon (geo)20612
ai
The Layered Aesthetic: Depth, Complexity, and Chaos Done Right (web)20611
design
CSS Animations That Leverage the Parent–Child Relationship (pre/css)20610
css, animations
What’s an Interactive Element? (mat)20609
html, focus, concepts
Introducing TanStack Start Middleware (ada/fro)20608
introductions, tanstack
Scrum Mistakes: What Teams Get Wrong and How to Fix It20607
scrum, agile, processes, releasing, mistakes
“Their History Is Just Erased”: Google Drops a Key Program for Boosting Women in Tech20606
google, community
Atlas Ableism (ste)20605
chatgpt-atlas, browsers, accessibility, compliance
Your Tokens Have Become Infrastructure (mur)20604
design-tokens, design-systems
How to Create a Strong Design System and Survive: Case Study20603
how-tos, design-systems, case-studies, lessons
Container Queries and Units in Action (mia)20602
css, container-queries, units
Preparing for Verso and Beyond: Future-Proofing Your Frontend for New Browser Engines (ele/des)20601
guest-posts, verso, servo, browsers, browser-engines
Retrofitting a Design System Into an Existing Product20600
design-systems, consistency
A Brief History of Domains (pet)20599
web, history, domains, dns
Is It Time to Regulate React? (dbu)20598
react
NaN, the Not-a-Number Number That Isn’t NaN (wil/pic)20597
javascript
Does Your Site Need a /ai Page?20596
ai
Yes, Let’s Teach LLMs Accessibility, but Also Provide the Companies Using Them With Better Strategies (hdv)20595
ai, accessibility, advocacy
Meetings and Interruptions Are Still the Biggest Obstacles for Developers, Even With AI20594
productivity, collaboration
React vs. Backbone in 202520593
react, backbone, comparisons, frameworks
React and Remix Choose Different Futures20592
react, remix, simplicity, complexity, comparisons
Solved by Modern CSS: Section Layout (sha)20591
css, layout, grids, typography, liquid-design
CSS Layout: Flexbox, Grid, Media Queries, and Container Queries (rau)20590
css, layout, flexbox, grids, media-queries, container-queries, introductions
Error Handling—UX Design Patterns20589
user-experience, design, errors, forms
An Introduction to JavaScript Expressions (wil/css)20588
introductions, javascript
OpenAI, ARIA, and SEO: Making the Web Worse (aar)20587
chatgpt-atlas, openai, browsers, accessibility, aria, seo
The Charm of JavaScript: Boom Mics and Clown Shoes (wil+/iga)20586
podcasts, interviews, javascript
Build Your Own Database (nan)20585
guides, databases
The Hidden Costs of Bad Client Communication in Design Projects (and How to Fix Them)20584
business-relations, communication, collaboration, design
4 Unconventional Ways to Cast in TypeScript (pol)20583
typescript
Importing vs. Fetching JSON (jaf)20582
json, javascript, data-fetching, comparisons
Challenging the Idea of “Optional HTML” (mar)20581
guest-posts, html, minimalism
Solved by CSS Scroll State Queries: Hide a Header When Scrolling Down, Show It Again When Scrolling Up (bra)20580
css, scrolling
Introducing ChatGPT Atlas20579
introductions, chatgpt-atlas, browsers
Introducing ChatGPT Atlas (sim)20578
introductions, chatgpt-atlas, browsers
Fixing Temporal Input Styling in Safari (cfe)20577
forms, time, safari, browsers, css
CSS “@starting-style” Debugging Is Available in Chrome DevTools (bra)20576
css, transitions, debugging, dev-tools, chrome, browsers
Designers Often Do Invisible Work That Matters—Here’s How to Show It20575
design, user-experience, communication
Chasing “Done”: Why Software Never Ends—and Why That Matters (emb)20574
programming, maintenance, economics, processes
W3C Web Content Accessibility Guidelines 2.2 Approved as ISO/IEC International Standard (w3c)20573
accessibility, wcag, standards, w3c
How AI Works and How Users Think About It: Study Guide (nng)20572
guides, ai, training, link-lists
Next.js 16 (fee+)20571
release-notes, nextjs
My Highlights From the New Deno Deploy (phi/den)20570
deno, deploying
Why Accessibility Breaks Between Design and Development (a11)20569
accessibility, design, processes, collaboration, testing
How Senior Engineers Can Use AI for Real Impact20568
ai, architecture, debugging, code-reviews, refactoring
One Year With Next.js App Router—Why We’re Moving On20567
nextjs, react, routing, components, tooling
The Two Button Problem (chr/fro)20566
buttons, usability, design
My Work Is Human (doo)20565
ai, design, career
OpenAI Launches AI Web Browser ChatGPT Atlas—Here Is Everything We Know (eur)20564
openai, browsers, chatgpt-atlas
How to Fix Any Bug (dan)20563
how-tos, ai, debugging, react
Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod/wea)20562
html, css, javascript, links
Rethinking Async Loops in JavaScript20561
javascript, loops, asynchrony
“URLPattern” Is Now Baseline Newly Available20560
urls, apis, javascript, web-platform, browsers, support
Build a Reusable Flutter Design System20559
design-systems, flutter
What State ARIA In? (tpg)20558
aria, html, accessibility
Now Is the Best Time to Break Into Tech (tre)20557
career
AI Doom Predictions Are Overhyped—Why Programmers Aren’t Going Anywhere20556
videos, ai, programming, career
Google Announces End of Many of Its [Privacy] Sandbox Technologies20555
google, privacy
Goodbye GIL—Exploring Free Threaded Python 3.14 (ada)20554
python, multithreading
An Opinionated Guide to Using AI Right Now (emo)20553
guides, ai, anthropic, google, openai
Glassworm: First Self-Propagating Worm Using Invisible Code Hits OpenVSX Marketplace20552
security, code-editors, vs-code
The CSS Reset, Again (paw)20551
css, resets
Why “NaN !== NaN” in JavaScript (and the IEEE 754 Story Behind It)20550
javascript, history, standards
Refactoring a Form to a Signal Form (tim)20549
refactoring, forms, angular, signals
Orion Browser by Kagi: Privacy-Centred Performance20548
orion, browsers, kagi, privacy, performance
CSS Finally Gets Inline Conditional Logic With New “if()” Function20547
css, functions, conditionals
I Used AI Every Day for a Year: Here’s What It Cost Me (jas)20546
ai, writing, career
Headers, Headings, and Titles (tem)20545
html, headings, comparisons, terminology
AI Is Revolutionizing User Testing in 2025—and Honestly, It’s About Time (web)20544
ai, usability, user-experience, testing
The Majority AI View (ani)20543
ai, communication
Is It Even Worth Learning to Code? (tre)20542
programming, learning, ai
How to Write an Accessibility Statement in 2025, With Examples (chr)20541
how-tos, accessibility, documentation, compliance, legal, examples
AI in UX: Achieve More With Less (boa/sma)20540
user-experience, design, ai, processes
50 Reasons to Build a Website (chr/fro)20539
web
Zero-Configuration Support for NestJS20538
vercel, nestjs