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

→ 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#
Introduction to htmx (jan)15212
introductions, htmx
If View Transitions and Scroll-Driven Animations Had a Baby… (bra/9el)15211
videos, css, view-transitions, animations
Combining CSS “:has()” and HTML “<select>” for Greater Conditional Styling (ami/sma)15210
css, selectors, html, techniques
3 Methods to Elevate Your Writing With Visual Content15209
writing, content, information-design
Understanding What Drupal Editors and Authors Need (ckr/lul)15208
drupal
Exploring the Immersive Web With Wolvic (sea)15207
xr, wolvic, browsers
Ryan Dahl: From Node.js and Deno to the “Modern” JSR Registry15206
interviews, nodejs, deno, jsr
When to Use Bun Instead of Node.js (app)15205
bun, nodejs, comparisons
How to Create Content in WordPress With AI15204
how-tos, content, ai, wordpress
Maintainer Month: Enhancing Support for Open Source Maintainers (bek/ope)15203
foss, maintenance
A React Developer’s Guide to Learning Solid.js15202
guides, react, solidjs, comparisons
Cookie Permissions: 6 Design Guidelines (nng)15201
videos, cookies, consent-management, privacy, user-experience, guidelines
Why Are My Live Regions Not Working? (pat/tet)15200
accessibility, aria, live-regions
Using AI to Predict Design Trends (web)15199
ai, design, trends
The Evolution of Figma’s Mobile Engine: Compiling Away Our Custom Programming Language (fig)15198
figma, programming, typescript, migrating, case-studies
Should We Rely on Browser Detection? (htm)15197
browsers, browser-detection
Demystifying React’s Types: Ref Types15196
react
Pretty Much Every Website Uses the Wrong Font Size…15195
videos, css
Designing Design Systems: How to Lay the Groundwork That Drives Decision Making (ado)15194
how-tos, design-systems, processes, collaboration, maintenance
Use Both Ratings Average and Number of Ratings When Sorting by User Ratings15193
usability, user-experience, sorting
European Accessibility Act: Ultimate Guide to Compliance15192
guides, accessibility, compliance, legal, eaa
An Alternative Proposal for CSS Masonry (rac)15191
css, layout, masonry, google
Web Accessibility in the 2024 [US] Presidential Campaigns (web)15190
accessibility, case-studies
Web Forms: Costly Mistakes You Want to Avoid (geo)15189
books, forms, mistakes, usability, accessibility, maintainability
Popover API Is Here (chr/fro)15188
apis, pop-overs, html
I Reviewed 1,000s of Opinions on htmx15187
htmx
Handling the Indentation of a Treeview Component (sha)15186
css
Composability in Design Systems (ada)15185
design-systems, design, components
What Is Vite (and Why Is It So Popular)?15184
vite
New to the Web Platform in April (rac)15183
release-notes, web-platform, browsers, firefox, chrome, safari
Deprecating Support for “-ms-high-contrast” and “-ms-high-contrast-adjust”15182
edge, css, support, deprecation
Introduction to NestJS15181
introductions, frameworks, nestjs
How to Design Accessible Forms in 10 Steps15180
how-tos, design, accessibility, forms
CSS Inheritance (bel/pic)15179
css, cascade, inheritance
WebAssembly Performance Patterns for Web Apps (tom)15178
webassembly, performance, web-apps
Superior Range Syntax (css)15177
css, media-queries
My Approach to HTML Web Components (ada)15176
html, web-components
The Polish Paradox15175
design, optimization, user-experience
No, I Don’t Want to Fill Out Your Contact Form15174
forms, user-experience
Accessibility Evolution of Organizations (cer)15173
accessibility, processes, economics
Top 50 System Design Interview Questions for 202415172
interviewing, architecture, system-design, link-lists
Can You Detect Overflow With CSS? (fon/css)15171
css, overflow
Ditch Dotenv: Node.js Now Natively Supports .env File Loading15170
nodejs, environments, tooling
Optimizing INP: A Deep Dive15169
videos, performance, debugging, web-vitals, optimization, browsers, chrome, dev-tools, deep-dives
What Do Developers Want From AI?15168
research, ai, productivity, efficiency
The Picture-Superiority Effect: Harness the Power of Visuals (nng)15167
design, images, information-design
Passkeys: A Shattered Dream (fir)15166
security, authentication, passkeys
Basic Algorithms15165
algorithms, search, sorting
Introduction to Manual Website Accessibility Testing15164
videos, introductions, accessibility, testing
Maintaining a Design System in Figma (luk)15163
design-systems, maintenance, figma
Popover API Lands in Baseline (una)15162
pop-overs, apis, browsers, support, web-platform
Conducting Accessibility Research in an Inaccessible Ecosystem (sma)15161
accessibility, processes, prototyping, research
The Rise of Large-Language-Model Optimization (sch+)15160
ai, optimization
The HTML, CSS, and SVG for a Classic Search Form (chr/fro)15159
search, forms, html, css, svg
Radix UI Adoption Guide: Overview, Examples, and Alternatives (log)15158
guides, overviews, examples, radix
Design Déjà Vu (mal)15157
design, html, css, history, comparisons
Node.js Next 10 Survey—2024 (nod)15156
surveys, nodejs
The Perfect Site Doesn’t Exist (mic)15155
quality, maintenance, processes
Printing Music With CSS Grid (ste)15154
css, grids, examples
Why Don’t We Talk About Minifying CSS Anymore? (whi/get)15153
css, minification, performance
Borrow Checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches15152
memory, garbage-collection, programming
Write Better CSS With Modern CSS (css)15151
css, nesting, custom-properties, media-queries, tips-and-tricks
Use “:has()” to Scope CSS15150
css, selectors, scope
The Problem With “new URL()”, and How “URL.parse()” Fixes That (kil)15149
javascript, urls
The New “!important” (geo)15148
css, cascade
Ruby Might Be Faster Than You Think (joh)15147
ruby, performance
Node.js 22 Available Now (ope)15146
release-notes, nodejs
JSR Is Not Another Package Manager (tin/den)15145
jsr, dependencies
HTML Attributes vs. DOM Properties (jaf)15144
html, attributes, dom, comparisons
How to Escape JavaScript for a Script Tag15143
how-tos, javascript, escaping, html
Celebrating 20 Years of Dojo (ope)15142
anniversaries, dojo
Celebrate JavaScript Naked Day Every Year on April 24 (zac)15141
javascript, awareness-days
Using Vite to Rebuild Local Dependencies in an npm Workspace15140
npm, dependencies, vite
Update on the Plan for Phase-Out of Third-Party Cookies on Chrome15139
cookies, privacy, browsers, chrome
Hello Bun: How Sveld Now Deploys 2× Faster on GitHub and Render15138
bun, deploying, performance, case-studies
The First Framework That Lets You Visualize Your React/Node.js App15137
frameworks, visualization, react, nodejs, wasp
How the Meaning of Colour Varies per Culture15136
colors, culture
Creating Fluid Typography With the CSS “clamp()” Function15135
css, functions, typography, liquid-design
Comparing Full Stack and Headless CMS Platforms15134
comparisons, content-management, wordpress, drupal, ghost
Invoking Elements by Using Only HTML: A First Look at Invokers (uti)15133
html, modals, pop-overs
Notes on Quality15132
design, user-experience, quality
Latency Numbers Every Frontend Developer Should Know (ind)15131
performance, metrics, terminology
Your Page Can’t Change Media Features (kil)15130
css, media-queries, user-experience, apis
The Front End Developer/Engineer Handbook 2024 (fro)15129
overviews, career, learning, tech-stacks, concepts, terminology
Taking Regular Screenshots of My Website15128
screenshots, images, automation, playwright, github-actions
Reflecting on My Programming Career15127
career
Images as the First Thing in a Button or Link (tem)15126
accessibility, html, images, buttons, links
F-Shape Pattern and How Users Read (vit/sma)15125
usability, design
Adding ESLint and Auto-Fixing an Existing TypeScript Project15124
eslint, typescript, quality, automation
The Slow Death of CSS Vendor Prefixes (oll)15123
css, vendor-extensions, history
Node.js Test Runner: A Beginner’s Guide (bet)15122
guides, nodejs, testing
JavaScript Features That Most Developers Don’t Know15121
javascript, functions
State of Design Tokens 2024 (don+)15120
videos, design-tokens, figma, tooling
Write Alt Text Like You’re Talking to a Friend (spa/clo)15119
accessibility, images, alt-text
What You Can Do as a Web Builder on Earth Day (aar)15118
sustainability, ai
What Is CI/CD Pipelines: A Crucial Skill for Every Software Engineer15117
ci-cd, concepts
Using Legitimate GitHub URLs for Malware (sch)15116
security, malware, github
The Ultimate Collection of CSS-Only Shapes (css)15115
websites, css
The Crucial Dance: Enhancing Designer–Developer Collaboration for Exceptional Products (uxm)15114
collaboration, processes
The Art of Design System Recipes (bra)15113
design-systems, design-tokens
How I Use Generative AI in Branding15112
ai, branding, principles, design
Creating a UX Playbook for Onboarding Users to Your Product (uxm)15111
user-experience, onboarding, product-management
5 Hidden CSS Properties You Didn’t Know Existed15110
css
3 Essential Design Trends, May 2024 (web)15109
design, trends
15 Essential UX Design Principles and Practices for Developers (uxm)15108
user-experience, principles, best-practices
Make Product Design Great Again15107
design, user-experience, product-management
3 Tips for Advanced Prototyping in Figma15106
tips-and-tricks, prototyping, figma
Optimising React Apps15105
react, optimization
Detect JavaScript Support (fon/css)15104
css, javascript, media-queries, support
Considerations for AI Opt-Out (mno)15103
ai
April 24 Is JS Naked Day (j9t)15102
javascript, awareness-days
A Conversation With Una Kravets: The Rapid Evolution of CSS and Hobbies Outside of Work (una+)15101
videos, interviews, css
Node.js Task Runner (yag)15100
nodejs, performance
Using “@defer” Defer Views in Angular 1715099
angular, performance, lazy-loading
Make Sure That Your Design System Is Accessible (cer)15098
design-systems, accessibility
Long Alt (aar)15097
accessibility, images, alt-text, support, browsers, screen-readers
Detect JavaScript Support in CSS (hex)15096
css, javascript, media-queries, support
Design Systems and the Never-Ending Job of Buy In (pjo)15095
design-systems, communication, collaboration
How to Work With GraphQL in WordPress in 2024 (sma)15094
how-tos, wordpress, graphql
A Short Guide to Mastering Keyboard Shortcuts on GitHub15093
guides, github, keyboard-shortcuts
Typography Variables in Figma Are Here15092
typography, variables, figma
This Web of Ours, Revisited (zel)15091
web
How to Create CSS Utility Classes (fon/css)15090
how-tos, css, presentational-html
Help Us Invent CSS Grid Level 3, aka “Masonry” Layout (jen/web)15089
css, layout, grids, masonry
Building a Culture of Accessibility (tet)15088
accessibility, culture
Accessibility Overlays—Friend or Foe? (int)15087
videos, accessibility, overlays
The “Intl.Segmenter” Object Is Now Part of Baseline (rac)15086
browsers, support, web-platform, javascript
Building an npm Package Compatible With ESM and CJS in 202415085
npm, dependencies, interoperability, esm, commonjs
Sustainable Web Development: Website Redesign With a Low Carbon Footprint (wom)15084
redesigning, sustainability
Git Common Developer Pitfalls and Solutions (wom)15083
git
The End of an Era: Women Who Code Closing (wom)15082
community
What’s Going On in Dark Theme / Light Theme Land (chr/fro)15081
css, functions, dark-mode
My Code Formatting Guidelines (val)15080
guidelines, formatting, conventions, javascript, html, prettier, configuration
Angular’s New Signal Inputs15079
videos, angular, signals
A Primer on the Cascade and Specificity (bel/pic)15078
introductions, css, selectors, cascade
5 Tailwind CSS Anti-Patterns to Avoid (ato)15077
tailwind, colors, theming, frameworks, anti-patterns
Humans Do It Better: GitClear Analyzes 153M Lines of Code, Finds Risks of AI15076
ai, quality, craft, metrics, engineering-management
Building a GitHub Activity Feed With Node.js and Socket.IO15075
nodejs, github, functionality
The Impact of Color Contrast on Accessibility15074
accessibility, colors, contrast
JavaScript Code Quality Tools: See Qodana in Action (jet)15073
qodana, quality, javascript
How to Submit a Form in React Using FormData (wom)15072
how-tos, forms, react
Who Should Block AI Bots? (moz)15071
scraping, ai, seo
When Security and Accessibility Clash: Why Are Banking Applications So Inaccessible? (nic)15070
accessibility, security
Webhooks and WebSockets15069
webhooks, websockets
Upgrading jQuery: Working Towards a Healthy Web (tim/jqu)15068
jquery, maintenance, migrating
Property Hooks Are Coming in PHP 8.4 (ami)15067
php, hooks
How to Write World-Beating Web Content (web)15066
how-tos, writing, content
Displaying HTML Web Components (ada)15065
web-components, css
Converting Plain Text to Encoded HTML With Vanilla JavaScript (sma)15064
conversion, html, javascript
AI Isn’t Useless—but Is It Worth It? (mol)15063
ai, quality
12 Tips From a Mid-Level Developer15062
career, tips-and-tricks
Making Disabled Buttons More Accessible15061
accessibility, buttons, html, aria
We Need to Rewild the Internet (rob/noe)15060
web, standards, collaboration, creativity, outlooks
The Biggest Lie in HTML15059
videos, html
The Invisible Seafaring Industry That Keeps the Internet Afloat (jos/ver)15058
web
Alternating Style Queries (kiz)15057
css, style-queries, techniques
Hardest Problem in Computer Science: Centering Things (nik)15056
css, design, centering
Why We Are Still Using 88×31 Buttons15055
images, history, design
Things That Can Break “aspect-ratio” in CSS (chr/fro)15054
css, aspect-ratio
The Right Code for Your Design System (fig)15053
design-systems, figma
The Making of a TypeScript Feature: Inferring Type Predicates15052
typescript
[pnpm] v9.0.0 (pnp)15051
release-notes, pnpm
Electron 30.0.0 (kee/ele)15050
release-notes, electron
Open Source Security (OpenSSF) and OpenJS Foundations Issue Alert for Social Engineering Takeovers of Open Source Projects (rgi/ope)15049
foss, security, openjs
Ethics in Times of Growth Design15048
design, ethics
How a Successful Website Migration Led to a 20% Increase in Keyword Rankings (moz)15047
migrating, processes, seo, sem
Five Ways Cookie Consent Managers Hurt Web Performance (and How to Fix Them) (cli/spe)15046
cookies, consent-management, performance
Don’t Use the “maxlength” Attribute to Stop Users From Exceeding the Limit (ada)15045
html, attributes, forms, usability
Document Collaboration (With Comments!) (chr/fro)15044
documentation, collaboration, comparisons, link-lists
CSS in React Server Components (jos)15043
css, javascript, react, components, css-in-js
ARIA in HTML (sco+/w3c)15042
standards, accessibility, aria, html
An Intro to Flexbox (cfe)15041
introductions, css, flexbox, layout
10 Top Accessibility Errors and How to Avoid and Fix Them (sch)15040
accessibility
Interview With Senior JS Developer 202415039
videos, interviews, javascript, frameworks, libraries, tech-stacks, tooling, web-platform
Beware—Automatic Tools Over-Report Accessibility Issues and Steal Your Time (cer)15038
accessibility, auditing, tooling
Why Many Junior Developers Quit Programming (tip)15037
career, learning
What if You Had Real Control Over Light Mode / Dark Mode on a Per-Site Basis? (bra)15036
apis, dark-mode
Things You Should Do in Your Dev Journey15035
career
My “Skip to Content” Markup Was Breaking the Back Button on iOS (db)15034
html, skip-links, accessibility, mobile
How to Write a Code Formatter15033
how-tos, formatting
9 Signs Your Frontend Code Has Quality Issues That Affect Your Users (ang)15032
quality, craft, accessibility, usability, user-experience, conformance, performance
Sliding 3D Image Frames in CSS (css/sma)15031
css, images, techniques, 3d
Technical Guide: End-to-End CI/CD DevOps With Jenkins, Terraform, Docker, Kubernetes, SonarQube, ArgoCD, AWS EC2, EKS, and GitHub Actions (Django Deployment)15030
guides, ci-cd, deploying, jenkins, docker, kubernetes, aws, github-actions, django
How Do Open Source Licenses Work? The Ultimate Guide15029
guides, foss, licensing
Naming Colors in Design Systems (ado)15028
naming, colors, design-systems
10 Things Software Developers Should Learn About Learning15027
research, learning
Monitoring BFCache Blocking Reasons (chr/mdn)15026
bfcache, monitoring, debugging, performance
Introducing JS Naked Day (mac)15025
introductions, javascript, awareness-days
How to Build a Reusable Grid System With CSS Grid (cfe)15024
how-tos, css, grids, layout, maintainability
Blockin’ Bots (bee)15023
scraping, ai, apache, configuration
Let Me Be15022
videos, javascript
Purging Design System “Rot” From Our Checkboxes (chu)15021
design-systems, maintenance, quality, accessibility, case-studies
Why I’m Embracing the Arc Browser15020
browsers, arc
CSS Tricks to Master the “clip-path” Property (css)15019
css, masking, clipping, tips-and-tricks
Web Accessibility Statement: How to Write One15018
how-tos, accessibility, documentation, writing
Zombie Estimation15017
agile, scrum, processes, project-management
npm Basics for New Developers (nim)15016
fundamentals, npm
Quick Tip: How to Animate Text Gradients and Patterns in CSS (ral)15015
tips-and-tricks, how-tos, animations, gradients, css
The Dos and Don’ts of Using “tabindex” in Web Design (a11)15014
accessibility, keyboard-navigation, html
Unleashing Designers With Tailwind CSS15013
videos, tailwind, design, processes
Accessible Interactions in JavaScript Apps (san)15012
videos, accessibility, javascript, aria
Epic App Performance Starts With the Database15011
videos, performance, databases, optimization
Socks, Lies, and Accessibility15010
accessibility, awareness-days, link-lists
Gap Is the New Margin (chr/fro)15009
css, margins, layout
Complete a VPAT: Show How Accessible Your Product Is (deq)15008
accessibility, vpat-acr, conformance, documentation
An Intro to CSS Grid (cfe)15007
introductions, css, grids, layout
A Comparison of Automated Testing Tools for Digital Accessibility (equ)15006
accessibility, testing, tooling, automation, comparisons
Wednesday, April 10, 2024 Security Releases (raf/nod)15005
release-notes, nodejs, security
Optimizing WebKit and Safari for Speedometer 3.0 (pat+/web)15004
webkit, browsers, safari, performance, optimization
The Guide to Git I Never Had15003
guides, git, command-line, cheat-sheets
I Never Knew a Website Could Hurt Someone (kar)15002
videos, accessibility
Release Notes for Safari Technology Preview 192 (jon/web)15001
release-notes, browsers, safari
Control Your Vertigo—the Unspoken Rule for Defending Design Decisions15000
design, user-experience
Frontend Development Beyond React: Svelte14999
svelte
The Future of Design Systems Is Marketing (fig)14998
design-systems, marketing, metrics
Notes on Git’s Error Messages (b0r)14997
git, errors
JS Naked Day (mac+)14996
websites, javascript, awareness-days
Recapping ng-conf 202414995
angular
The ADA Now Has Regulations for Accessibility of Web Content and Mobile Apps (slo/tpg)14994
accessibility, ada, legal, web, mobile
React Server Components in a Nutshell14993
react, components
Sending Email Using Node.js (cra)14992
nodejs, email
An Introduction to the Node.js Performance API (bet)14991
introductions, nodejs, performance, apis
Happy CSS Naked Day 2024 (fro)14990
frontend-dogma, css, awareness-days
Is the Party Over for Scrum Masters and Agile Coaches?14989
agile, scrum, career
Understanding Interaction to Next Paint (INP) (wil/fro)14988
performance, web-vitals
Layered Toggles: Optional CSS Mixins (kiz)14987
css, mixins, techniques
Figma Prototypes vs. HTML Prototypes (ada)14986
design, processes, prototyping, figma, html, comparisons
Ableism and Related Terms You Need to Know (mer)14985
terminology, communication, dei
A Love Letter to Gen Z From Gen Y: Understanding React’s Evolution14984
react, history
DORA’s Software Delivery Metrics: The Four Keys (nat)14983
processes, metrics
Node.js Debugging in Chrome DevTools (chr/fro)14982
nodejs, debugging, tooling, browsers, chrome, dev-tools
Justice Department to Publish Final Rule to Strengthen Web and Mobile App Access for People With Disabilities14981
accessibility, legal, web, mobile
Creating a Navbar in React14980
navigation, react, css
Techniques for Fetching Data: Comparing Next.js (App and Pages API), Remix, and RedwoodJS (sel/red)14979
data-fetching, techniques, nextjs, remix, redwoodjs, comparisons
Building a CLI From Scratch With TypeScript and oclif14978
command-line, typescript
Node.js Secure Coding: Mitigate and Weaponize Code Injection Vulnerabilities14977
books, nodejs, security, vulnerabilities
What Is Whitespace? (nng)14976
videos, whitespace, design, concepts, terminology
User Experience in the Era of AI: Enhancing Human-Machine Interactions (uxm)14975
user-experience, ai, hci
Things That I Like Better in Vue Than in React14974
vuejs, react, frameworks, comparisons
The Death of Creativity14973
creativity, ai
Misinformation and Disinformation Online: What Design Can Do to Remedy This Problem (uxm)14972
design, communication
Inclusive Digital Experiences: Redesign Strategies for Addressing Diverse Abilities and Accessibility Challenges (uxm)14971
redesigning, strategies, dei, accessibility
How I Write Commits Like a Pro14970
version-control, git, commit-messages, conventions
Blind Internet Users Struggle With Error-Prone AI Aids (fin)14969
accessibility, ai
10 Must Know System Design Concepts for Interviews14968
interviewing, architecture, system-design, concepts, scalability
Testing HTML With Modern CSS (hey)14967
html, css, testing, quality
Jekyll vs. Astro (koo)14966
site-generators, comparisons, jekyll, astro
Faster Websites With the “picture” Element (fra)14965
html, images, performance
Demystifying the Shadow DOM14964
dom, shadow-dom
Reviewing Polypane for Responsive Website Tweaks14963
videos, polypane, browsers
Why I’m Yet Another Woman Leaving the Tech Industry14962
career, community
[zx] 8.0.014961
release-notes, zx
WCAG Bypass Blocks (“Skip to Content”)—Improve User Interaction Speed and Even Prevent Pain (cer)14960
accessibility, user-experience, keyboard-navigation, skip-links, wcag
How to Think About HTML Responsive Images (db)14959
how-tos, html, images, responsive-design
21 HTML Tips You Must Know About14958
html, tips-and-tricks
Creativity in Software Engineering14957
research, creativity, programming
Breakpoints in Responsive Design (nng)14956
design, responsive-design, breakpoints, usability
The Free Software Commons (jen)14955
foss, community, security
Should Designers Code? (bra)14954
design, career
Managing User Focus With “:focus-visible” (css)14953
css, selectors, focus
How to Make Your Website Work Offline14952
how-tos, web-workers, offline, javascript
ESLint v9.0.0 Released (nza/esl)14951
release-notes, eslint
Drive-By Accessibility Tweaks (bru)14950
accessibility
DevTools Tips and Tricks (fro)14949
browsers, dev-tools, tips-and-tricks
“AI” Won’t Solve Accessibility (yat)14948
accessibility, ai
The Basics of Legibility14947
fundamentals, typography, legibility
Heat Death of the Internet14946
web
Modern CSS Patterns in Campfire14945
css, case-studies
Building Components With Radix UI14944
radix, components
A Complete Guide to CSS Logical Properties, With Cheat Sheet (ral)14943
guides, css, logical-properties, cheat-sheets
AI and the Future of Web Accessibility Guidelines14942
discussions, accessibility, wcag, standards, ai, w3c
The V8 Sandbox14941
v8, security
JavaScript Visualized—Event Loop, Web APIs, (Micro)task Queue14940
videos, javascript, visualization, event-loop, events, apis
When to Use “tabindex="0"” (gra/tet)14939
accessibility, keyboard-navigation, focus, html
Rounded Tabs With Inner Curves (css)14938
css, effects, tips-and-tricks
How to Strongly Type process.env (mat)14937
how-tos, typescript, nodejs
Wednesday, April 3, 2024 Security Releases (nod)14936
release-notes, nodejs, security
Introducing Jpegli: A New JPEG Coding Library14935
introductions, jpeg, images, libraries, compression
Building a Digital Fortress: How to Strengthen DNS Against DDoS Attacks?14934
dns, security
Using JSON Web Tokens With Node.js14933
json-web-tokens, nodejs, security, authentication
How to Build a Simple Web Server With Node.js14932
how-tos, servers, nodejs
In-Page Links: 3 Usability Tips (nng)14931
videos, links, usability, tips-and-tricks
Theming Design Systems (per)14930
design-systems, theming
The View Transitions API (cas/fro)14929
view-transitions, apis, astro
Svelte Parses HTML All Wrong (ric)14928
svelte, html, parsing
Hanging Punctuation in CSS (ada)14927
css, typography
Fluid Typography With Discrete Steps (css)14926
css, typography, tips-and-tricks
Finally Understand Responsive Design14925
videos, responsive-design, css
BFCache Explained14924
bfcache, browsers, performance
“aspect-ratio” Gotcha (css)14923
css, aspect-ratio, images
An Advanced Way to Use CSS Variables (cfe)14922
css, custom-properties
AI and the Web: Understanding and Managing the Impact of Machine Learning Models on the Web (don/w3c)14921
ai, web
WebAssembly at Google (tom)14920
videos, webassembly, google
Learn JavaScript (wil)14919
courses, javascript
WordPress 6.5 “Regina” (pho/wor)14918
release-notes, wordpress
How-To: 5 Steps to Detect Invalid HTML Breaking Your [Site’s Performance] (erw)14917
how-tos, html, conformance, performance
Infinite-Scrolling Logos in Flat HTML and Pure CSS (cit/sma)14916
branding, scrolling, animations, techniques, css
How We’re Approaching Theming With Modern CSS (bel/pic)14915
css, theming
How to Get Somebody Fired Using Git14914
version-control, git, career
Drawing a Line to Connect Elements With CSS Anchor Positioning (cit/fro)14913
css, anchor-positioning
Authentication in Next.js (rwi)14912
authentication, nextjs
An Interactive Guide to CSS Container Queries (sha)14911
guides, css, container-queries
Micro Frontends With Native Federation14910
micro-frontends, comparisons
The Era of High-Paying Tech Jobs Is Over14909
programming, career, ai, economics
Introducing Root.js14908
introductions, tooling, content-management
What Even Is a JSON Number?14907
json, terminology
The Detail, the Quality14906
design, quality
Bun 1.1 (jar+/bun)14905
release-notes, bun
A Complete Guide for Content Creators to Start Making Accessible Content (pop)14904
guides, accessibility, content
14 Top UX Tools for Designers in 2024 (web)14903
user-experience, tooling, link-lists
Disable AWS CloudFront Distributions if Budget Is Exceeded14902
aws, cloudfront, configuration, economics
Why I Use Node, Deno, Bun, [QuickJS], [txiki.js] at the Same Time14901
tooling, nodejs, deno, bun, quickjs
Why I Care Deeply About Web Accessibility and You Should Too (sch)14900
accessibility, web
The DevOps Basics14899
dev-ops, fundamentals
Object Structure in JavaScript Engines14898
objects, javascript, javascript-engines
Latest WebAIM’s Million—Some Thoughts (cer)14897
accessibility
Kobold Letters (wed)14896
html, email, support
10 JavaScript Sites Every Web Developer Should Know14895
javascript, learning, link-lists
Some Samples Using UIkit14894
uikit
Design Is a Process of Getting Stuck (fon)14893
design, processes
“@scope” Is Coming to CSS and It’s Amazing (kev)14892
videos, css, scope
What Negative Effects Does a Bad Website Design Have on My Business? (web)14891
design, economics
The WebAIM Million: The 2024 Report on the Accessibility of the Top 1,000,000 Home Pages (web)14890
studies, research, accessibility, homepages, metrics
The Power of “:has()” in CSS (css)14889
css, selectors
The Easy Way to Access the Last JavaScript Array Element14888
javascript, arrays
The Curious Case of the CSS Monochrome Media Query (sea)14887
css, media-queries
On “disabled” and “aria-disabled” Attributes (kit)14886
accessibility, html, attributes, aria
Front-End Development’s Identity Crisis (ell)14885
career
Figma Plugins (tmc)14884
figma, plugins
Improving the Developer Experience of Enterprise Design Systems14883
design-systems, developer-experience, optimization
History of JS Interop in Dart14882
javascript, dart, interoperability, history
The Browser Company and Radical Transparency14881
the-browser-company, culture, communication
What’s New in DevTools, Chrome 12414880
release-notes, dev-tools, browsers, chrome
Release Notes for Safari Technology Preview 191 (jon/web)14879
release-notes, browsers, safari
New to the Web Platform in March (rac)14878
release-notes, web-platform, browsers, firefox, safari, chrome
CSS Color-Scheme-Dependent Colors With “light-dark()” (bra)14877
css, functions, colors, dark-mode
The Complete Guide to Captioned Videos (mer)14876
guides, accessibility, captions, multimedia
Finally Understanding How “Array.sort(comparator)” Works (jam)14875
javascript, arrays
A Guide to Building CLI Tools in JavaScript14874
guides, tooling, command-line, javascript, nodejs
What Even Are Dragging Movements? (cat/spa)14873
accessibility, interaction-design, terminology
Iterator Helpers14872
ecmascript, javascript, javascript-engines, v8
How I Fixed My Brutal TTFB (whi/get)14871
performance, metrics, optimization
ai.robots.txt (cor)14870
ai, crawling, scraping, robotstxt, tooling
Meet Angular’s New “output()” API (ang)14869
angular, apis
In-App Browsers Are Still a Privacy, Security, and Choice Problem (tho/the)14868
browsers, mobile, privacy, security
Flickering Glowing Text Effect With CSS (man)14867
css, effects
Node v20.12.0 (LTS) (nod)14866
release-notes, nodejs
History of Web Accessibility14865
videos, accessibility, history
Quick Tip: How to Align Column Rows With CSS Subgrid (ral)14864
tips-and-tricks, how-tos, css, grids, layout, alignment
How to Use jQuery’s “ajax()” Function for Asynchronous HTTP Requests14863
how-tos, jquery, ajax, functions, asynchronicity
Convention Over Creativity? The Ups and Downs of UX Design14862
user-experience, design
Exploring the Power of ARIA Live Attribute in Web Accessibility14861
accessibility, aria, attributes
Animating Clip Paths on Scroll With “@property” in CSS (uti)14860
css, animations, scrolling, clipping, masking
What You Need to Know About Modern CSS (Spring 2024 Edition) (chr/fro)14859
css, overviews
How to Take Control of Flexbox (kev)14858
videos, how-tos, css, flexbox, layout
How Invalid HTML Elements Impact Web Performance (erw)14857
html, conformance, performance
How Does npx Actually Work and When to Use It14856
npx, nodejs
CSS Anchor Positioning (tab+/w3c)14855
standards, css, anchor-positioning
Be Flexible About What People Need (and Don’t Assume) (eri)14854
accessibility
How to Consolidate Multiple Design Systems14853
how-tos, design-systems, processes
7 Simple Rules for Better Data Visualization14852
information-design
Error Messages 101 (nng)14851
videos, usability, errors, microcontent
Setting and Persisting Color Scheme Preferences With CSS and a “Touch” of JavaScript (ole/sma)14850
colors, dark-mode, css, javascript
Diving Into the Node.js Website Redesign (bri/nod)14849
redesigning, case-studies
No One Actually Wants Accessibility (dav)14848
accessibility
CORS Finally Explained—Simply14847
security, csrf, cors, concepts
JavaScript Visualized: Promise Execution14846
javascript, promises, visualization
How Does Single Sign-On (SSO) Work? (mil)14845
authentication, security
Spicing Up Text With “text-emphasis” in CSS (ami)14844
css, typography, effects
New CSS That Can Actually Be Used in 2024 (tho)14843
css, logical-properties, container-queries, selectors, nesting, functions, cascade, grids
Incredible JavaScript Animation Libraries14842
javascript, animations, libraries, link-lists
Radix Themes 3.014841
release-notes, radix
Learn OAuth 2.0 by Building Your Own OAuth Client14840
authorization, oauth, functionality
Profile Node.js Performance With the Performance Panel (jec+)14839
nodejs, performance, debugging, browsers, chrome, dev-tools
AI Can Make a Code Review for Free14838
ai, code-reviews, tooling
ARIA “role=application” and Mobile Screen Readers (cer)14837
accessibility, aria, screen-readers, mobile
Don’t Get Scammed by Fake Performance Experts and Apps14836
performance, tooling
Quick Tip: How to Add Gradient Effects and Patterns to Text (ral)14835
tips-and-tricks, how-tos, css, gradients, effects
The Cost of Interrupted Work: More Speed and Stress14834
research, productivity, processes
12 Figma Tips to Work More Efficiently14833
figma, tips-and-tricks, efficiency
The “Current Branch” in Git (b0r)14832
git
Node.js TSC Confirms: No Intention to Remove npm From Distribution (sar/soc)14831
nodejs, npm
Going Beyond Pixels and (r)ems in CSS—Absolute Length Units (uti/iod)14830
css, units
CSS Values and Units Module Level 3 (tab+/w3c)14829
standards, css, units
CAPTCHA Excludes Disabled Web Users (zel)14828
accessibility, captcha
Accessible Forms With Pseudo Classes (css)14827
accessibility, forms, css, selectors
Node.js: The Documentary (isa+)14826
videos, nodejs, history
Welcome to Future of Web Accessibility Based on Predictors (jar+)14825
videos, accessibility, outlooks
Avoid These Design System Traps14824
design-systems
“__dirname” Is Back in Node.js With ES Modules (phi)14823
nodejs, esm
Microservices Promised Freedom but Delivered Dependencies (pur)14822
microservices, dependencies
This Pattern Will Wreck Your React App’s TS Performance (mat)14821
design-patterns, react, typescript, performance
Relicensing and Rug Pulls14820
foss, licensing, history
Optimizing JavaScript for Fun and for Profit14819
javascript, optimization
On the Gift of OKR for Company Culture (j9t)14818
processes, okr, culture
On Popover Accessibility: What the Browser Does and Doesn’t Do (hdv+)14817
accessibility, pop-overs, html
How to Test 3.3.8 Accessible Authentication (Minimum) (sib/tpg)14816
how-tos, accessibility, testing, authentication
[Bulma] 1.0.014815
release-notes, bulma
Building a Micro htmx SSR Framework (mco/pla)14814
frameworks, htmx, examples
Psychology and UX: Decoding the Science Behind User Clicks14813
user-experience, design, principles
Angular Signals: Best Practices14812
angular, signals, best-practices
Understanding Memory Heap and Memory Leaks—How the JS Engine Works (fro)14811
javascript-engines, memory, garbage-collection, asynchronicity
The Box Model and Box Sizing (bel/pic)14810
css, box-model, concepts
Progressive Disclosure Defaults (ada)14809
css, forms, interaction-design
How to Plan Your First Successful Website (web)14808
how-tos, processes, project-management
How to Create a Website and a PDF From the Same Codebase (spa/clo)14807
how-tos, code-generation, pdf, functionality
Folder Structures in React Projects14806
react, architecture
Aesthetic Layouts: 2 Column Magazine With “shape-outside” (jhe)14805
code-pens, layout, css
Essential CSS Tools for Developers (nim)14804
css, tooling
Build a Full-Stack App With Node.js and htmx14803
web-apps, nodejs, htmx
How to Assess Your Fit for a Job Description: A Guide for Technologists (wom)14802
how-tos, guides, interviewing, career
Using Relative Colors (chr/mdn)14801
css, colors
Chill Scroll Snapping: Article Headers (chr/fro)14800
css, scrolling
The Ultimate Guide to Understanding npx vs. npm14799
guides, npx, npm, nodejs
Make a Web Browser: Beginner’s Guide (nim)14798
guides, browsers, browser-engines
Empowering the User Experience Through Microinteractions: 7 Best Practices (uxm)14797
user-experience, interaction-design, best-practices
A Designer’s Role Is Not “at the Table”14796
design, career
How Meta Improved Their Cache Consistency to 99.9999999914795
facebook+meta, caching
Accessibility Foundations (ihe/tpg)14794
accessibility, fundamentals, link-lists
Observability Is an Illusion (pur)14793
observability, logging, monitoring, alerting
“require(esm)” in Node.js (joy)14792
nodejs, ecmascript, esm, commonjs
The Power of Textual Content in UX Design (uxm)14791
content, user-experience
Oh Sh*t, My App Is Successful and I Didn’t Think About Accessibility14790
accessibility
I’m So Old: Web Edition (dav)14789
web, history
How Web-Site Design and Social Media Work Together (uxm)14788
design, content, social-media
How to Kill the Cascade (fon)14787
css, cascade, resets, scope
Every React Concept Explained in 12 Minutes14786
videos, react, concepts
Comparing ECMAScript Modules and CommonJS14785
comparisons, esm, commonjs
Build a Node App With TypeScript (mat)14784
nodejs, typescript, pnpm, esm
A Comparison of JavaScript CRDTs (alm)14783
javascript, types, comparisons
Why UI Designers Should Understand Flexbox and CSS Grid14782
design, layout, flexbox, grids, css
Time to Ditch Analytics? Tracking Scripts and Web Sustainability (mic)14781
embed-code, google, analytics, sustainability, performance, compliance
2024 Cheat Sheet Collection14780
cheat-sheets, link-lists
Migrating Away From Jest and Achieving Over 90% Reduction in Running Time (pat)14779
migrating, jest, testing, memory, performance
How Web Bloat Impacts Users With Slow Devices14778
performance, metrics, comparisons, web
Copy Objects Ways in JavaScript14777
javascript, objects
Webflow 101: A Guide for Beginners14776
introductions, guides, webflow, low-and-no-code
Deploying Remix to GitHub Pages (rem)14775
videos, deploying, remix, github-pages
How to Optimize Cumulative Layout Shift (CLS) on Shopify Sites (sia)14774
how-tos, performance, web-vitals, optimization, shopify
How (In)Efficient Are Engineering Organizations?14773
efficiency, processes, engineering-management
Quick Tip: Creating a Date Picker in React14772
tips-and-tricks, react, functionality
Accessibility in Design Systems: A Comprehensive Approach Through Documentation and Assets14771
accessibility, design-systems, documentation, dei
Skeuomorphism (nng)14770
design, terminology
Homepage Design: 5 Fundamental Principles (nng)14769
design, homepages, principles
Performance Tooling in 2024 and Beyond (pau)14768
performance, tooling, browsers, dev-tools, lighthouse
There Is No EU Cookie Banner Law14767
consent-management, cookies, legal
Qwik vs. Next.js: Which Framework Is Right for Your Next Web Project?14766
frameworks, comparisons, qwik, nextjs
When “Semantic Tokens” Are No Longer Semantic14765
design-tokens, semantics
What Is Safe Alignment in CSS? (chr/fro)14764
css, layout, user-experience
The Golden Age of Accessibility14763
accessibility
Make Your Functions More Reusable With Generics (mat)14762
typescript, functions, generics, maintainability
Arguments for Opening Links in a New Tab or Window (gri/clo)14761
links, usability
WCAG 2.2 Detective Skills14760
accessibility, standards, wcag
How to Design Icons in Figma14759
how-tos, images, icons, figma, design
How to Avoid Flaky Tests in Playwright14758
how-tos, testing, flakiness, playwright
A Beginner’s Guide to Node.js Worker Threads (bet)14757
guides, nodejs, worker-threads
You Want “border-color: transparent”, Not “border: none” (dav/fro)14756
css, borders, transparency+opacity, accessibility, contrast
HTML Performance Optimization: Tips for Faster Loading Pages14755
html, landing-pages, performance, optimization, tips-and-tricks
What’s Next for a Global Design System (bra)14754
design-systems
There Are No Standards Police (mno)14753
standards, policies, processes
The Problem With Data Attributes for Text Effects (man)14752
html, custom-data, css, typography, effects
The Problem With AI (cfe)14751
ai
Ruby Is Complicated14750
html
Refactoring My Ugliest Code With Signal View Queries14749
videos, refactoring, angular
My New Favorite CSS Trick: “will-change”14748
css, animations, transitions, tips-and-tricks
Another JS Registry—Seriously?! (den)14747
videos, jsr, dependencies, javascript
25 Unnoticeable Features of JavaScript14746
javascript
Runtime Compatibility (asc+)14745
websites, runtimes, interoperability, comparisons, bun, deno, netlify, nodejs
The Essential Guide to Microcopy and Becoming a More Literate Designer14744
guides, design, microcontent, content, writing
5 Exciting New JavaScript Features in 202414743
javascript
Marking the Web’s 35th Birthday: An Open Letter (tim)14742
open-letters, web, history, anniversaries
Interaction to Next Paint Is Officially a Core Web Vital (rvi)14741
performance, web-vitals
15 Years of Running a Personal Website (ste)14740
indieweb
Why Your Microservices Architecture Is Probably Overkill (and How I Learned to Love the Monolith Again) (pur)14739
architecture, microservices, monoliths
Thoughts on Embedding Alternative Text Metadata Into Images (eri)14738
accessibility, images, metadata
The “10× Engineer”: 50 Years Ago and Now (ger)14737
productivity, processes, career, history
Spread vs. Rest Operators in JavaScript14736
javascript, operators, comparisons
How to Read Files Quickly in JavaScript (lem)14735
how-tos, javascript, file-handling
Building Websites and Building Websites Well (j9t)14734
quality, craft, community
A Letter to My Younger Self, as an Accessibility Advocate (hbu)14733
accessibility, advocacy, retrospectives
Accessibility: Implementing Focus Traps14732
accessibility, focus, keyboard-navigation
JSON Canvas14731
websites, standards, json, canvas
Have You Optimized for INP?14730
performance, web-vitals, optimization
What Is INP and Why You Should Care (whi/get)14729
performance, web-vitals, monitoring
Streaming HTML (chr/fro)14728
html, php, streaming
IDEs vs. Code Editors: Everything You Need to Know (jet)14727
code-editors, comparisons, concepts
Express.js With TypeScript—Setup, Examples, Testing14726
videos, express, typescript, testing, examples
Distinguishing Between ARIA and Native HTML Attributes (deq)14725
html, aria, attributes, accessibility, comparisons
Comparing JavaScript Frameworks: Templates14724
javascript, frameworks, templates, comparisons
Are We Watching the Internet Die? (edz)14723
web
Announcing Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness14722
performance, tooling, metrics
Alt Text for CSS Generated Content (tem)14721
css, generated-content, alt-text, accessibility
A Gentle Introduction to Generics in TypeScript14720
introductions, typescript, generics
Optimising Your Design System With Figma’s Variables14719
design-systems, optimization, variables, figma
Things I Learned While Building My JS Library14718
javascript, libraries, lessons
CSS Button Styles You Might Not Know (dbu)14717
html, css, buttons
Replace ESLint and Prettier With Biome.js14716
biome, eslint, prettier, comparisons, tooling, remix
Jakob Has Jumped the Shark (aar)14715
accessibility, link-lists
How to Invert the Colors Using CSS (ron)14714
css, colors, filters, images
eslint-plugin-depend14713
packages, npm, maintenance, simplicity