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 that they be respected. Hide

Frontend Dogma

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

→ 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#
Does Chrome Get the “<header>” Element Wrong? (rus)20437
html, aria, chrome, browsers
CSS Layout: How to “Center a Div,” the Old School Way20436
css, layout, floats, centering, techniques, how-tos
Testing Methods: On Input (dec)20435
accessibility, testing, wcag, forms, events, link-lists
The JavaScript Bundler Grand Prix (kat/red)20434
javascript, bundling, tooling, vite, rspack, turbopack, bun, rolldown, browserify, webpack, rollup, parcel, esbuild, history
Responsive and Fluid Typography With Baseline CSS Features (mia)20433
css, typography, responsive-design
German Auditors Reject Accessibility Overlays in EAA Context20432
accessibility, auditing, overlays, legal, eaa
Different Page Transitions for Different Circumstances (chr/fro)20431
css, javascript, view-transitions, animations
Why We Should Stop Talking Performance Metrics to Business Leaders (san/per)20430
performance, metrics, communication, business-relations
Giving Pages a Clear Shape by Using Headings (mat)20429
html, headings
Mozilla’s Next Chapter: Building the World’s Most Trusted Software Company (moz)20428
mozilla, firefox, browsers, ai
State of HTML 2025 [Results] (sac/dev)20427
surveys, metrics, html
Throttle Individual Network Requests (dev)20426
performance, chrome, browsers, dev-tools
Ripple: A New TypeScript-First Front-End Framework20425
frameworks, typescript, ripple
Testing Methods: On Focus (dec)20424
accessibility, testing, wcag, forms, focus, keyboard-navigation
Responsive List of Avatars Using Modern CSS (css/css)20423
css, masking, responsive-design
Them’s the Breaks (tyl/mat)20422
html
I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim)20421
migrating, ai, python, javascript, tooling, parsing, html
Accessibility as a Core Requirement (mha)20420
accessibility, prioritization
What Does “Hidden” Actually Mean in Accessible Name Computation? (rus)20419
accessibility, naming, hiding
Testing Methods: Pronunciation (dec)20418
accessibility, testing, wcag, pronunciation, screen-readers
A Tale of Two Animations—the Compositor in the Skies (per)20417
animations, css, performance
The “<time>” Element Should Actually Do Something (nol)20416
html, time, semantics
The Wonderful World of Web Feeds (mau/mat)20415
syndication, rss, atom, json
Why We Teach Our Students Progressive Enhancement (cyd)20414
progressive-enhancement, html, css, javascript, training
How to Load CSS (Fast) (per)20413
how-tos, css, performance, critical-path
Automate Your Testing Workflows Using BrowserStack’s AI Agents (zor/css)20412
videos, testing, automation, browsers
Testing Methods: Reading Level (dec)20411
accessibility, testing, wcag, link-lists
Accessibility Is a Human Right, Cruelty a Human Wrong (zel)20410
accessibility, fonts
Changes in the World of HTML Minifiers (apo)20409
html, tooling, minification, html-minifier
Hell Is Other People’s Markup (llo/mat)20408
html, auditing, tooling
WebKit Features for Safari 26.2 (jen+/web)20407
release-notes, webkit, safari, browsers
Chrome DevTools Elements Panel Tips and Tricks (zor/css)20406
videos, dev-tools, chrome, browsers, tips-and-tricks
Using the Browser Console for Accessibility Testing (rus)20405
accessibility, testing, console, javascript, examples
Improving Cumulative Layout Shift in WordPress20404
wordpress, web-vitals, performance, optimization, cheat-sheets
New Front-End Framework Ripple Blends React and Svelte Together (inf)20403
frameworks, ripple
The Design System of the Christmas Factory20402
design-systems, accessibility, processes
Testing Methods: Abbreviations (dec)20401
accessibility, testing, wcag, content, link-lists
A11y Considerations in Math on the Web (man/mat)20400
accessibility, mathml, screen-readers, nvda, voiceover, support
The Ultimate Guide to UI Design in 2026 (web)20399
guides, design, user-experience, simplicity, consistency, hierarchy, accessibility
The Vibe Coding Paradox (jun)20398
programming, vibe-coding, ai
Intro to Performance of React Server Components (ade/per)20397
introductions, performance, react, components, server-side-rendering
Eleventy Core Dependency Watch (2025 Edition) (zac/11t)20396
eleventy
What Else Could Container Queries… Query? (dxn/css)20395
css, container-queries
The New “clamp()” Function in PHP 8.6 (ami)20394
php, functions
How Does Chrome DevTools Network Throttling Actually Work? (deb)20393
videos, dev-tools, chrome, browsers, network
JetBrains Junie: AI Coding Without the Chaos (mik)20392
junie, jetbrains, ai
Vote for the Web Features You Want to See (rvi)20391
web-platform, standards, support
Why Are My View Transitions Blinking? (pic)20390
css, view-transitions
Accessibility Updates (w3c)20389
videos, accessibility, wcag, standards
How HTML Changes in EPUB (rob/mat)20388
epub, html, standards
Testing Methods: Unusual Words (dec)20387
accessibility, testing, wcag, content, link-lists
Thoughts on Native CSS Mixins (chr/fro)20386
css, mixins
Denial of Service and Source Code Exposure in React Server Components (rea)20385
react, components, security
HTML Minifier Next: Presets, New Config Options, Minification Sharing, and Type Definitions (j9t)20384
release-notes, html-minifier
How We Automate Accessibility Testing With Playwright and Axe (boj)20383
accessibility, testing, automation, playwright, axe
Common Misconceptions About WCAG (tet)20382
accessibility, wcag, standards
Useful Patterns for Building HTML Tools (sim)20381
html, ai, tooling
Testing Methods: Language of Parts (dec)20380
accessibility, testing, wcag, internationalization
React 19.2: Further Advances INP Optimization (per)20379
react, web-vitals, performance, optimization
The “Two-Brain” Advantage: Why You Should Never Trust Just One AI (owe/pro)20378
ai, processes, quality
A11y Freedom Beaver (ste/mat)20377
accessibility, aria, html
Creating Scroll-Based Animations in Full view() (pre/css)20376
css, animations, scrolling, functions
Anthropic Donates the MCP Protocol to the Agentic AI Foundation20375
anthropic, mcp, protocols, foss, ai
The Slow Death of Magic20374
product-management, simplicity
Making Complex Web Apps Faster (pat)20373
performance, web-apps, apis, time, complexity
Frontend News #19: CSS “overscroll-behavior”, “scrollbar-gutter”, “text-grow” Properties, and More (zor/css)20372
videos, css, scrolling
Why RSS Matters (wer)20371
rss, syndication, social-media
“aria-busy” Is Not Your Friend (ger)20370
accessibility, aria, nvda, jaws, voiceover, screen-readers
Testing Methods: Language of Page (dec)20369
accessibility, testing, wcag, internationalization
Meeting WCAG Is an Achievement (yat)20368
accessibility, wcag, compliance
Why Every Conference Needs a Nursing Room (bla)20367
community, dei
The Inconvenient Truth: How Web Performance Case Studies Undermine Our Relationship With Business (mac/per)20366
performance, metrics, economics
Discover Dialog (sar/mat)20365
html, modals, javascript, css
Did You Know Your Browser Has Two Accessibility Trees? (rus)20364
accessibility, browsers, chrome, blink
CSS Wrapped 2025 (una)20363
css, standards, retrospectives
Type-Aware Linting Alpha (cam/bos)20362
linting, tooling, oxc
Comparing HTML Minifiers (j9t)20361
html, minification, tooling, html-minifier, htmlnano, metrics, comparisons
Why Federated Design Systems Keep Failing (sha)20360
design-systems, collaboration
Design Accessible Animation and Movement With Code Examples (pop)20359
design, accessibility, animations, css, javascript, examples
Getting a Close Button to Hang Off of a Dialog (dar)20358
modals, buttons, css, anchor-positioning
Blogging Is Dead. Long Live the Blog. (web)20357
blogging, seo, ai, social-media, web
Thursday, December 18, 2025 Security Releases (nod)20356
release-notes, nodejs, security
What’s Wrong With This HTML, and Is It Valid? (pat/mat)20355
html, standards, conformance, web-platform
The Anatomy of a Web Performance Report (web/per)20354
performance, documentation, web-vitals, lighthouse
That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css)20353
html, css, learning
Web Performance 2025: The Shift From Optimization to Prediction (fab/per)20352
performance, optimization, retrospectives
Testing Methods: Dragging Movements (dec)20351
accessibility, testing, wcag
Controlling Dialogs and Popovers With the Invoker Commands API (sta/mat)20350
modals, pop-overs, apis, attributes, html
A Guide to Token-Efficient Data Prep for LLM Workloads20349
guides, ai, token-optimization, economics
Testing Methods: Concurrent Input Mechanisms (dec)20348
accessibility, testing, wcag
NoLoJS: Reducing the JS Workload With HTML and CSS (aar/per)20347
html, disclosure-widgets, forms, modals, pop-overs, navigation, scrolling, positioning
Accessible by Design: The Role of the “lang” Attribute (col/mat)20346
accessibility, internationalization, html, attributes, metrics
2025 in Review: What’s New in Web Performance? (mat/deb)20345
performance, web-vitals, lighthouse, apis, speculation, chrome, firefox, browsers, dev-tools, tooling, testing, mcp, ai, retrospectives, outlooks
What Are DOM Mutations? (rus)20344
accessibility, dom, javascript
Dealbreaker Bugs in Native Popovers (mat)20343
accessibility, pop-overs, bugs
Lies, Damned Lies, and Design System Adoption Statistics (ikn)20342
design-systems
How We’re Protecting Our Newsroom From npm Supply Chain Attacks (rya/pnp)20341
npm, dependencies, security, case-studies
Testing Methods: Target Size (Enhanced) (dec)20340
accessibility, testing, wcag, touch
How I Built a Form Management Platform With Angular 17 and SurveyJS20339
functionality, forms, angular, tooling
Non-Blocking Cross-Browser Image Rendering on the Canvas (mys/per)20338
canvas, javascript, images, performance
10 Usability Heuristics20337
usability, heuristics
IDREFs: What They Are and How to Use Them (kil/mat)20336
html, forms, aria, accessibility
No More Tokens—Locking Down npm Publish Workflows (zac)20335
npm, dependencies, security, processes
Why You Need Design Maturity in a Product Organisation, and How to Get It20334
design, product-management
Fast by Default (den/per)20333
performance, processes
I Studied 50+ Engineers Who Got Promoted Fast: They All Did One Thing I’d Been Ignoring20332
career, collaboration
Testing Methods: Motion Actuation (dec)20331
accessibility, testing, wcag, mobile
Standards Queues (bka)20330
standards, web-platform, collaboration
In 1995, a Netscape Employee Wrote a Hack in 10 Days That Now Runs the Internet (ben/ars)20329
netscape, javascript, history
The Web Runs on Tolerance (ede)20328
web-platform, standards, principles
Referencing HTML Elements Inside Shadow DOM (meh/mat)20327
html, shadow-dom, web-components
Getting Creative With “the Measure” (mal/css)20326
css, typography, readability
The Timing Problem in Design Systems (mur)20325
design-systems, components
End-to-End Browser and Accessibility Event Architecture (rus)20324
accessibility, browsers, event-loop, browser-engines, javascript-engines, assistive-tech
During Helene, I Just Wanted a Plain Text Website (spa)20323
content
The Downsides of “scrollbar-gutter: stable;” (and One Weird Trick) (chr/fro)20322
css, scrolling
A Little Bit Uncomfortable20321
career, learning
Solving Small Text and Contrast Issues for Large-Screen Readability (a11)20320
accessibility, contrast, readability, typography
Common Misconceptions About Disability (tet)20319
accessibility, concepts
Public Design Systems Are Worth It (pjo)20318
design-systems
TypeScript Strictness Is Non-Monotonic: Strict-Null-Checks and No-Implicit-Any Interact (huo)20317
typescript, arrays
Intopia Launches Assistive Technology Survey 2025 (int)20316
surveys, assistive-tech
Speculation Rules Improvements (tun/mat)20315
performance, speculation, apis
Testing Methods: Label in Name (dec)20314
accessibility, testing, wcag, labels, aria
HTML Semantics: The Short Descriptions of All 113 Elements (j9t)20313
html, semantics, overviews
Critical Security Vulnerability in React Server Components (rea)20312
react, components, security
[Next.js] Security Advisory: CVE-2025-66478 (seb)20311
nextjs, security
Get the Core Right and the Resilient Code Will Follow (bel/btc)20310
videos, resilience, design, communication
How Does Amazon’s Kiro Differ From Traditional IDEs? (ele/des)20309
guest-posts, kiro, code-editors
Understanding “aria-live” Timing: A Two-Layer Model (rus)20308
accessibility, aria, live-regions, notifications
Designing Decisions: Behavioral Psychology That Moves Users20307
design, interaction-design, user-experience
A Pragmatic Guide to Modern CSS Colours II (kev/pic)20306
guides, css, colors, examples
From Reactive to Proactive: Building a Sustainable Accessibility Program (equ)20305
accessibility, processes, culture, w3c
Scrollytelling on Steroids With Scroll-State Queries (css)20304
css, scrolling
Masonry: Things You Won’t Need a Library for Anymore (pat/sma)20303
css, masonry, layout, examples, web-platform
Exploring Large HTML Documents on the Web (per)20302
performance, html, metrics
Progress on TypeScript 7—December 2025 (dan/typ)20301
typescript
You Can’t Make Something Accessible to Everyone (aar)20300
accessibility, design
Testing Methods: Pointer Cancellation (dec)20299
accessibility, testing, wcag
Web Backstories: Shadow DOM (ada+/iga)20298
podcasts, interviews, shadow-dom, web-components, standards, history
Using the Ancient Evils for Debugging (bol/mat)20297
html, debugging
The Nuances of JavaScript Typing Using JSDoc (jar/van)20296
javascript, jsdoc, typescript, developer-experience
Bun Is Joining Anthropic (jar/bun)20295
bun, anthropic
Decreasing [Let’s Encrypt] Certificate Lifetimes to 45 Days (mat/let)20294
http, security, certificates, lets-encrypt
Anchor Positioning and the Inset-Modified Containing Block (IMCB) (bra)20293
css, anchor-positioning, concepts
What Sam Altman Just Taught Us About OKRs (Without Meaning To) (cwo)20292
okr, prioritization, processes, openai
The Practical Guide to LLM Cost Optimization20291
guides, ai, token-optimization, economics
Building Agentic Design Systems: The Future of AI-Enhanced Design20290
design-systems, design, ai, processes
The Next Revolution in Design: Emotional Accessibility (fas)20289
design, accessibility, outlooks
“Sloppy” Code and Accessibility Issues: The Trouble With Trump’s Silicon Valley-Inspired Web Design Project (not)20288
design, accessibility, quality, case-studies
Non-Square Image Blur Extensions (ana/fro)20287
images, css, effects
The Evolution of Web Development: From Static Pages to AI-Driven Experiences (web)20286
history, web, web-2.0, web-apps, ai
Improve TTFB and UX With HTTP Streaming (mb2/per)20285
performance, user-experience, http, streaming, optimization
React Has Changed, Your Hooks Should Too20284
react, hooks
Top Layer Troubles: Popover vs. Dialog (5t3/mat)20283
css, positioning, pop-overs, modals
Nobody Writes Clean Code—We All Just Pretend20282
quality, craft
Testing Methods: Pointer Gestures (dec)20281
accessibility, wcag, testing
Prevent a Page From Scrolling While a Dialog Is Open (geo/css)20280
scrolling, css
Web Design / Dev Advent Calendars for 2025 (aar)20279
link-lists, learning
Is Using Command Line AI an Option for Helping You Code?20278
ai, command-line, cursor, claude, code-editors
Can You Make Toast Messages Accessible? (ada)20277
accessibility, notifications
Testing Methods: Focus Appearance (dec)20276
accessibility, testing, wcag, focus, keyboard-navigation, link-lists
How to Unit Test a Vue Composable With TypeScript (joh)20275
how-tos, testing, vuejs, functions, typescript
Using CSS to Fix the Irradiation Illusion (arg)20274
css, readability, fonts
The Junior Hiring Crisis (ann/peo)20273
hiring, engineering-management, career, community
How Modern Browsers Work (add)20272
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, javascript, html, css
Testing Methods: Focus Not Obscured (Enhanced) (dec)20271
accessibility, testing, wcag, focus, keyboard-navigation
How Fast Can Browsers Process Base64 Data? (lem)20270
performance, encoding, base64, browsers, metrics, comparisons
How Good Engineers Write Bad Code at Big Companies (sea)20269
quality, career, culture
The Era of Personal Software20268
programming, ai
CSS-in-JS: The Great Betrayal of Frontend Sanity20267
css-in-js, css, javascript, performance, developer-experience
How Microfrontends Work: 3 Integration Strategies20266
micro-frontends, strategies, routing, iframes, javascript, ai
EAA Deadlines, Why You Probably Can’t Wait Another 5 Years20265
accessibility, eaa, legal, compliance
Category Theory for JavaScript/TypeScript Developers (ibr)20264
javascript, typescript, programming, craft
Who Wins When We Filter the Open Web Through an Opaque System? (hdv)20263
open-web
Web Application Architecture: The Enterprise Framework Powering Modern Digital Experiences (elu)20262
architecture, web-apps
Testing Methods: Focus Not Obscured (Minimum) (dec)20261
accessibility, testing, wcag, focus, keyboard-navigation
Understanding ECDSA [Elliptic Curve Digital Signature Algorithm]20260
cryptography, algorithms, math
Eleventy: How to Set Up Effective HTML Minification (in 24 Seconds) (j9t)20259
how-tos, eleventy, html, html-minifier, minification, optimization
One CSS Trick to Eliminate Scrollbar Layout Shifts (ami)20258
css, scrolling, tips-and-tricks
How to Create an Adaptive SVG Favicon Using the “prefers-color-scheme” Media Query (zor/css)20257
videos, how-tos, favicons, svg, css, images
The Idiot Sandwich—on Embedding Alt Text (ede)20256
images, alt-text, accessibility
5 Reasons Why WCAG AA Compliance Does Not Mean Your Website Is Accessible (cra)20255
accessibility, wcag, compliance, colors, readability, performance, content, multimedia, quality
AI for Good Accessibility (ala)20254
slides, ai, accessibility
The Accessibility Problem With Authentication Methods Like CAPTCHA (sma)20253
accessibility, captcha
Testing Methods: Section Headings (dec)20252
accessibility, testing, wcag, headings
Best of the Pod: Would You Shut Down Your Most Successful Product? the Arc to Dia Story20251
videos, the-browser-company, arc, dia, browsers, history, product-management
New to the Web Platform in November (rac)20250
release-notes, web-platform, browsers, firefox, safari
Ripple Over React? Evaluating the Newest JS Framework (log)20249
ripple, react, frameworks, comparisons
Saumya Majumder on How Cloudflare Outages Impact the Web and WordPress Performance Solutions (nat)20248
podcasts, interviews, cloudflare, wordpress, performance
Taking Down Next.js Servers for 0.0001 Cents a Pop20247
servers, nextjs, vulnerabilities, security
Testing Methods: Link Purpose (Link Only) (dec)20246
accessibility, testing, wcag, links, microcontent, link-lists
Accessibility and Usability: Inline Field Validation vs. Constantly Active Submit Button20245
forms, buttons, validation, accessibility, usability, comparisons
The End of Dashboards and Design Systems20244
design, design-systems
Critique20243
design, craft, collaboration, processes
What an Accessibility Conference Taught Me About Designing for All20242
design, accessibility
How to Add and Remove Items From a Native CSS Carousel (…With CSS) (dxn/fro)20241
how-tos, css, carousels, scrolling
Why Use React? (ada)20240
react, frameworks
What Are Invokers? Interactivity Without JavaScript (tol/syn)20239
videos, javascript, html, pop-overs
Migrating From GitHub to Codeberg (and/zig)20238
migrating, github, codeberg
Updating CSS Border Radius When a Container Is Overflowing (rik)20237
css, borders, overflow, scrolling
A New Navigation Paradigm20236
ai, navigation, design
Applying AI Where It Matters20235
studies, research, ai
Becoming Unblockable (sea)20234
career, prioritization, tooling, collaboration
Orion 1.0—Browse Beyond (kag)20233
browsers, orion, ai
“<dialog>” and Popover: Baseline Layered UI Patterns20232
modals, pop-overs, css
WebGPU Is Now Supported in Major Browsers20231
webgpu, browsers, support, web-platform
What Actually Makes You Senior (ter)20230
career
Thoughts on Kagi’s Orion Browser vs. AI Browsers (dra)20229
orion, kagi, browsers, ai
Animation and Carousels (web)20228
accessibility, animations, carousels, css, reduced-motion
Design Tokens Aren’t Enough—Architecture Decisions Need a Place in Your Design System (sam)20227
design-systems, design-tokens, architecture, documentation
Direction-Aware Arrow Shape Using Corner-Shape (css)20226
css, shapes
Testing Methods: Location (dec)20225
accessibility, testing, wcag, navigation
The Shai-Hulud 2.0 npm Worm: Analysis, and What You Need to Know20224
npm, security, dependencies
A Minimal CSS Starter (j9t)20223
css, templates, minimalism
Tech Predictions for 2026 and Beyond20222
outlooks, web
Design System Culture: What It Is and Why It Matters (ari/sma)20221
design-systems, culture
CSS Backgrounds Module Level 4 (fan+/w3c)20220
standards, css, backgrounds
93% Faster Next.js in (Your) Kubernetes (mco/pla)20219
nextjs, nodejs, performance, kubernetes
Web Browser Status Bars Are Nuts (lap)20218
browsers, comparisons
Brand New Layouts With CSS Subgrid (jos)20217
layout, css, grids, examples
GitLab Discovers Widespread npm Supply Chain Attack20216
npm, dependencies, security, gitlab, aws, gcp, azure
The Future of AWS CodeCommit20215
aws, tooling, git, outlooks
Replacing “glob-all” With “fs.promises.glob” in Node.js (cto)20214
refactoring, nodejs
How to Easily Create Modern, CSS-First Forms in WordPress (zor/css)20213
how-tos, videos, css, forms, wordpress
“light-dark()” Isn’t Always the Same as “prefers-color-scheme” (ste)20212
css, functions, dark-mode, colors
UX Is Your Moat (and You’re Ignoring It) (cwo)20211
user-experience, economics
Managing Side Effects: A JavaScript Effect System in 30 Lines or Less (ayc)20210
javascript
Introduction to CSS “if” Statements and Conditional Logic (mar)20209
introductions, css, functions, conditionals
The State of Tanstack, Two Years of Full-Time OSS (tan/tan)20208
tanstack, foss
The Performance Inequality Gap, 2026 (sli)20207
performance, javascript, metrics
Web Monetization Is Still Inching Along, but Still Too Difficult (chr/fro)20206
monetization
On Inheriting and Sharing Property Values (dxn/css)20205
css, cascade, techniques
Why Does AI Devour So Much Water? (ger)20204
ai, sustainability
Testing Methods: Focus Visible (dec)20203
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
You’re Doing JavaScript Testing Wrong (cfe)20202
javascript, testing
Shuffling a CSS Grid Using Custom Properties (cod)20201
css, grids, custom-properties
WCAG 2.1 Addition—Success Criterion 1.4.10: Reflow (Level AA)20200
accessibility, wcag, standards, reflow
Testing Methods: Headings and Labels (dec)20199
accessibility, wcag, testing, headings, labels, forms
If You Think Your Commit Messages Are Bad, Just Wait…20198
commit-messages
You’re Not Building Netflix: Stop Coding Like You Are20197
programming, architecture, prioritization
AI Will Soon Deliver Code That Will Pass Automatic Testing by Default (cer)20196
ai, testing, accessibility
Testing Methods: Multiple Ways (dec)20195
accessibility, wcag, testing, navigation, sitemaps, link-lists
Unifying [Wikipedia’s] Mobile and Desktop Domains (kri/wik)20194
wikipedia, refactoring, mobile, desktop, performance, seo, user-experience, infrastructure, case-studies, link-lists
The PHP 8.5 Pipe Operator (“|>”): Useful, but Watch for These Gotchas20193
php, operators
How Designers Gaslight Users With Microcopy (web)20192
design, microcontent, dark-patterns
WCAG 2.1 Addition—Success Criterion 1.3.5: Identify Input Purpose (Level AA)20191
accessibility, wcag, standards, forms
Keyframes Tokens: Standardizing Animation Across Projects (ami/sma)20190
css, animations, consistency
Testing Methods: Link Purpose (in Context) (dec)20189
accessibility, wcag, testing, links, microcontent
WCAG 3 Update (kno)20188
videos, accessibility, wcag, standards
Critical Thinking During the Age of AI (add)20187
ai, processes, career
The Value of Selecting Selects by Value (aar)20186
accessibility, wcag, forms
How to Create 3D Images in CSS With the Layered Pattern (sun/fro)20185
how-tos, images, 3d, css, transforms
5 Engineering Skills to Prioritize in the AI-Driven Era20184
ai, writing, architecture, debugging, communication, career
Testing Methods: Focus Order (dec)20183
accessibility, wcag, testing, focus, keyboard-navigation, link-lists
WCAG 2.1 Addition—Success Criterion 1.3.4: Orientation (Level AA)20182
accessibility, wcag, standards, mobile
Cross-Browser Anchor Positioning (mey+/odd)20181
videos, interviews, css, anchor-positioning
The Rosetta Stone of Design Engineering (yan)20180
design, processes, collaboration
Responsive Letter Spacing (tyl/clo)20179
responsive-design, typography, css
Grid: How “grid-template-areas” Offer a Visual Solution for Your Code (sar/web)20178
css, grids, layout
Should We Even Have “:closed”? (sun/css)20177
css, selectors, disclosure-widgets
The Engineer You Never Met: Why Interview Processes Systematically Reject Qualified Engineers20176
hiring, economics, case-studies
Automated Accessibility Testing for React—Tools and Best Practices You Can Use20175
accessibility, testing, react, tooling, best-practices
These Queries Cover 80% of SQL20174
sql, databases
Testing Methods: Page Titled (dec)20173
accessibility, wcag, testing, html
Good Enough Is a Strategy (tre)20172
strategies, technical-debt, quality
State of React 2025 (sac/dev)20171
surveys, react
A Guided Tour of Copenhagen (fre/ske)20170
guides, sketch
Announcing Angular v21 (mar/ang)20169
release-notes, angular
Why Web Design Must Finally Break Free From Its Graphic Design Roots (web)20168
design, print, ai, career
Using esbuild in Eleventy (db)20167
eleventy, esbuild
Anchoring to a Containing Block (kiz)20166
css, anchor-positioning
When the Dark Pattern Is a Glaring Green Checkmark20165
design, user-experience, dark-patterns
Cloudflare Outage on November 18, 2025 (eas)20164
cloudflare
Web Development: On the Size and Output of and the Growth Opportunities Within the Field (j9t)20163
guest-posts, training, career, frontend-dogma
To Be a Leader of Systems (haz)20162
leadership
The Cloudflare Outage Was a Good Thing20161
cloudflare, resilience, infrastructure
Testing Methods: Bypass Blocks (dec)20160
accessibility, wcag, testing, keyboard-navigation
Experiment: Making TypeScript Immutable-by-Default (eva)20159
experiments, typescript
WCAG 2.1 Addition—Success Criterion 2.5.4: Motion Actuation (Level A)20158
accessibility, wcag, standards
More CSS “random()” Learning Through Experiments (chr/fro)20157
css, functions, randomness, experiments
Do Not Put Your Site Behind Cloudflare if You Don’t Need To20156
cloudflare
Firefox Is Adding Support for a Feature That Users Requested Since 200420155
firefox, browsers, keyboard-shortcuts
How to Successfully Migrate Your App With an AI Agent (bla/ope)20154
how-tos, migrating, refactoring, ai
WCAG 2.1 Addition—Success Criterion 2.5.3: Label in Name (Level A)20153
accessibility, wcag, standards, labels, forms
Ethical Defaults: Why Designers Must Stop Hiding Behind Settings (web)20152
design, ethics
10 Git Tricks That Made Me a Way Better Developer20151
git, command-line, tips-and-tricks
Tooltip Components Should Not Exist (tkd)20150
tooltips, components
A11y 101: 2.4.7 Focus Visible (nat)20149
introductions, accessibility, wcag, focus, keyboard-navigation
The “Most Hated” CSS Feature: “asin()”, “acos()”, “atan()”, and “atan2()” (mon/css)20148
css, functions, math
Testing Methods: Animation From Interactions (dec)20147
accessibility, wcag, testing, animations
How to Prepare for the Future of Programming (jet)20146
how-tos, programming, learning
Automated npm Secret Rotation in GitHub Actions (mhe)20145
npm, security, automation, github-actions
Top 10 Branding Trends to Watch Out for in 2026 (des)20144
branding, design, trends, outlooks
Testing Methods: Three Flashes or Below Threshold (dec)20143
accessibility, wcag, testing
How to “Officially” Deprecate Methods With Node.js Utilities (ste)20142
how-tos, deprecation, nodejs, developer-experience
Wrangling My Email With Claude Code (jlo)20141
email, claude, ai, efficiency
Testing Methods: Timeouts (dec)20140
accessibility, wcag, testing, time
Accessible Names and Labels: Understanding What Works and What Doesn’t (tpg)20139
accessibility, labels, naming, forms
“display: masonry” Is Officially Dead (kev)20138
videos, css, masonry, layout
It Is OK to Say “CSS Variables” Instead of (or Alongside) “Custom Properties” (kiz)20137
css, variables, custom-properties, terminology
Good Visual Design, Explained (nng)20136
design, principles, quality
A Complete Guide to the HTML Number Input (oll)20135
guides, html, attributes, forms
“Technical Debt Will Bite Us in the Ass”: How to Make Non-Technical Stakeholders Actually Care20134
how-tos, technical-debt, communication, prioritization
Monotype Font Licencing Shake-Down (ame)20133
fonts, licensing
“Move Fast and Don’t Break Things”—What Four Startups Taught Me About Execution20132
design, career, product-management, engineering-management
What’s New in PHP 8.5 (bre)20131
php
Animating CSS “width” or “height” No Longer Forces a Main Thread Animation (in Chrome, Under the Right Conditions) (bra)20130
css, animations, chrome, browsers
Is Server-Side Rendering React’s Holy Grail?20129
react, server-side-rendering
A Suggestion for Your Community Terms and Policies (j9t)20128
community, collaboration, politics
What’s New in the Design Tokens Spec: From Static to Living Design Data (res/zer)20127
design-tokens, design-systems
Browserslist and Baseline (chr/fro)20126
browsers, support, web-platform, browserslist
Older Tech in the Browser Stack (sma)20125
xpath, css, techniques
Writing Is Probably the Worst Use Case of AI20124
ai, writing
Testing Methods: Re-Authenticating (dec)20123
accessibility, wcag, testing, authentication
What’s Coming in TypeScript 6/7 (dan+/typ)20122
podcasts, interviews, typescript, ecmascript, outlooks
From Tokens to Touchpoints: Powering a Successful Rebrand With Your Design System (zer)20121
design-systems, design-tokens, collaboration
The Last Couple Years in V8’s Garbage Collector (win)20120
v8, javascript-engines, garbage-collection, memory, retrospectives, javascript
The Hard Truth About Learning to Code (That No One Tells You)20119
learning, career
Do Newer AI-Native IDEs Outperform Other AI Coding Assistants? (lau)20118
ai, code-editors, efficiency, metrics, comparisons
What Developers Really Mean by “Bad Code” (jet)20117
maintainability, scalability, consistency, security, quality
How We Catch UI Bugs Early With Visual Regression Testing20116
testing, regressions, playwright, javascript
Range Syntax for Style Queries (una)20115
css, style-queries
CSS “:interest-invoker” and “:interest-target” Pseudo-Classes (tre)20114
css, selectors, forms
Testing Methods: Interruptions (dec)20113
accessibility, wcag, testing
Netflix’s Engineering Culture (ger)20112
podcasts, interviews, netflix, culture, ai
Firefox 147 Release Notes for Developers (mdn)20111
release-notes, firefox, browsers
Guiding the Future of Ethical Design20110
design, ethics
Why Headings Are Important in HTML: Structure, Accessibility, and SEO20109
html, headings, accessibility, seo
Programming Principles for Self Taught Front-End Developers (kil/pic)20108
programming, principles
Effectively Monitoring Web Performance (sma)20107
performance, monitoring, tooling
“::details-content”: Style Expandable Content Without Wrapper Divs (tre)20106
disclosure-widgets, css, html
Using “chrome-devtools-mcp” With Polypane (pol)20105
polypane, browsers, dev-tools, mcp, chrome, ai
Rust vs. Python: Finding the Right Balance Between Speed and Simplicity (jet)20104
rust, python, performance, simplicity, programming, comparisons
Error Chaining in JavaScript: Cleaner Debugging With “Error.cause”20103
javascript, errors, debugging
Perfectly Pointed Tooltips: To the Corners (css/fro)20102
css, tooltips
10 Smart Performance Hacks for Faster Python Code (did/jet)20101
python, performance, techniques
My CSS Selector Strategy (mal)20100
css, selectors, principles
20 Best CSS Preprocessor Tools and Comparison for 2025: Complete Guide to Active Tools20099
guides, css, tooling, preprocessors, comparisons, link-lists
Crafting Generative CSS Worlds (cod)20098
css, transforms
Testing Methods: Pause, Stop, Hide (dec)20097
accessibility, wcag, testing, multimedia, animations, link-lists
Link vs. Button: Choosing the Right Element for the Right Job (tpg)20096
html, links, buttons, accessibility, wcag, comparisons
“aria-labels” and Privacy: A Word of Caution (hom)20095
accessibility, aria, privacy
“AI” Browsers: The Price of Admission Is Too High (bru/viv)20094
ai, browsers
Headings: Semantics, Fluidity, and Styling—Oh My! (geo/css)20093
headings, html, css
Six Things I Bet You Didn’t Know You Could Do With Chrome’s DevTools20092
chrome, dev-tools, browsers
3 User-Friendly Technical Ways to Respond to Genocidistan (j9t)20091
politics, traffic, censorship, community
How to Rate-Limit Requests With nginx20090
how-tos, nginx, servers, rate-limiting
Building a Multi-Stage Timetable With Modern CSS Using Grid, Subgrid, “round()”, and “mod()” (nil)20089
css, grids, layout, functions
Testing Methods: Timing Adjustable (dec)20088
accessibility, wcag, testing, time, link-lists
Why CSS Is So Hard for Generative AIs to Understand?20087
css, ai
Frontend News #17: Why Pseudo-Elements Don’t Work With “:is()”, the Advantages of OKLCH, and More (zor/css)20086
videos, css, selectors, oklch
Testing Methods: Character Key Shortcuts (dec)20085
accessibility, wcag, testing, keyboard-shortcuts
Material 3 Expressive: Building on the Failures of Flat Design20084
material-design, flat-design, design, link-lists
Slots in Design Systems (nat)20083
design-systems, figma
A Practical Guide to Flutter Accessibility: The Basics (kor)20082
guides, fundamentals, flutter, accessibility
Fix “width: 100%” Overflow Easily (zor/css)20081
videos, css, overflow
Sustainable Accessibility in Complex Organisations: Strategic Foundations (ihe/tet)20080
accessibility, leadership, dei, processes
When Everyone’s a Developer, How Do We Promote the Web Platform Over React? (ric)20079
web-platform, react, ai, link-lists
When to Use CSS “text-wrap: balance” vs. “text-wrap: pretty” (dxn/log)20078
css, typography
Tailwind CSS Won the War… but We’re the Losers20077
tailwind, css, html, web-platform
Sustainable Accessibility in Complex Organisations: Organisational Realities (ihe/tet)20076
accessibility
Staggered Animation With CSS “sibling-*” Functions (pre/fro)20075
animations, css, functions
Smashing Animations: Magnificent SVGs With “<use>” and CSS Custom Properties (mal/sma)20074
animations, transforms, svg, css, custom-properties
Monorepo vs. Multi-Repo vs. Git Submodule vs. Git Subtree: A Complete Guide for Developers20073
guides, architecture, monorepos, git, version-control, comparisons
JavaScript Just Leveled Up: ES2025—You’ll Fall in Love With (jsd)20072
javascript, ecmascript, standards
It Ain’t Easy to Move a Side Project Off Big Tech (thi)20071
migrating, vercel, sveltekit
Is Figma in Its Accessibility Era?20070
figma, accessibility
10 Tiny UI Fixes That Make a Big Difference20069
design, forms, spacing, alignment, consistency, hierarchy, usability, best-practices
TypeScript’s Rise in the AI Era: Insights From Lead Architect, Anders Hejlsberg (aar)20068
typescript, ai
Combining Scroll-Driven Animations With “@starting-style” (bra)20067
css, scrolling, animations
Advanced Beginner’s Guide to ClojureScript (rom)20066
guides, javascript
Now Available: “On Web Development II”! (j9t)20065
books, html, css, engineering-management, maintainability, quality
100, 150, or 200? Debunking the Alt Text Character Limit20064
alt-text, accessibility, images, link-lists
A (Kind of) Farewell to the Web (joh)20063
web-platform, frameworks, ai, career
Explaining the Accessible Benefits of Using Semantic HTML Elements (geo/css)20062
html, semantics, accessibility
Brutalism in the AI Era: Why Ugly Might Be the Only Honest Aesthetic Left (web)20061
design, aesthetics, brutalism
You Are Going to Get Priced Out of the Best AI Coding Tools (dpa)20060
ai, tooling, economics
Why Separate Guest and Logged in States Create Accessibility Barriers20059
accessibility
Introducing the OWASP Top 10:2025 (she+/owa)20058
introductions, owasp, security, vulnerabilities
Why 44% of Your Audience Might Not Understand You: An Interview With Jamila Savoy20057
interviews, content, writing, accessibility
Six Key Components of UX Strategy (vit/sma)20056
user-experience, strategies
The Web Animation Performance Tier List (cit)20055
animations, performance, javascript, css, apis
The Weird Parts of “position: sticky;” (ada/fro)20054
css, positioning
No Close Quote? (css)20053
css
How to Throttle Specific Requests in Chrome DevTools (mat/deb)20052
how-tos, dev-tools, browsers, chrome, throttling
Using Composability Over Inheritance to Scale Design Systems (ase/zer)20051
design-systems, components, inheritance, scalability
Real Performance Benchmarks of PHP 8.5 vs. PHP 8.3 and Node.js20050
performance, php, nodejs, comparisons
Why Big Tech Won’t Hire Flutter Developers (and Why You Should Care) (ala)20049
career, flutter, economics
Top 10 Essential Productivity Software for 202520048
tooling, productivity, collaboration, communication
Some Software Bloat Is OK20047
quality, technical-debt, performance
How I Use AI to Build Frontend Apps: My Candid, Messy Process (bla)20046
ai, processes, debugging, claude
The Inner Workings of JavaScript Source Maps (man/pol)20045
javascript, typescript, source-maps
Learn React Server Components (jad)20044
videos, tutorials, react, components
WebKit Features for Safari 26.1 (jen/web)20043
release-notes, webkit, safari, browsers
What’s New in ViteLand: October 2025 Recap (man)20042
release-notes, vite, vitest, rolldown, oxc
Making a Design System That Gets Adopted (cle)20041
design-systems, case-studies
What Is Detached State in Git and How Do You Recover From It?20040
git, command-line
Dark Mode Is the New Comic Sans (and You Know It) (web)20039
dark-mode, design, accessibility
You Need to Become a Full Stack Person (loc)20038
ai, career
The Fundamentals Problem (chr)20037
fundamentals, design, prioritization
Why Most Developers Stay “Mid” Forever20036
career
“pathLength” Makes Makes SVG Path Animations Easier to Manage (ste)20035
svg, images, animations
Why We Migrated From Python to Node.js20034
migrating, python, nodejs
Grayscale Testing: The Missing Step in Color Accessibility (pop)20033
accessibility, testing, colors
The “Most Hated” CSS Feature: “tan()” (mon/css)20032
css, functions, math
Running Node.js in a Hugging Face Space (tom)20031
nodejs, hugging-face
I’ve Reviewed 500 Java Projects—Everyone Makes This Same Dumb Mistake20030
java, mistakes, strings
Why I Don’t Test Different Designs at the Same Time (ada)20029
design, testing
TL;DR: How Your Advantage Becomes Your Achilles Heel (ste)20028
product-management, ai
Top 100 Domains on Frontend Dogma (fro)20027
frontend-dogma
Reduce LLM Costs: Token Optimization Strategies (ros)20026
ai, token-optimization, economics
Global Digital Accessibility Salary Survey (web)20025
surveys, accessibility, career
AI Broke Interviews20024
ai, interviewing, hiring
It’s Almost 2026: Why Are We Still Arguing About CSS vs. Tailwind20023
tailwind, css, comparisons
12 Essential Java Best Practices Every Developer Should Follow20022
programming, java, best-practices, principles
Context Engineering for Non-Engineers (cwo)20021
ai, prompting, claude
Node.js 24 Becomes LTS: What You Need to Know (nod)20020
nodejs, nsolid
Your URL Is Your State (ahm)20019
urls, state-management
AI and Alt Text (ted+/web)20018
videos, ai, alt-text, images, accessibility
Evergreen Web Design Is a Lie (but Maybe That’s Okay) (web)20017
design, creativity
The Hidden Cost of Projects: Why Latency Kills Value20016
project-management, processes
Architectural Debt Is Not Just Technical Debt (may)20015
architecture, technical-debt
Just Use a Button (cfe)20014
html, buttons, semantics
Testing Methods: Keyboard (No Exception) (dec)20013
accessibility, testing, keyboard-navigation
Use Cases for Field Sizing (sha)20012
forms, css, examples
New to the Web Platform in October (rac)20011
release-notes, web-platform, browsers, firefox, chrome
After the AWS Outage20010
aws, cloud-computing
Comparing Interviews at 8 Large Tech Companies (ger)20009
interviewing, google, amazon, atlassian, comparisons
Self-Hosting Versus Lots of Small IndieWeb Providers20008
self-hosting, indieweb
HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool20007
html, minification, tooling, windows, asp-net, retrospectives
The Real Problem With AI Coding20006
ai
Developers Shouldn’t Learn Design—Designers Shouldn’t Code (phi)20005
design, programming, processes, collaboration, project-management
How to Use CSS “line-clamp” to Trim Lines of Text (dxn/log)20004
how-tos, css, typography
Removing XSLT for a More Secure Browser (dro)20003
chromium, chrome, browsers, xsl, web-platform, security
AI Frontend Generator Comparison: Claude Code vs. v0 vs. Cursor vs. Replit (hcr)20002
ai, code-editors, claude, vercel, cursor, tooling, comparisons
Blogging Gets Serious in 2001 With Warblogs and Movable Type (ric)20001
web, history, blogging, examples, movable-type
Amazon’s Return to Office Mandates Backfire (jpr)20000
amazon, aws, culture, economics
Getting Creative With Small Screens (mal/css)19999
design, responsive-design, mobile, css
The Coming War of AI Browsers: Why the Web Will Never Be the Same Again (web)19998
ai, browsers, open-web, personalization
Flutter’s Silent UI Killers19997
flutter
Arnas Donauskas on AI-Powered Troubleshooting for Websites (nat)19996
podcasts, interviews, ai, debugging, tooling
Sometimes the Best Accessibility Fix Is a Usability Fix19995
accessibility, usability
Get Started With Manual Testing (pop)19994
introductions, accessibility, testing
I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance (che)19993
frameworks, mobile, performance, comparisons, nextjs, tanstack, nuxt, angular, marko, solidstart, solidjs, sveltekit, qwik, astro, htmx
Will npm’s New Security Steps Stop Attacks? (rev)19992
security, npm, maintenance, foss
HTTPS by Default (jde+)19991
http, security, chrome, browsers
ChatGPT Sez Build With Semantics First (ste)19990
chatgpt, chatgpt-atlas, ai, browsers, html, semantics, accessibility
Octoverse: A New Developer Joins GitHub Every Second as AI Leads TypeScript to #119989
github, metrics, productivity, ai, foss, security, programming
Import JavaScript Like It’s 2026 (sto)19988
javascript, performance
Mastering “URLPattern” for Cross-Platform Routing (jsd)19987
nodejs, routing
Node.js v22 to v24 (aug+/nod)19986
nodejs, migrating
Start Implementing View Transitions on Your Websites Today (cyd/pic)19985
css, view-transitions, javascript, apis
Perfectly Pointed Tooltips: A Foundation (css/fro)19984
tooltips, css, anchor-positioning
Agentic AI and Security (ksi/mfo)19983
ai, architecture, security
Springs and Bounces in Native CSS (jos)19982
css, animations, transitions, effects, functions
Parenthetical Asidenotes (mey)19981
html, css
Who Rules AI Search? What 3 Months of AI Visibility Data Tells Us (sem)19980
search, ai, domains, metrics
Google Kills Privacy Sandbox (pro)19979
google, privacy, apis
Inlining Critical CSS: Does It Make Your Website Faster? (mat/deb)19978
css, critical-path, performance, lazy-loading
16 Charts That Explain the AI Boom (bin)19977
ai, metrics, economics, openai, anthropic, facebook+meta, oracle, google, microsoft, aws
What I Learned Porting Mastro From Deno to Node.js (mas)19976
lessons, migrating, deno, nodejs
Why Do We Need Dithering?19975
images, dithering
Your Accessibility Score Is Lying to You19974
accessibility, metrics, testing
The State of Django 2025 (wsv/jet)19973
surveys, metrics, django
A11y 101: 2.4.5 Multiple Ways (nat)19972
introductions, accessibility, wcag
JavaScript for Everyone: Iterators (wil/sma)19971
javascript
Express.js 6 and Beyond: Modernizing the Most Popular Node.js Framework (nod)19970
nodejs, express, frameworks, modernization
The JavaScript Feature You’ve Probably Never Used Allows Running Untrusted JavaScript Safely19969
javascript
Alt Text or Image Description?19968
accessibility, images, alt-text, comparisons, terminology
AI for War: Big Tech Empowering Israel’s Crimes and Occupation (mar)19967
ai, legal, google, aws, microsoft, palantir
“Good Engineering Management” Is a Fad (let)19966
engineering-management, prioritization
Don’t Forget These Tags to Make HTML Work Like You Expect (jim)19965
html
Crafting Engineering Strategy (let)19964
books, engineering-management, strategies
Testing Methods: No Keyboard Trap (dec)19963
accessibility, testing, wcag, keyboard-navigation
The Origin Story of JavaScript (ann/cas)19962
videos, history, web, javascript, ecmascript, browsers, browser-wars, browser-engines, standards
What’s New in Next.js 16 (tre)19961
nextjs
The Sky Is Falling, the Web Is Dead (ern/ted)19960
web, history
Mistakes I See Engineers Making in Their Code Reviews (sea)19959
code-reviews, processes, communication, mistakes
How to Write Clear and Effective Bug Reports That Everyone Loves19958
how-tos, bugs, documentation
The Edge Cases That Break Hearts (and Products) (lau/nng)19957
design, usability, accessibility, user-experience
The Curse of the Custom Cursor (mal)19956
cursors, design, accessibility
How Designers Become Builders and the Future of Tooling19955
videos, design, github
Directives and the Platform Boundary (tan/tan)19954
javascript, frameworks
High-Performance Syntax Highlighting With [the] CSS Highlights API19953
css, apis, syntax-highlighting
You Already Have a Git Server19952
git, servers, command-line
Code Like a Surgeon (geo)19951
ai
The Layered Aesthetic: Depth, Complexity, and Chaos Done Right (web)19950
design
CSS Animations That Leverage the Parent–Child Relationship (pre/css)19949
css, animations
What’s an Interactive Element? (mat)19948
html, focus, concepts
Introducing TanStack Start Middleware (ada/fro)19947
introductions, tanstack
Scrum Mistakes: What Teams Get Wrong and How to Fix It19946
scrum, agile, processes, releasing, mistakes
Atlas Ableism (ste)19945
chatgpt-atlas, browsers, accessibility, compliance
Your Tokens Have Become Infrastructure (mur)19944
design-tokens, design-systems
How to Create a Strong Design System and Survive: Case Study19943
how-tos, design-systems, case-studies, lessons
Container Queries and Units in Action (mia)19942
css, container-queries, units
Preparing for Verso and Beyond: Future-Proofing Your Frontend for New Browser Engines (ele/des)19941
guest-posts, verso, servo, browsers, browser-engines
Retrofitting a Design System Into an Existing Product19940
design-systems, consistency
A Brief History of Domains (pet)19939
web, history, domains, dns
Is It Time to Regulate React? (dbu)19938
react