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 (14)

→ 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#
Design Systems and How to Use Them in an Accessible Way (bol)17315
videos, how-tos, accessibility, design-systems
AVIF vs. HEIC: Which Format Is Better?17314
images, avif, comparisons
The .io Domain Isn’t Going Anywhere Anytime Soon Amid Treaty (tho/the)17313
domains
Implementing Regular Expressions in TypeScript Types (Badly)17312
typescript, regex
HTML for People (bw)17311
books, websites, html, examples
AI for Accessibility Conformance Testing? Why? (ste)17310
accessibility, compliance, testing, ai
Announcing Deno 2 (tin+/den)17309
release-notes, deno
10 CSS Pro Tips and Tricks You Need to Know17308
videos, css, tips-and-tricks
The Value of Accessibility Annotations in Inclusive Design17307
accessibility, design, dei, annotations
8 AI Tips for Web Developers (and Their Careers) (j9t)17306
ai, tooling, documentation, code-reviews, refactoring, processes, career, tips-and-tricks
Why GOV.UK’s “Exit This Page” Component Doesn’t Use the Escape Key (bat)17305
user-experience, accessibility, keyboard-navigation
TC39 Advances 10+ ECMAScript Proposals: Key Features to Watch (sar/soc)17304
ecmascript
Shopify, Accessibility Lawsuits, and “Compliance” (nic)17303
shopify, accessibility, legal, compliance
Node.js, Pipes, and Disappearing Bytes17302
nodejs
Creating Blogging Sites With Astro17301
blogging, astro, functionality
Why Is It So Hard to Break Into Tech (thi)17300
videos, career
WebRTC: Real-Time Communication in Browsers (w3c)17299
webrtc, apis, standards
The Disappearance of an Internet Domain17298
domains
I Interviewed 100 DevTools Founders and This Is What I Learned (jac)17297
interviews, lessons, tooling, developer-experience, link-lists
Why Code Security Matters—Even in Hardened Environments17296
security, vulnerabilities, file-handling, nodejs
CSS Nesting Improves With CSSNestedDeclarations (bra)17295
css, nesting
The Best Examples of Data Visualization in 11 Leading Design Systems17294
design-systems, information-design, visualization, examples
Top 11 WordPress Themes for Web Designers in 2024 (web)17293
wordpress, themes, link-lists
The New Stylable “<select>” Element (jaf+)17292
podcasts, html, css, apis, forms
Searching for a New CSS Logo (mrt/css)17291
css
Liskov’s Gun: The Parallel Evolution of React and Web Components (bal)17290
react, web-components, comparisons
The Future of Voice User Interfaces and UX Design (uxm)17289
outlooks, voice, user-experience, design
Web Components: Little Bits (dav/web)17288
videos, web-components, html
How Effective UX Design Can Boost Business Success (uxm)17287
user-experience, design, economics, user-conversion, mobile, navigation, performance
Build a Static RSS Reader to Fight Your Inner FOMO (sma)17286
rss, astro, netlify, functionality
Dive Into WebGPU (oka)17285
introductions, webgpu, javascript
The Popover API: Your New Best Friend for Tooltips (dev)17284
pop-overs, apis, tooltips, html, css, javascript
18 Interview Questions Answered by Angular Experts (rai+/dan)17283
interviews, angular
Breaking Into UX Research: Non-Traditional Paths to Success17282
user-experience, career, case-studies
Reminder That “@scope” and HTML Style Blocks Are a Potent Combo (chr/fro)17281
css, scope
Why Do We Need a Design System? (rob)17280
design-systems
The Mazy Web She Whirls: Starting Open Web Advocacy (sil/web)17279
videos, open-web, web-platform, advocacy
Some Notes on Upgrading Hugo (b0r)17278
hugo, maintenance
Recipes for Detecting Support for CSS At-Rules (mon/css)17277
css, support, browsers, feature-detection
No Industry for Old Men (ste/web)17276
videos, retrospectives, html, aria, browsers, screen-readers, accessibility, w3c
Designing for Privacy (uxm)17275
design, privacy, cheat-sheets
CSS Anchor Positioning Guide (mon/css)17274
guides, css, anchor-positioning
Building a Single-Page App With htmx (jak)17273
single-page-apps, htmx
21 UX Strategies to Maximize User Engagement Without Exploitation17272
user-experience, design, strategies, ethics
Designing for Accessibility: Enhancing Math Learning for the Blind Using the NVDA Screen Reader17271
accessibility, design, nvda, screen-readers
VoidZero, the New ESLint, MongoDB 8.0, and More17270
voidzero, eslint
Feature Detect Style Queries Support in CSS (bra)17269
css, feature-detection, style-queries, support, browsers
Floating in Space—Animations With Compose and Canvas (eev)17268
canvas, javascript, animations
Testing CSS Print Media Styles (bah)17267
css, print, media-queries, testing
Reminder—Automatic Accessibility Testing Can Detect Inaccessibility but Can’t Detect Accessibility (cer)17266
accessibility, testing
10 JavaScript Concepts Every Node Developer Must Master17265
javascript, nodejs, concepts
Node vs. Bun: No Backend Performance Difference17264
nodejs, bun, comparisons, performance, metrics
How to Use the CSS “backdrop-filter” Property (log)17263
how-tos, css, filters, backgrounds, effects
React on the Server Is Not PHP17262
servers, react, php
Icon Usability: When and How to Evaluate Digital Icons (nng)17261
how-tos, usability, icons, images
Database 101: SSL/TLS for Beginners17260
introductions, databases, ssl, tls, authentication, security
An Introduction to WebAssembly (tom)17259
videos, introductions, webassembly
npm vs. npx17258
nodejs, npm, npx, comparisons
How a Bottom-Up Design Approach Enhances Site Accessibility (ele/sma)17257
design, accessibility, processes
Using Datastar17256
tooling
Sneaking: The Deceptive UX Pattern You Never Saw Coming (nng)17255
user-experience, dark-patterns
Node.js Can Run TypeScript17254
nodejs, typescript
How We Built a Design System in 2 Weeks17253
design-systems, case-studies
Profiling Node.js Application With VS Code (pav)17252
nodejs, profiling, vs-code, code-editors
How We Used the Design System Attributes Framework to Set Our Mission, Vision, and Principles (hs)17251
design-systems, processes
Practical Accessibility Tips You Can Apply Today (pic)17250
accessibility, tips-and-tricks, html
ESLint Now Officially Supports Linting of JSON and Markdown (nza/esl)17249
release-notes, eslint, linting, json, markdown
cpx—the npx Counterpart of the PHP Ecosystem (ami)17248
php, dependencies
Cloudflare Study: 39% of Companies Losing Control of Their IT and Security Environment (tre)17247
studies, research, security, engineering-management
Benchmarking the Performance of CSS “@property” (bra)17246
css, performance
JAWS (Only) No More (ste)17245
accessibility, jaws, nvda, voiceover, talkback, google, screen-readers, support
A UX Designer Guide to Prompt17244
guides, design, user-experience, ai, prompting
“Straight to the Pool Room”: The Risks and Pitfalls of Placing Accessibility Issues in the Backlog (int)17243
accessibility, project-management
How to Identify a Toxic Accessibility Culture, and What You Can Do About It17242
how-tos, accessibility, culture
Tips for Working From the Office?17241
discussions, career, tips-and-tricks
“Straight to the Pool Room”: The Pitfalls of Placing Accessibility Issues in the Backlog (int)17240
accessibility, processes, prioritization, project-management
Interview With Björn Ottosson, Creator of the Oklab Color Space (bjo+/sma)17239
interviews, colors, design
How to Use CSS and SVG Clipping and Masking Techniques (wpe)17238
how-tos, css, svg, images, clipping, masking
Don’t Do Agile, Be Agile (www)17237
agile, scrum, kanban, collaboration, processes
Unleash JavaScript’s Potential With Functional Programming (jan)17236
javascript, programming, comparisons
Web Components vs. State-Based UI (cfe)17235
web-components, state-management, comparisons
Web Components Are Not Framework Components—and That’s Okay (lea)17234
web-components, web-platform, frameworks
Queering Design Systems Thinking (hey)17233
design, design-systems, culture
I Wasted a Day on CSS Selector Performance to Make a Website Load 2 ms Faster (try)17232
css, selectors, performance
Eleventy v3.0.0: Possums ❤️ ESM (zac/ele)17231
release-notes, eleventy, esm
Chasing Color (aaa)17230
css, colors, design-systems
An Interesting HTML Parser Conundrum (dbu)17229
html, parsing
New to the Web Platform in September17228
release-notes, web-platform, browsers, chrome, firefox, safari
Release Notes for Safari Technology Preview 204 (jon/web)17227
release-notes, safari, browsers
4 Tips for Unlocking the Benefits of Svelte in Frontend Development (ele/des)17226
guest-posts, svelte, sveltekit
Deno 2.0, Web Components on the Server, and WordPress Drama (fro)17225
podcasts, deno, web-components, wordpress, wp-engine
Why Gumroad Didn’t Choose htmx (shl/htm)17224
htmx, case-studies
What’s the Difference Between HTML’s Dialog Element and Popovers? (chr/fro)17223
html, modals, pop-overs, comparisons
Understanding Cultural Norms to Design Inclusive User Experiences (uxm)17222
design, user-experience, culture, dei
The Reality of Balancing Pregnancy in Developer Relations (bla)17221
career, developer-relations
The “bdi” Element (hey)17220
html, semantics, internationalization
Sketch and AI (ema+/ske)17219
sketch, ai
How Bun Supports V8 APIs Without Using V8 (bun)17218
bun, javascript, v8, apis, comparisons
Designing for Digital Minimalism: Creating User Experiences That Support Mental Well-Being (uxm)17217
design, user-experience, minimalism, simplicity
Designing Effective Information Architectures for Large-Scale Web Sites (uxm)17216
design, information-architecture, complexity, scalability
Default Behavior of “position: absolute” (css)17215
css, positioning, tips-and-tricks
CSS Masonry and CSS Grid (geo/css)17214
css, layout, masonry, grids
Celebrating WebAIM’s 25th Anniversary (jar/web)17213
accessibility, webaim, anniversaries
Project IDX17212
websites, project-idx, google, code-editors, ai
Solved by CSS Scroll-Driven Animations: Hide a Header When Scrolling Down, Show It Again When Scrolling Up (bra)17211
hiding, css, scrolling, animations, techniques
Understanding the Concept of Scoping in CSS17210
css, scope, concepts
How to Learn HTML: 46 Great Sites, Courses, and Books (All Free)17209
how-tos, learning, courses, books, html, link-lists
Bundling Past, Present, and Future (dev)17208
videos, bundling, tooling, history, outlooks
Matt Mullenweg Announces Temporary Lifting of WP Engine Ban17207
wordpress, wp-engine
Web Components Are Okay (nol)17206
web-components
The “b” Element (hey)17205
html, semantics
Self-Taught Developer’s Guide to Thriving in Tech (tre)17204
guides, career
You Might Not Need That Framework (fro)17203
frameworks, javascript
How to Manage Dangerous Actions in User Interfaces (sma)17202
how-tos, design, interaction-design, microcontent
A Complete Guide to Session Management in Next.js17201
guides, nextjs, authentication, authorization
9 Laws That Every Software Developer Should Know17200
programming, principles
POSSE: Reclaiming Social Media in a Fragmented World (mol)17199
social-media, indieweb
Bad CSS-Dad Jokes III (alv)17198
css
Untrained Engineering Managers (j9t)17197
engineering-management, culture, career, training
Some Go Web Dev Notes (b0r)17196
go, sql, databases
NIST Recommends Some Common-Sense Password Rules (sch)17195
security, passwords, guidelines
Next.js: Static Site Generation (SSG) With Incremental Static Regeneration (ISR) (rem)17194
nextjs, static-site-generation, incremental-static-regeneration
“img sizes=auto” for Native Lazy Loading (ste)17193
code-pens, html, images, lazy-loading, performance
Building a Dynamic Background Effect17192
react, css, backgrounds, animations, effects
The State of Accessibility (slo/tpg)17191
videos, podcasts, accessibility, standards
Why I Prefer WebStorm Over Visual Studio Code for Web Development (ato)17190
code-editors, webstorm, vs-code, comparisons
Navigate Large Files Faster With Minimap Section Headers in VS Code (zor/css)17189
videos, vs-code, code-editors
5 Questions for Craig Buckler (cra+/fro)17188
interviews, web-platform, history
Web Components Are Not the Future (rya)17187
web-components, web-platform, frameworks
My Thoughts on the WordPress Drama (kev)17186
wordpress, automattic, wp-engine
Meta Wants to Kill the Social Web (tan)17185
facebook+meta, social-media, ai
Making Maps Accessible to Screen Readers (mni)17184
accessibility, screen-readers, link-lists
Disable Console Logs in Production in Next.js (ami)17183
nextjs, console, logging, javascript
Catching Up on the WordPress WP Engine Sitch (geo/css)17182
wordpress, wp-engine
Automattic Sends WP Engine Its Own Cease-and-Desist Over WordPress Trademark Infringement17181
automattic, wordpress, wp-engine, legal
Dynamic Numbering With CSS Counters (kev)17180
videos, css, counters
Why Asking Questions Is a Vital Part of Growing as a Designer17179
design, career, communication
The Ultimate Design Token Setup (luk)17178
design-systems, design-tokens, best-practices, link-lists
Challenging the Case for Delayed ADA Compliance (tec/equ)17177
podcasts, interviews, accessibility, ada, compliance, legal
Observing Style Changes (bra)17176
slides, css
The Problem With Superscripts and Subscripts (ric)17175
typography, css
The Golden Ratio in CSS (sto)17174
css, principles, design
How to Make a “Scroll to Select” Form Control (pre/css)17173
how-tos, forms, scrolling, css
Accessibility Is Everyone’s Responsibility (mer)17172
accessibility, culture, dei
A Guide to Destructuring in JavaScript (wil/pic)17171
guides, javascript, examples
Unleash Your Inner Avenger: A Beginner’s Guide to Unix Shells17170
guides, unix-like, shells
Will Deno 2.0 Replace Node.js?17169
videos, deno, nodejs, comparisons
How to Measure Design System at Scale17168
how-tos, design-systems, scalability, observability
2000s + 2010s = 10,000 (fro)17167
frontend-dogma, history
Feature Detecting Scroll-Driven Animations With “@supports”: You Want to Check for “animation-range” Too (bra)17166
css, feature-detection, support, animations, firefox, browsers
The Problem of the Em Square17165
design, typography, history
A Comprehensive Guide to Node.js Addons17164
guides, nodejs
Backend for Frontend (BFF) Architecture17163
architecture, backend-for-frontend
The Evolution of CSS: From Early Days to Flexbox and Grid (kev/thi)17162
videos, css, history, concepts, principles
I Finally Understand OAuth17161
authorization, oauth, security, processes
Conway’s Law: The Hidden Force Shaping Your Software Architecture (tre)17160
principles, architecture, engineering-management
Choosing Wisely: SPA vs. htmx for Your Next Web Project17159
slides, single-page-apps, htmx, comparisons
Firefox DevTools Newsletter 130 (nic/fir)17158
release-notes, firefox, browsers, dev-tools
Your Accessibility Questions Answered by a Blind Person17157
accessibility
Error Messages: 4 Guidelines for Effective Communication (nng)17156
videos, errors, guidelines, usability
Keeping Pixely Images Pixely (and Performant!) (chr/fro)17155
css, images, effects
Getting Started With CI/CD: A Beginner’s Guide to Automating Your First Pipeline (With Jenkins)17154
introductions, ci-cd, jenkins, automation, dev-ops
Building the Perfect Logo Strip (nil/9el)17153
css, logos, images, techniques
Bad CSS-Dad Jokes II (alv)17152
css
No Authentication “Like” Button17151
buttons, authentication, functionality
An Abridged History of Safari Showstoppers (rga)17150
safari, browsers, history
The Trickiest Bug I’ve Ever Fixed17149
vuejs, debugging, bugs
Outdated Docs Are Tech Debt (tre)17148
documentation, technical-debt, comparisons, processes
Masonry and Good Defaults17147
css, layout, masonry
Design Patterns in Dart17146
videos, dart, software-design-patterns
Social Media Hasn’t Killed the Personal Blog Just Yet (jim)17145
social-media, blogging
WP Engine Is Not WordPress (pho/wor)17144
wp-engine, wordpress
Significance of package-lock.json or yarn-lock.json17143
npm, yarn, comparisons
Hire HTML and CSS People (fon)17142
html, css, hiring, engineering-management
Biome.js: The ESLint and Prettier Killer?17141
biome, eslint, prettier, linting, formatting, tooling
How AI Is Evolving the Way We Code (thi)17140
videos, ai, processes, career, outlooks
Gradient Text With a Drop Shadow (fro)17139
css, gradients, shadows
Angular Routing Essentials: All You Need to Know in One Post17138
fundamentals, angular, routing
If You Don’t Write Unit Tests… It’s a Skill Issue17137
testing, processes
Good UX Is Not Just About Minimizing Clicks17136
user-experience, design, principles, processes
Pfizer’s Future of Development (lau)17135
outlooks, prioritization, processes, culture, case-studies
Powerful WebStorm Tips and Tricks: Boost Your Productivity17134
webstorm, code-editors, tips-and-tricks, productivity
FastHTML: The Perfect Framework for Simple AI-Powered Web Apps? (mat)17133
fasthtml, web-apps, ai
Deno 2.0 Release Candidate (den)17132
release-notes, deno
Poisoning AI Scrapers17131
ai, scraping, python
Fundamentals of Frontend Architecture (max)17130
courses, fundamentals, architecture
Paying Down Tech Debt: Further Learnings (ger)17129
technical-debt, processes
New Values and Functions in CSS (alv)17128
css, functions
Fake GitHub Site Targeting Developers (jul/san)17127
security, github
Code Wins Arguments (tre)17126
prototyping, processes
A Beginner’s Guide to Using Bluesky for Business Success (web)17125
guides, social-media, bluesky, content-strategy
Dealing With Rejection After Applying to Hundreds of Jobs17124
career, interviewing
Web Components in Action—How to Build a Design System17123
how-tos, web-components, design-systems
Why We Switched From Cypress to Playwright17122
cypress, playwright, comparisons, tooling, testing, performance
Node.js 20 Upgrade: A Journey Through Unexpected Heap Issues With Kubernetes (zte)17121
nodejs, maintenance, kubernetes, memory
What’s New in DevTools: Chrome 127–129 (jec+)17120
videos, chrome, browsers, dev-tools, release-notes
Don’t Sleep on AbortController17119
javascript
Frontend Development Practices That Will Help You Avoid Failure17118
best-practices, tech-stacks, architecture, principles, validation, linting, testing
Better Vue Components With TypeScript (fad)17117
vuejs, components, typescript, examples
Top 10 Microservices Design Patterns You Should Know17116
microservices, software-design-patterns
The Nine Node Pillars (mco/pla)17115
nodejs, principles, dependencies
SVG Coding Examples: Useful Recipes for Writing Vectors by Hand (sma)17114
images, svg, examples
Intro to Deno Fresh: A Fresh Take on Full-Stack JavaScript (inf)17113
introductions, fresh, frameworks
Improving Rendering Performance With CSS “content-visibility” (nol)17112
css, performance, rendering, optimization
Compile and Run C in JavaScript (jar/bun)17111
compiling, javascript
A Step-by-Step Guide to Conducting a Web Accessibility Audit (tpg)17110
guides, accessibility, auditing, testing, processes
Submit Your Proposals for Interop 202517109
interoperability, web-platform, browsers, support
Learn CSS Grid (mia+/odd)17108
videos, css, grids, layout
The Real Cost of Meetings: What FAANG Companies Do Differently (tre)17107
collaboration, processes, efficiency, facebook+meta, aws, apple, netflix, google
This New JavaScript Operator Is an Absolute Game Changer (tar)17106
javascript, operators
The Problem of Knowledge Debt in Tech (bek/ope)17105
documentation, collaboration, version-control
Animate to “height: auto;” (and Other Intrinsic Sizing Keywords) in CSS (bra)17104
css, animations
Introduction to Micro Frontends: An Overview17103
introductions, overviews, micro-frontends
CSS Grid Layout Module Level 3 (tab+/w3c)17102
css, grids, layout
The Continuing Tragedy of Emoji on the Web (nol)17101
emoji, unicode, support, browsers
On Ticket Management (j9t)17100
processes, project-management, engineering-management, efficiency
Get Ready for Interop 2025: Your Chance to Shape the Web (stu/web)17099
interoperability, web-platform, browsers, support
Clever Polypane Debugging Features I’m Loving (mrt/css)17098
polypane, browsers, dev-tools, debugging
Accessibility Preference Settings, Information Architecture, and Internalized Ableism (eri)17097
accessibility, information-architecture, wcag, apple
WebKit Features in Safari 18.0 (web)17096
safari, browsers, webkit, release-notes
Rethinking Code Reviews With Stacked PRs17095
code-reviews, version-control, git, tooling
Why HTML Has Both “<b/i>” and “<strong/em>”?17094
html, semantics
Running TypeScript Natively (nod)17093
nodejs, typescript
When to Start Blogging? (bir)17092
blogging
Stop Using “React.Fragment”17091
react
How to Teach CSS (jos/css)17090
videos, how-tos, css
How to Use JavaScript With LangChain: A Step-by-Step Guide17089
how-tos, guides, javascript, langchain
Selecting Previous Siblings (chr/fro)17088
css, selectors
Oracle, It’s Time to Free JavaScript (tin+)17087
javascript, licensing, legal, oracle
Optimising for High Latency Environments (css)17086
performance, optimization, content-delivery, http, caching
Making Orbit Animations With CSS Custom Properties (lon)17085
css, custom-properties, animations, effects
Hacking Cars in JavaScript (Running Replay Attacks in the Browser With the HackRF) (dev)17084
javascript, security
Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 10017083
web-apps, processes, scalability
Noisy, Hungry Data Centers Are Catching Communities by Surprise17082
infrastructure, hosting, sustainability
Token Optimization: The Backbone of Effective Prompt Engineering17081
ai, prompting, token-optimization
How to Create a Type to Retrieve All Keys of an Object in TypeScript17080
how-tos, typescript, objects
10 Mind-Blowing Node.js Features That Make It Unstoppable17079
nodejs
Weird Web October17078
websites, web, design
What’s the Difference Between Information Architecture and Content Strategy? (jar)17077
content, content-strategy, information-architecture, terminology, concepts, comparisons
The Magic Behind Laravel’s New “defer()” Helper (ami)17076
laravel
Let’s Bring Back Browsing (cod)17075
web, browsing
Evolve or Become Irrelevant (tre)17074
career, learning
Do You Still Use Git in the Terminal?17073
discussions, git, command-line
The HTTP QUERY Method (jre+/iet)17072
protocols, http
Company Culture Happens Outside Management (tre)17071
culture, engineering-management
Brief Note on Disclosures in Fieldsets (aar)17070
accessibility, forms, pop-overs
Bitwise Operators in JavaScript and When to Use Them (8ho)17069
javascript, operators
Predicting Developer Attrition17068
research, culture, leadership
Deceptive Patterns in Copy Are Killing Me17067
content, dark-patterns, user-experience
10 Bad TypeScript Habits to Break in 202417066
typescript, mistakes
The Fallacy of Federated Design Systems (nat)17065
design-systems, scalability, link-lists
Two CSS Properties for Trimming Text Box Whitespace (css)17064
css, whitespace
The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web)17063
html, seo, optimization, tips-and-tricks
Make “git diff” Look Beautiful in the Terminal (ami)17062
git, command-line
Introducing TanStack Router (ada/fro)17061
introductions, react, routing, tanstack
Good Forms (dav)17060
forms, best-practices, usability, accessibility, validation
CSS Values and Units Module Level 5 (tab+/w3c)17059
standards, css, units
But Why?? (a11)17058
slides, accessibility, design-patterns, testing, keyboard-navigation, contrast, colors, zooming
The Redmonk Programming Language Rankings: June 2024 (red)17057
programming, comparisons, javascript, python, java, php, typescript, css, ruby, go, shells, rust, dart
Prioritize Accessibility in Procurement for Better CX and EX17056
accessibility, prioritization, processes
Five Ways to Lazy Load Images for Better Website Performance17055
performance, lazy-loading, tooling
Request for Developer Feedback: Customizable Select (una)17054
html, forms
Reasons I Still Love the Fish Shell (b0r)17053
shells, developer-experience
When Should You Actually Worry About Tech Debt? (tre)17052
technical-debt
Using Controllers for Keyboard Accessibility (nik/a11)17051
videos, accessibility, keyboard-navigation
Understanding the “Why” Around Neurodivergent Inclusive Web Design (owe/inc)17050
videos, accessibility, dei
The Folly of Chasing Demographics (hey/inc)17049
videos, accessibility, dei
State of HTML 2024 (sac/dev)17048
surveys, html
Speed Up Your Website With “<link rel=preconnect>” (tre)17047
performance, hints
Rethinking CSS in JS17046
css, javascript, css-in-js, design, design-systems, maintenance, state-management
A Day in the Life of a DevOps Engineer: Real Stories and Challenges17045
career, processes, dev-ops
A Billion New Developers Thanks to AI? (cod)17044
career, ai, foss, link-lists
10 Developer Tools to Improve Your Daily Life as a Developer17043
tooling, productivity, developer-experience
Something Went Wrong17042
javascript, frameworks, community, developer-experience, user-experience
6 Techniques I Use to Create a Great User Experience for Shell Scripts17041
shells, techniques, user-experience
Why Copilot Is Making Programmers Worse at Programming17040
ai, github-copilot, craft, quality, programming, career
Verso Taking Shape as a Servo-Powered Web Browser (pho)17039
browsers, verso, servo
Express.js 5.0 Released After Long Delay, Though Not Yet Default as Project Appeals for Contributors17038
express
Replacing Sass’ “darken()” and “lighten()” Functions With Pure CSS (sjo)17037
css, sass, functions
Logical Properties in Size Queries (mic)17036
css, logical-properties, container-queries
Standalone Components Are the Future17035
videos, angular, components
Split Effects With No Content Duplication (ana/fro)17034
css, effects, maintainability
React 19 Cheat Sheet (ken)17033
cheat-sheets, react
How to Find the Accessible Name of a Button With Google Chrome (eri)17032
how-tos, accessibility, buttons, chrome, google, browsers, dev-tools
Google Is Killing Information Economics on the Internet (tre)17031
google, ai, economics
2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t)17030
html, conformance, metrics, quality, craft
What Price?17029
ai, sustainability, prioritization
From Node.js to Deno: How It All Began (tin)17028
videos, nodejs, deno, javascript, runtimes, history
Top 10 Angular Architecture Mistakes You Really Want to Avoid17027
angular, architecture, mistakes
Chrome Ends Support for First Input Delay (rvi)17026
browsers, chrome, performance, web-vitals, support
Designing Design Systems: Supporting Implementation and Adoption (ado)17025
design-systems
Stop Recreating the Wheel: Local Government Organizations Sharing Accessibility Information (tec+/equ)17024
podcasts, interviews, accessibility, processes, vpat-acr
Features of Your Font You Had No Idea About (ole)17023
fonts, variable-fonts, css
WCAG and Accessibility Beyond Naive Misconceptions (ope)17022
accessibility, wcag, testing, auditing
Tips for Reducing Cyclomatic Complexity (tre)17021
complexity, tips-and-tricks, best-practices, programming
The Neverending Story (gar)17020
web-platform, standards, frameworks, libraries, tooling
The Easiest Way to Start Working With OKRs (cwo)17019
okr, processes, prioritization
Anchor Positioning Quirks (mon/css)17018
css, anchor-positioning
GitHub Trick to Find the Commit That Deleted a File17017
git, github
Ensuring the Staying Power of User Experience in Your Organization (uxm)17016
user-experience, processes, culture
JavaScript Promises in Depth With V8 Engine Internals17015
javascript, promises, v8
More npm Packages on Cloudflare Workers: Combining Polyfills and Native Code to Support Node.js APIs (jas+)17014
cloudflare, nodejs, npm, apis, dependencies
How to Build an AI-Driven User Research Repository17013
how-tos, user-experience, research, ai
Create a Toggle Switch in React as a Reusable Component17012
react, components, toggles, sass, maintainability, functionality
What Does Hydration Mean? (chr/fro)17011
hydration, concepts, javascript, html, dom
Time Travelling CSS With “:target” (css)17010
css, selectors
The Undeniable Utility of CSS “:has” (jos)17009
css, selectors, examples
CSS Triggers (and)17008
websites, css, rendering
A Web Component for CodePen Embeds? (mia)17007
web-components, embed-code, codepen
Manual ’Till It Hurts17006
building, simplicity
Building the Same App Using Various Web Frameworks17005
fasthtml, nextjs, sveltekit, frameworks, comparisons
Simplicity17004
simplicity, design
Story of a Button17003
buttons
Data Centers Are Eating and Drinking Our Environment (ger)17002
infrastructure, storage, hosting, sustainability
The State of ES5 on the Web (phi)17001
ecmascript, javascript, tooling, support
“setImmediate()” vs. “setTimeout()” in JavaScript (tre)17000
javascript, time, comparisons
Going Buildless (mxb)16999
building, components, html
Frontend Dev Plus Data Structures and Algorithms: How DSA Can Power Your React App16998
data-structures, algorithms, react
Gaining Access to Anyone’s Browser Without Them Even Visiting a Website16997
arc, browsers, vulnerabilities, security
The Secrets of the “delete” Operator in JavaScript16996
javascript, operators
Overcoming Challenges in Micro-Scrum Implementation16995
agile, scrum, processes
Unrealistic Deadlines in Software Engineering (tre)16994
project-management, prioritization, quality, engineering-management
A Compelling Case for the Comma Operator16993
javascript, operators
Design Systems Should Do Less16992
design-systems, simplicity, components
A Complete Guide to Beginning With TypeScript (fro)16991
guides, typescript, link-lists, learning
Look Out, Kids: PHP Is the New JavaScript (dav)16990
php, javascript, laravel, frameworks
How to Detect Broken Links With Playwright (ste)16989
how-tos, link-rot, testing, playwright
I Need an Accessible Hero16988
accessibility, design-patterns
How to Create a Weekly Google Analytics Report That Posts to Slack (sma)16987
how-tos, google, analytics, apis, slack, documentation, functionality
UX Design Isn’t Dead, You’re Just Confused16986
user-experience, design, career
CSS Cascading and Inheritance Level 6 (fan+/w3c)16985
standards, css, cascade, inheritance
Mobile Accessibility Testing: Enhancing User Experience for All (a11)16984
accessibility, user-experience, testing, mobile
Understanding JavaScript Closures With Examples (tre)16983
javascript, closures, examples
The Goal Isn’t to Write Less Code (cfe)16982
embed-code, ai, craft
Quick Tip: Using “flatMap()” to Extract Data From a Huge Set Without Any Loop (cod)16981
javascript, arrays, tips-and-tricks
“display: contents” Is Not a CSS Reset (aar)16980
css, accessibility, resets
Deploying a Next.js App to Production in Any Server16979
deploying, nextjs
caniuse-cli (bra)16978
packages, npm, support, browsers, web-platform, caniuse, command-line
The Helpful Content Update Was Not What You Think (moz)16977
seo, metrics, google
Inlay Hints Make It Easy to Read Code in VS Code (ami)16976
code-editors, vs-code, developer-experience
The Story of Figma: Living Long Enough as a Hero to Become a Villain?16975
figma
The HTML History and Optimization Cheat Sheet (j9t)16974
html, history, optimization, cheat-sheets
Sticky Headers and Full-Height Elements: A Tricky Combination (sma)16973
css, techniques
JavaScript/Python Array Quick Reference (8ho)16972
javascript, python, arrays, overviews
Good Software Development Habits16971
programming, best-practices
CSS Display Contents (sha)16970
css, layout
Bad CSS-Dad Jokes (alv)16969
css
What’s New in React 1916968
react, vercel
Cleaning and Speeding Up the JS Ecosystem—Journey So Far (430)16967
javascript, optimization
A Complete Guide to Beginning With JavaScript (fro)16966
guides, javascript, link-lists, learning
Writing Effective Pull Request Descriptions: A Developer’s Guide16965
guides, version-control, documentation, code-reviews, collaboration
Dreaming About Drupal [and] Its Long Term Potential16964
drupal, outlooks
Avoiding Accessibility Barriers With a Checklist for Custom Controls—Opinion16963
accessibility, mobile
Notes on Setting Up a Static Website With AWS (Route 53, S3, ACM) (j9t)16962
aws, s3
Present Technical Information Using a Storytelling Framework (nza)16961
documentation, communication, writing
Tailwind CSS Config With ESM Imports (lia)16960
tailwind, configuration, esm
Should Form Labels Be Wrapped or Separate? (sib/tpg)16959
html, forms, labels, accessibility, browsers, assistive-tech
A Release Note for the Web Platform (pat)16958
web-platform, developer-experience, css, alt-text, ecmascript
Ugly Websites Sell Better16957
design, processes, testing, optimization
Tackling a System’s Accessibility Without Testing (jbu+)16956
accessibility, wcag, case-studies, heuristics
Thinking About Using AI? (mrc)16955
research, ai, sustainability
10 AI Dangers and Risks and How to Manage Them (rin)16954
ai, security, privacy, sustainability, legal
Under-Engineered Estimated Reading Time Feature (aar)16953
user-experience, scrolling
Sanding UI (jim)16952
forms, usability
Quick Guide to Web Typography for Developers (ole)16951
guides, typography, fonts, examples
Paying Down Tech Debt (ger)16950
technical-debt, prioritization, productivity
Another Stab at Truncated Text (geo/css)16949
design, accessibility, usability, css
Skeleton Screens vs. Progress Bars vs. Spinners (nng)16948
videos, user-experience, performance, placeholders, progress-indicators
llms.txt16947
websites, ai, crawling, scraping, llmstxt
CSS “@property” and the New Style (hex)16946
css
Scroll-Enhanced Experiences (car/css)16945
videos, css, scrolling
What Is React.js? (hey)16944
videos, react
HTML Whitespace Is Broken (dev)16943
html, whitespace
How to Deploy Node.js to AWS Lambda With OpenTofu and GitHub Actions16942
how-tos, deploying, nodejs, aws, serverless, lambda, github-actions, tooling, link-lists
Captured Custom Properties (kiz)16941
css, custom-properties
Backgrounds for the Box Model (and Why It Can Be Useful) (chr/fro)16940
css, box-model, backgrounds
“AggregateError” in JavaScript (tre)16939
javascript, errors
What It Is Like to Work in Meta’s (Facebook’s) Monorepo16938
facebook+meta, monorepos
Get Window Size in Pure CSS16937
css, techniques
Semi-Annual Reminder to Learn and Hire for Web Standards (aar)16936
learning, fundamentals, standards, html, css
Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster16935
performance, lazy-loading, web-vitals, angular, single-page-apps
I Want the Read Write Suggest-Edit Accept-Edit Update Web (tan)16934
web, indieweb
Be Careful When Using Generative Artificial Intelligence to Produce Code (cer)16933
accessibility, ai, code-generation
Reducing UX Debt (or Die Trying)16932
user-experience, design-debt
How I Created a 3.78 MB Docker Image for a JavaScript Service16931
docker, javascript
Understanding Web Storage: localStorage, sessionStorage, and Cookies16930
browser-storage, cookies, javascript
Faster Pages With React16929
react, performance
Automattic Launches Ambitious Tumblr Migration to WordPress16928
automattic, wordpress, migrating
A/B Testing 101 (nng)16927
introductions, a-b-testing, usability, user-experience
Supporting AVIF in Google Search (joh)16926
google, search, avif, images, support
Java Optionals (ada/fro)16925
java
Headings (web)16924
html, headings, accessibility
An SSR Performance Showdown (mco)16923
server-side-rendering, performance, vuejs, svelte, solidjs, preact, react, comparisons
An Enhancement to Accessible Responsive Tables (tem)16922
accessibility, tables, responsive-design, javascript
New to the Web Platform in August16921
release-notes, web-platform, browsers, chrome, firefox
HTTP 1 vs. HTTP 2 vs. HTTP 316920
videos, protocols, http, history, comparisons
Harnessing Copilot and Other Gen-AI Tools to Increase Digital Accessibility Efficiency (vle)16919
videos, ai, microsoft, tooling, accessibility, images, alt-text
What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11)16918
videos, guides, aria, html, accessibility
OpenAI Is Shockingly Good at Unminifying Code16917
ai, openai, javascript, minification
Drupal 11: New Features to Empower Ambitious Site Builders16916
drupal
Boost Your Productivity: Essential IntelliJ Tips for Developers16915
intellij-idea, code-editors, productivity, tips-and-tricks
Caching Demystified: Inspect, Clear, and Disable Caches (jec)16914
videos, caching, debugging, dev-tools, chrome, browsers
Stuck in the Steps?16913
design, processes
Why Playwright Is Less Flaky Than Selenium (sea)16912
testing, flakiness, playwright, selenium, comparisons
Why I Don’t Block AI Scrapers (j9t)16911
ai, scraping, robotstxt
When Regex Goes Wrong (tre)16910
regex
Querying the Color Scheme (kiz)16909
css, container-queries, custom-properties, dark-mode
Python Developers Survey 2023 Results (jet)16908
surveys, python
Paragraphs (sco)16907
html, accessibility
Hidden Cost of Frontend Frameworks16906
frameworks, dependencies, simplicity
CSS Style Observer (bra)16905
packages, npm, css
What’s Missing From HTML and CSS?16904
html, css
The Secret Inside One Million Checkboxes16903
html, databases, community
JavaScript Generators Explained, but on a Senior-Level (jan)16902
javascript, functions
Release Notes for Safari Technology Preview 202 (jon/web)16901
release-notes, browsers, safari
How to Handle Errors in Next.js for Node With the App Router (app)16900
how-tos, errors, nextjs, nodejs
Building Better Logins: A UX and Accessibility Guide for Developers16899
guides, user-experience, accessibility
Chris Ferdinandi on ADHD, Focus, and Working in Tech (cfe+)16898
podcasts, interviews, career
Redirecting Parameters in Apache16897
apache, servers, redirecting, urls
Anchor Positioning (tab/css)16896
videos, css, anchor-positioning
The Ultimate Guide to Font Performance Optimization (deb)16895
guides, fonts, performance, optimization
The Dialog Element With Entry and Exit Animations (chr/fro)16894
modals, css, animations
The “aside” Element (hey)16893
html, semantics, accessibility
Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations (pav)16892
nodejs, multithreading, memory
IndieWeb vs. Indie Web (fyr)16891
web, indieweb, terminology, comparisons
Interface Segregation Principle in React (ale)16890
principles, solid, react
How to Use React Compiler—a Complete Guide (fre)16889
how-tos, guides, react, compiling
Are Design Systems Just a Bandaid?16888
design, design-systems, product-management
Shipping Tumblr and WordPress16887
migrating, wordpress
Advanced Playwright Techniques for Flawless Testing (deb)16886
videos, testing, playwright, techniques
A Comprehensive Guide to Understanding TypeScript Record Type16885
guides, typescript
Make Me One (Input) With Everything (mor/mat)16884
html, forms, accessibility, simplicity
How to Easily Add Dark Mode to Your Website16883
how-tos, dark-mode, html, css, javascript, functionality
Generating Unique Random Numbers in JavaScript Using Sets (sma)16882
javascript, randomness
Set Up a $4/Month Hetzner VM to Skip the Serverless Tax16881
servers, serverless, hosting
Ladybird Browser: First Impressions and Easy Installation Guide16880
guides, browsers, ladybird, installing
How to Fix ESLint Violations With AI Assistance16879
how-tos, eslint, ai, automation
Is Server-Side Rendering Making a Comeback in 2024? (ele/des)16878
server-side-rendering
What Skills Should You Focus on as Junior Web Developer in 2024? (fro)16877
career, fundamentals, html, css, javascript, frameworks, tooling, learning, link-lists
Has the IndieWeb Become Irrelevant? (sta)16876
indieweb, web, fediverse
What RSS Needs (mno)16875
syndication, rss, atom, community
Managing Angular (mge)16874
angular, product-management, processes
Why Is Reaching WCAG Level AAA Not Recommended? (cer)16873
accessibility, wcag, standards
WCAG’s A and AA Distinction Is Mostly Academic (yat)16872
accessibility, wcag, standards
DevOps Project—the Ultimate CI/CD Corporate DevOps Pipeline Project16871
dev-ops, ci-cd, aws, docker, jenkins
Top Ten Git Tips and Tricks (hon)16870
git, tips-and-tricks, command-line
Mutation-Testing Our JavaScript SDKs (get)16869
javascript, testing, case-studies
Behind the Scenes: The Making of VS Code (bur+/vsc)16868
videos, code-editors, vs-code, history
Wolvic 1.7 Released (wol)16867
release-notes, wolvic, browsers
Content Strategy: Study Guide (nng)16866
guides, content, content-strategy, training, link-lists
Is Using “aria-label” to Add Alternative Text but No “alt” Attribute Still a WCAG Fail?16865
discussions, accessibility, html, attributes, forms, labels, aria, alt-text, images
Explicitly State the Difference Between Options (nng)16864
usability, information-design
Understanding Vue’s Suspense (tre)16863
vuejs
Mastering Typography in Logo Design (sma)16862
typography, design, images, logos
The Top Programming Languages 2024 (iee)16861
programming, comparisons, python, java, javascript, typescript, sql, go, html, php, lua
Improving the Screen Reader Experience for “Learn WCs” (and)16860
accessibility, user-experience, screen-readers, assistive-tech, voiceover, case-studies
Fluid Typography in Design Systems: From Design to Code (fel)16859
typography, design, design-systems, design-tokens
The Only Widely Recognized JavaScript Feature Ever Deprecated (tre)16858
javascript, history, deprecation
The Two Lines of CSS That Tanked Performance (120 FPS to 40 FPS) (and)16857
css, animations, performance
Spoiler Alert: It Needs to Be Accessible (sco)16856
accessibility, html, web-components, aria
Raw-Dogging Websites (bra)16855
html, css, javascript, tech-stacks
Elastic Overflow Scrolling (css)16854
css, overflow, scrolling
Can You Convert a Video to Pure CSS?16853
multimedia, conversion, css, javascript
The Monospace Web16852
fonts, design
Amazon Cloud CEO Predicts a Future Where Most Software Engineers Don’t Code—and AI Does It Instead16851
ai, outlooks, career
Inside ECMAScript: JavaScript Standard Gets an Extra Stage16850
ecmascript, javascript
Google Quietly Launches New AI Crawler (sea)16849
google, ai, crawling, robotstxt
Double Your Specificity With This One Weird Trick (cir)16848
css, selectors, cascade, tips-and-tricks
5 Wasm Use Cases for Frontend Development (ele/des)16847
guest-posts, webassembly, security, performance
Web Security: Shaping the Secure Web (set/w3c)16846
web, security, w3c
Understanding WCAG 2.1’s Success Criteria 1.4.10 Reflow (mni)16845
accessibility, wcag, reflow, zooming
Tailwind Balances Abstraction and Transparency16844
tailwind
How to Create an npm Package (mat)16843
how-tos, npm, dependencies
Foundations: Labelling Text Fields With Input and Label (tet)16842
accessibility, fundamentals, forms, labels, html
Exposing Internal Methods on Vue Custom Elements (jai)16841
vuejs, javascript
Custom Range Slider Using Anchor Positioning and Scroll-Driven Animations (css/fro)16840
sliders, css, anchor-positioning, scrolling, animations, forms
Configuring SSH Keys for Multiple GitHub Accounts (ste)16839
github, ssh, authentication, configuration
Basic Keyboard Shortcut Support for Focused Links (eri)16838
links, focus, support, browser-engines, keyboard-shortcuts, accessibility
How to Create a Shortcode in WordPress (in 7 Steps) (hos)16837
how-tos, wordpress
Top 5 HTML Features You’re Not Using (but Should Be)16836
html
Regexes Got Good: The History and Future of Regular Expressions in JavaScript (sma)16835
regex, javascript, history
Common Misconceptions About How to Optimize LCP16834
performance, web-vitals, metrics, optimization
Batteries Included Accessibility: A Pragmatic Guide to Get Started Today16833
videos, guides, introductions, accessibility
JS Dates Are About to Be Fixed (iag)16832
javascript, ecmascript
Core Concepts to Understand in WordPress Theme Development (kin)16831
wordpress, theming
Wasp: The JavaScript Answer to Django for Web Development16830
wasp, django, comparisons
From RPGs to UX: How Progress Indicators Affect User Engagement16829
user-experience, design, progress-indicators
What Is Incident Response?16828
incident-response, security, overviews
Ryan Dahl Explains Why Deno Had to Evolve With Version 2.0 (tin)16827
podcasts, interviews, deno, runtimes
How to Make Your Web Page Faster Before It Even Loads (whi/get)16826
how-tos, performance, web-vitals
Stop Using Margin Top—use Margin Bottom and Gap Instead (tom)16825
css, margins, spacing
The Case for a Better Web (uri)16824
web, link-lists
State of CSS 2024 (sac/dev)16823
surveys, css
React Is (Becoming) a Full-Stack Framework (rwi)16822
react, frameworks
Igalia Chats: The Coming Adpocalypse (bka+/iga)16821
podcasts, browsers, monetization, economics
Expert Guide: Writing HTML for Screen Reader Users (flo/a11)16820
guides, accessibility, html, aria, alt-text, writing, screen-readers
10 Python Programming Optimisation Techniques16819
python, optimization, techniques
How to Browse the Web in Your Linux Terminal With Lynx16818
how-tos, lynx, browsers, command-line, unix-like
How Did We Test Hundreds of Landing Pages16817
testing, landing-pages
Accessibility Specialists Warn Against Using AI for Alt Text16816
accessibility, alt-text, images, ai