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

→ 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#
How to Use jQuery’s “ajax()” Function for Asynchronous HTTP Requests15069
how-tos, jquery, ajax, functions, asynchrony
Node v20.12.0 (LTS) (nod)15068
release-notes, nodejs
History of Web Accessibility15067
videos, accessibility, history
Quick Tip: How to Align Column Rows With CSS Subgrid (ral)15066
tips-and-tricks, how-tos, css, grids, layout, alignment
Convention Over Creativity? The Ups and Downs of UX Design15065
user-experience, design
Exploring the Power of ARIA Live Attribute in Web Accessibility15064
accessibility, aria, attributes
Animating Clip Paths on Scroll With “@property” in CSS (uti)15063
css, animations, scrolling, clipping, masking
What You Need to Know About Modern CSS (Spring 2024 Edition) (chr/fro)15062
css, overviews
How to Take Control of Flexbox (kev)15061
videos, how-tos, css, flexbox, layout
How Invalid HTML Elements Impact Web Performance (erw)15060
html, conformance, performance
How Does npx Actually Work and When to Use It15059
npx, nodejs
CSS Anchor Positioning (tab+/w3c)15058
standards, css, anchor-positioning
Be Flexible About What People Need (and Don’t Assume) (eri)15057
accessibility
How to Consolidate Multiple Design Systems15056
how-tos, design-systems, processes
7 Simple Rules for Better Data Visualization15055
information-design
Error Messages 101 (nng)15054
videos, usability, errors, microcontent
Setting and Persisting Color Scheme Preferences With CSS and a “Touch” of JavaScript (ole/sma)15053
colors, dark-mode, css, javascript
JavaScript Visualized: Promise Execution15052
javascript, promises, visualization
Diving Into the Node.js Website Redesign (bri/nod)15051
redesigning, case-studies
No One Actually Wants Accessibility (dav)15050
accessibility
CORS Finally Explained—Simply15049
security, csrf, cors, concepts
How Does Single Sign-On (SSO) Work? (mil)15048
authentication, security
Spicing Up Text With “text-emphasis” in CSS (ami)15047
css, typography, effects
New CSS That Can Actually Be Used in 2024 (tho)15046
css, logical-properties, container-queries, selectors, nesting, functions, cascade, grids
Incredible JavaScript Animation Libraries15045
javascript, animations, libraries, link-lists
Learn OAuth 2.0 by Building Your Own OAuth Client15044
authorization, oauth, functionality
Radix Themes 3.015043
release-notes, radix
Profile Node.js Performance With the Performance Panel (jec+)15042
nodejs, performance, debugging, browsers, chrome, dev-tools
AI Can Make a Code Review for Free15041
ai, code-reviews, tooling
ARIA “role=application” and Mobile Screen Readers (cer)15040
accessibility, aria, screen-readers, mobile
Don’t Get Scammed by Fake Performance Experts and Apps15039
performance, tooling
Quick Tip: How to Add Gradient Effects and Patterns to Text (ral)15038
tips-and-tricks, how-tos, css, gradients, effects
The Cost of Interrupted Work: More Speed and Stress15037
research, productivity, processes
12 Figma Tips to Work More Efficiently15036
figma, tips-and-tricks, efficiency
The “Current Branch” in Git (b0r)15035
git
Node.js TSC Confirms: No Intention to Remove npm From Distribution (sar/soc)15034
nodejs, npm
Going Beyond Pixels and (r)ems in CSS—Absolute Length Units (uti/iod)15033
css, units
CSS Values and Units Module Level 3 (tab+/w3c)15032
standards, css, units
CAPTCHA Excludes Disabled Web Users (zel)15031
accessibility, captcha
Accessible Forms With Pseudo Classes (css)15030
accessibility, forms, css, selectors
Relicensing and Rug Pulls15029
foss, licensing, history
Node.js: The Documentary (isa+)15028
videos, nodejs, history
Welcome to Future of Web Accessibility Based on Predictors (jar+)15027
videos, accessibility, outlooks
Avoid These Design System Traps15026
design-systems
“__dirname” Is Back in Node.js With ES Modules (phi)15025
nodejs, esm
Microservices Promised Freedom but Delivered Dependencies (pur)15024
microservices, dependencies
This Pattern Will Wreck Your React App’s TS Performance (mat)15023
design-patterns, react, typescript, performance
Optimizing JavaScript for Fun and for Profit15022
javascript, optimization
On the Gift of OKR for Company Culture (j9t)15021
processes, okr, culture
On Popover Accessibility: What the Browser Does and Doesn’t Do (hdv+)15020
accessibility, pop-overs, html
How to Test 3.3.8 Accessible Authentication (Minimum) (sib/tpg)15019
how-tos, accessibility, testing, authentication
[Bulma] 1.0.015018
release-notes, bulma
Building a Micro htmx SSR Framework (mco/pla)15017
frameworks, htmx, examples
Understanding Memory Heap and Memory Leaks—How the JS Engine Works (fro)15016
javascript-engines, memory, garbage-collection, asynchrony
Psychology and UX: Decoding the Science Behind User Clicks15015
user-experience, design, principles
Angular Signals: Best Practices15014
angular, signals, best-practices
The Box Model and Box Sizing (bel/pic)15013
css, box-model, concepts
Progressive Disclosure Defaults (ada)15012
css, forms, interaction-design
How to Plan Your First Successful Website (web)15011
how-tos, processes, project-management
How to Create a Website and a PDF From the Same Codebase (spa/clo)15010
how-tos, code-generation, pdf, functionality
Folder Structures in React Projects15009
react, architecture
Aesthetic Layouts: 2 Column Magazine With “shape-outside” (jhe)15008
code-pens, layout, css
Essential CSS Tools for Developers (nim)15007
css, tooling
Build a Full-Stack App With Node.js and htmx15006
web-apps, nodejs, htmx
How to Assess Your Fit for a Job Description: A Guide for Technologists (wom)15005
how-tos, guides, interviewing, career
Using Relative Colors (chr/mdn)15004
css, colors
Chill Scroll Snapping: Article Headers (chr/fro)15003
css, scrolling
The Ultimate Guide to Understanding npx vs. npm15002
guides, npx, npm, nodejs
Make a Web Browser: Beginner’s Guide (nim)15001
guides, browsers, browser-engines
Empowering the User Experience Through Microinteractions: 7 Best Practices (uxm)15000
user-experience, interaction-design, best-practices
A Designer’s Role Is Not “at the Table”14999
design, career
How Meta Improved Their Cache Consistency to 99.9999999914998
facebook+meta, caching
Accessibility Foundations (ihe/tpg)14997
accessibility, fundamentals, link-lists
Observability Is an Illusion (pur)14996
observability, logging, monitoring, alerting
“require(esm)” in Node.js (joy)14995
nodejs, ecmascript, esm, commonjs
The Power of Textual Content in UX Design (uxm)14994
content, user-experience
Oh Sh*t, My App Is Successful and I Didn’t Think About Accessibility14993
accessibility
I’m So Old: Web Edition (dav)14992
web, history
How Web-Site Design and Social Media Work Together (uxm)14991
design, content, social-media
How to Kill the Cascade (fon)14990
css, cascade, resets, scope
Every React Concept Explained in 12 Minutes14989
videos, react, concepts
Comparing ECMAScript Modules and CommonJS14988
comparisons, esm, commonjs
Build a Node App With TypeScript (mat)14987
nodejs, typescript, pnpm, esm
A Comparison of JavaScript CRDTs (alm)14986
javascript, types, comparisons
Why UI Designers Should Understand Flexbox and CSS Grid14985
design, layout, flexbox, grids, css
Time to Ditch Analytics? Tracking Scripts and Web Sustainability (mic)14984
embed-code, google, analytics, sustainability, performance, compliance
2024 Cheat Sheet Collection14983
cheat-sheets, link-lists
Migrating Away From Jest and Achieving Over 90% Reduction in Running Time (pat)14982
migrating, jest, testing, memory, performance
How Web Bloat Impacts Users With Slow Devices14981
performance, metrics, comparisons, web
Copy Objects Ways in JavaScript14980
javascript, objects
Webflow 101: A Guide for Beginners14979
introductions, guides, webflow, low-and-no-code
Deploying Remix to GitHub Pages (rem)14978
videos, deploying, remix, github-pages
How to Optimize Cumulative Layout Shift (CLS) on Shopify Sites (sia)14977
how-tos, performance, web-vitals, optimization, shopify
How (In)Efficient Are Engineering Organizations?14976
efficiency, processes, engineering-management
Quick Tip: Creating a Date Picker in React14975
tips-and-tricks, react, functionality
Accessibility in Design Systems: A Comprehensive Approach Through Documentation and Assets14974
accessibility, design-systems, documentation, dei
Skeuomorphism (nng)14973
design, terminology
Homepage Design: 5 Fundamental Principles (nng)14972
design, homepages, principles
Performance Tooling in 2024 and Beyond (pau)14971
performance, tooling, browsers, dev-tools, lighthouse
There Is No EU Cookie Banner Law14970
consent-management, cookies, legal
Qwik vs. Next.js: Which Framework Is Right for Your Next Web Project?14969
frameworks, comparisons, qwik, nextjs
When “Semantic Tokens” Are No Longer Semantic14968
design-tokens, semantics
What Is Safe Alignment in CSS? (chr/fro)14967
css, layout, user-experience
The Golden Age of Accessibility14966
accessibility
Make Your Functions More Reusable With Generics (mat)14965
typescript, functions, generics, maintainability
Arguments for Opening Links in a New Tab or Window (gri/clo)14964
links, usability
WCAG 2.2 Detective Skills14963
accessibility, standards, wcag
How to Design Icons in Figma14962
how-tos, images, icons, figma, design
How to Avoid Flaky Tests in Playwright14961
how-tos, testing, flakiness, playwright
A Beginner’s Guide to Node.js Worker Threads (bet)14960
guides, nodejs, worker-threads
You Want “border-color: transparent”, Not “border: none” (dav/fro)14959
css, borders, transparency+opacity, accessibility, contrast
HTML Performance Optimization: Tips for Faster Loading Pages14958
html, landing-pages, performance, optimization, tips-and-tricks
What’s Next for a Global Design System (bra)14957
design-systems
There Are No Standards Police (mno)14956
standards, policies, processes
The Problem With Data Attributes for Text Effects (man)14955
html, custom-data, css, typography, effects
The Problem With AI (cfe)14954
ai
Ruby Is Complicated14953
html
Refactoring My Ugliest Code With Signal View Queries14952
videos, refactoring, angular
My New Favorite CSS Trick: “will-change”14951
css, animations, transitions, tips-and-tricks
Another JS Registry—Seriously?! (den)14950
videos, jsr, dependencies, javascript
25 Unnoticeable Features of JavaScript14949
javascript
Runtime Compatibility (asc+)14948
websites, runtimes, interoperability, comparisons, bun, deno, netlify, nodejs
The Essential Guide to Microcopy and Becoming a More Literate Designer14947
guides, design, microcontent, content, writing
5 Exciting New JavaScript Features in 202414946
javascript
Marking the Web’s 35th Birthday: An Open Letter (tim)14945
open-letters, web, history, anniversaries
Interaction to Next Paint Is Officially a Core Web Vital (rvi)14944
performance, web-vitals
15 Years of Running a Personal Website (ste)14943
indieweb
Why Your Microservices Architecture Is Probably Overkill (and How I Learned to Love the Monolith Again) (pur)14942
architecture, microservices, monoliths
Thoughts on Embedding Alternative Text Metadata Into Images (eri)14941
accessibility, images, metadata
The “10× Engineer”: 50 Years Ago and Now (ger)14940
productivity, processes, career, history
Spread vs. Rest Operators in JavaScript14939
javascript, operators, comparisons
How to Read Files Quickly in JavaScript (lem)14938
how-tos, javascript, file-handling
Building Websites and Building Websites Well (j9t)14937
quality, craft, community
A Letter to My Younger Self, as an Accessibility Advocate (hbu)14936
accessibility, advocacy, retrospectives
Accessibility: Implementing Focus Traps14935
accessibility, focus, keyboard-navigation
JSON Canvas14934
websites, standards, json, canvas
Have You Optimized for INP?14933
performance, web-vitals, optimization
What Is INP and Why You Should Care (whi/get)14932
performance, web-vitals, monitoring
Streaming HTML (chr/fro)14931
html, php, streaming
IDEs vs. Code Editors: Everything You Need to Know (jet)14930
code-editors, comparisons, concepts
Express.js With TypeScript—Setup, Examples, Testing14929
videos, express, typescript, testing, examples
Distinguishing Between ARIA and Native HTML Attributes (deq)14928
html, aria, attributes, accessibility, comparisons
Comparing JavaScript Frameworks: Templates14927
javascript, frameworks, templates, comparisons
Are We Watching the Internet Die? (edz)14926
web
Announcing Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness14925
performance, tooling, metrics
Alt Text for CSS Generated Content (tem)14924
css, generated-content, alt-text, accessibility
A Gentle Introduction to Generics in TypeScript14923
introductions, typescript, generics
Optimising Your Design System With Figma’s Variables14922
design-systems, optimization, variables, figma
Things I Learned While Building My JS Library14921
javascript, libraries, lessons
CSS Button Styles You Might Not Know (dbu)14920
html, css, buttons
Replace ESLint and Prettier With Biome.js14919
biome, eslint, prettier, comparisons, tooling, remix
Jakob Has Jumped the Shark (aar)14918
accessibility, link-lists
How to Invert the Colors Using CSS (ron)14917
css, colors, filters, images
eslint-plugin-depend14916
packages, npm, maintenance, simplicity
Access by a Thousand Curb Cuts (yat)14915
accessibility
Navigating the Future of Frontend14914
frameworks, web-platform, outlooks
Asking Users for Their Pronouns: A Guide for UX Designers14913
guides, user-experience, communication
Creating Color Palettes With the CSS “color-mix()” Function (mic)14912
css, functions, colors, color-palettes
Add Superpowers to Your CSS Variables With Style Queries (jar/van)14911
css, style-queries, custom-properties
Modern CSS Tooltips and Speech Bubbles II (css/sma)14910
tooltips, css, techniques
How “HEAD” Works in Git (b0r)14909
git
Dissecting Layered Architecture (yok)14908
architecture
Managing Static Files in Django: A Comprehensive Guide14907
guides, django, file-handling
How to Check and Set the “NODE_ENV” Environment Variable and Its Use in a Project14906
how-tos, nodejs, environments
AVIF Is the Future of Web Images14905
images, avif, performance, outlooks
The Quiet, Pervasive Devaluation of Frontend (col)14904
html, css, craft, career, community
Some Little Ways I’m Using CSS “:has()” in the Real World (bel/pic)14903
css, selectors, examples
How to Test 2.5.8 Target Size (Minimum) (sib/tpg)14902
how-tos, accessibility, testing
Taming the Shadow DOM: Injecting Global Styles With Adopted Stylesheets14901
shadow-dom, dom, css
10 Figma Keyboard Shortcuts: A Cheat Sheet for UX Designers14900
figma, keyboard-shortcuts, cheat-sheets, design
Release Notes for Safari Technology Preview 190 (jon/web)14899
release-notes, browsers, safari
5 Ways Productivity Culture Kills Business Agility14898
productivity, agile, economics, culture
Leadership Is a Hell of a Drug (lud)14897
leadership, engineering-management
90% of Designers are Unhirable?14896
design, processes, career
Exploring the Creative Power of CSS Filters and Blending14895
css, blend-modes, filters, effects
The Ultimate Guide to Choosing the Best React Website Builder14894
guides, react, tooling, comparisons, link-lists
WebAssembly JSPI Is Going to Origin Trial14893
webassembly, origin-trials
Sometimes, a Button Just Wants to Look Like a Button14892
design, usability, buttons
The End of My Gatsby Journey (mon)14891
gatsby, frameworks, comparisons
SSG, SSR, ISR, CSR Rendering Strategies in Next.js (fro)14890
static-site-generation, server-side-rendering, incremental-static-regeneration, client-side-rendering, rendering, strategies, comparisons, nextjs
Simplify Your CSS Using “:is()” and “:where()” Pseudo-Classes (zor/css)14889
videos, css, selectors
Making Room for Long List Markers With Subgrid (nol)14888
html, lists, css, grids
Internationalization With Remix (rem)14887
remix, internationalization
Announcing TypeScript 5.4 (dan/typ)14886
release-notes, typescript
CSS-Tricks in Limbo: Chris Coyier Wants It Back and the Community Reacts14885
css-tricks, digitalocean, community
Best Practices for Inclusive Design (slo)14884
design, dei, accessibility, best-practices
WebKit Features in Safari 17.4 (jen+/web)14883
release-notes, browsers, safari, webkit
How to Ensure Your Designs Work if You Can’t Access Sample Data14882
how-tos, design, usability, metrics, testing
Data Table Design Patterns14881
information-design, tables, design-patterns
How to Use WebSockets in Node.js to Create Real-Time Apps (cra)14880
how-tos, websockets, nodejs
When We Talk About Front-End Performance, What Are We Talking About14879
performance, metrics, web-vitals, lighthouse
JavaScript Runs the World—Maybe Even Literally (wir)14878
javascript, programming, web
SemVer Simplified: An Introduction to Semantic Versioning14877
introductions, semver, versioning
WCAG? More Like, W-What?! (stv)14876
accessibility, wcag, link-lists
The 88×31 Archive14875
web, images, history
Modern Git Commands and Features You Should Be Using14874
git, command-line
JSR: Second Look (dbu)14873
jsr
Designing for Mobile Accessibility: Enhancing the User Experience on Small Screens (uxm)14872
design, accessibility, user-experience, mobile
Achieving Design Collegiality While Maintaining Psychological Safety (uxm)14871
design, collaboration
VPS Showdown—March 2024—DigitalOcean vs. Linode vs. Vultr14870
servers, hosting, comparisons, metrics, digitalocean
How npm Install Scripts Can Be Weaponized: A Real-World Example of a Harmful npm Package (eth)14869
npm, dependencies, examples, security
Visualizing Frontend Architecture (max)14868
architecture, documentation, visualization
We Need to Talk About Jakob (mat)14867
accessibility
Tools That Make Me Productive as a Software Engineer14866
tooling, productivity, link-lists
CSS for Printing to Paper14865
css, print
Bugs I’ve Filed on Browsers (nol)14864
browsers, chromium, firefox, webkit, quality
Accessibility Has Not Failed—It Has Not Even Started for Real (cer)14863
accessibility, ai
Accessibility Darkness (ste)14862
accessibility, overlays
The Faster Lambda Runtime—Node.js or LLRT? We Benchmarked14861
lambda, javascript, runtimes, nodejs, comparisons, metrics
Emerging UX Patterns in Generative AI Experiences14860
user-experience, design-patterns, ai
Planning a Design System Generation (nat)14859
design-systems, automation
The Hunt for the Missing Data Type (hil)14858
types, algorithms
Go Ahead and Block AI Web Crawlers (cor)14857
robotstxt, crawling, scraping, ai
Introducing JSR—the JavaScript Registry (lca+/den)14856
introductions, jsr, deno, dependencies, javascript
Team Productivity Metrics for Engineering Managers14855
productivity, metrics, engineering-management
Apple Says iOS 17.4 Won’t Remove Home Screen Web Apps in the EU After All (9to)14854
browsers, apple, mobile, web-apps
An Introduction to Webflow—the No-Code Website Builder14853
introductions, webflow, low-and-no-code
Design System Generations (nat)14852
design-systems, processes
Retrofitting Fluid Typography (ric)14851
liquid-design, typography, css
Web Tech Trends to Watch in 2024 and Beyond (web)14850
trends, design, dark-mode, ai, sustainability, minimalism
TIL—“submit()” Versus “requestSubmit()” (ray)14849
javascript, comparisons
Modern CSS Tooltips and Speech Bubbles (css/sma)14848
tooltips, css, techniques
Eloquent JavaScript (mar)14847
websites, books, javascript
Apple Backs Off Killing Web Apps, but the Fight Continues (owa)14846
web-apps, apple
“AI” and Accessible Front-End Components: Is the Nuance Generatable? (hdv)14845
accessibility, web-components, ai
A Love Letter to the Underrepresented in Tech14844
community
Diving Into CSS Interactivity (daw+/sto)14843
videos, css
What Is Inclusive Design, and How Does It Relate to Accessibility? (slo)14842
design, dei, accessibility
New to the Web Platform in February (rac)14841
release-notes, web-platform, browsers, firefox, chrome, safari
Understanding Cookies and Sessions in React14840
react, authentication, cookies
Why Does “is-number” Package Have 59M Weekly Downloads?14839
dependencies, npm
What You Need to Know About Software Requirements14838
software-design, best-practices
The Wax and the Wane of the Web (ste/ali)14837
web-platform, history
Techniques to Break Words (aar)14836
techniques, html, css, content
Keyboard Accessibility Testing on Mobile Devices14835
accessibility, testing, keyboard-navigation, mobile
Choosing the Right Node.js Package Manager in 2024: A Comparative Guide (nod)14834
guides, nodejs, dependencies, comparisons
Accessibility Has Failed: Try Generative UI = Individualized UX14833
accessibility, usability, ai, outlooks
Where I’m at on the Whole CSS-Tricks Thing (chr)14832
css-tricks, digitalocean
Ultimate Guide to Visual Testing With Playwright14831
guides, testing, regressions, playwright
How to Create a Sidebar Navigation With Astro, Tailwind CSS, and Alpine.js14830
how-tos, navigation, functionality, astro, tailwind, alpinejs
Top 8 Recent V8 in Node Updates (app)14829
nodejs, v8
Creativity Lies in the Paradoxes14828
creativity, design
Enhanced Internationalization (I18N) in Next.js 1414827
nextjs, internationalization
Test Quality vs. Bashing Tailwind CSS (mar)14826
tailwind, css, comparisons
So, What Exactly Did Apple Break in the EU? (tom)14825
browsers, apple, mobile, support, web-apps, apis
Making Math Accessible (ons/tpg)14824
accessibility, math
Going Beyond Pixels and (r)ems in CSS—Container Query Length Units (uti/iod)14823
css, container-queries, units
Apple vs. PWAs—Go Act Now and Help Avoid This Disaster… (cod)14822
apple, web-apps, progressive-web-apps, community
An HTML Switch Control (ann+/web)14821
html, css, forms
What Is Vuetify in Vue.js?14820
vuetify, vuejs
A Guide to CSS Cursor Types14819
guides, css, cursors
The 3 Capabilities Designers Need to Build for the AI Era14818
design, career, training, ai, link-lists
How to Use Server-Sent Events in Node.js (cra)14817
how-tos, nodejs, events
Screen Readers and Drag-and-Drop: Grabbing and Releasing Elements (dar)14816
drag-and-drop, accessibility, browsers, screen-readers, support
Tumblr and WordPress to Sell Users’ Data to Train AI Tools (404)14815
wordpress, ai
YouTube Video Embedding Harm Reduction (jvo)14814
multimedia, embed-code, youtube, html, privacy
ServerlessHorrors (and)14813
websites, serverless, cloud-computing
Reporting Core Web Vitals With the Performance API (geo/sma)14812
apis, performance, web-vitals
How to Lazy-Load CodePen and CanIUse Embeds14811
how-tos, embed-code, performance, codepen, caniuse
Here Lies the Internet, Murdered by Generative AI14810
web, content, ai
AI and Design Systems (bra)14809
ai, design-systems
A Simple Mistake That Can Screw Up Your Light/Dark Theme (and How to Fix It) (kev)14808
videos, mistakes, dark-mode, css
A Fun Line of Code (dbu)14807
javascript, apis, multimedia
Speaker Spotlight: Michelle Barker (mic)14806
interviews, css, sustainability
Why I Use Firefox (sim)14805
browsers, firefox
Advanced Figma Tips and Tricks 2024: Little Gems We Love14804
figma, tips-and-tricks
Open Letter to Tim Cook, Sabotaging Web Apps Is Indefensible (owa)14803
open-letters, apple, web-apps
CSS Foundations: What Is IACVT? (bra)14802
css, fundamentals
What Is a Single-Page Application? (hey)14801
single-page-apps, javascript, performance, user-experience
The CSS Cascade—a (Re)Introduction (mat)14800
videos, css, cascade
No Outer Margin14799
css, margins, spacing, components
How to Build a Newthing14798
how-tos, processes, creativity, maintenance
CSS-Only Bottom-Anchored Scrolling Area (kit)14797
css, scrolling
A Web Designer’s Accessibility Advocacy Toolkit (sma)14796
accessibility, advocacy, strategies
10 Takeaways From the WebAIM Screenreader Survey #10 (kar)14795
accessibility, screen-readers
Home Screen Advantage (sli)14794
browsers, apple, mobile, support, web-apps, web-platform
WebAIM Screen Reader User Survey 10 (den)14793
accessibility, screen-readers
The Power of Patterns and Playbooks in Content Design (kat)14792
design, content, design-patterns
Understanding Event-Driven Architecture14791
architecture, events
Navigating Signals: An Efficient Alternative to React Hooks for Enhanced Performance and Optimization14790
react, hooks, signals
My WebAIM 10th SR User Survey Takeaways (aar)14789
accessibility, screen-readers
JSDoc as an Alternative TypeScript Syntax14788
typescript, documentation, jsdoc
CSS “:has()” Interactive Guide (sha)14787
guides, css, selectors
CAPTCHA Is Still [the] Most Problematic Issue on the Web (cer)14786
accessibility, web, captcha
A Developer’s Guide for Web Accessibility14785
guides, accessibility
Why My Code Isn’t in TypeScript (rem)14784
typescript
Proposal: CSS Variable Groups (lea)14783
css, variables
Difference Between the Accessibility Page and the Accessibility Statement14782
accessibility, documentation, comparisons
htmx vs. React: A Complete Comparison14781
htmx, react, comparisons
UX Leadership Is Failing (and What We Can Do About It)14780
user-experience, leadership
Navbar Gallery14779
websites, navigation, design-patterns, examples
JavaScript Bloat in 2024 (nik)14778
javascript, performance
Vanilla JavaScript, Libraries, and the Quest for Stateful DOM Rendering (sma)14777
javascript, libraries, client-side-rendering, state-management
JSR: What We Know So Far About Deno’s New JavaScript Package Registry (sar/soc)14776
jsr, deno, dependencies, javascript
Filling Gaps With a Polyfill (jay)14775
polyfills, html, css, javascript, history
Building Dynamic Progress Bars Using Only CSS (ami)14774
css, progress-indicators
ARIA (Are Ya) Afraid of the Dark? Unmasking Common HTML Monsters to Create Better User Experiences (deq)14773
videos, accessibility, aria, html, user-experience
Next.js vs. Remix—a Developer’s Dilemma14772
nextjs, remix, comparisons
Release Notes for Safari Technology Preview 189 (jon/web)14771
release-notes, browsers, safari
The One Trick Every Flutter Web Dev Needs to Know14770
tips-and-tricks, flutter, performance
Discovering Web Automation and Scraping (gli)14769
scraping, automation, bots, tooling
Making of True Multi-Brand Design System14768
design-systems, theming
10 Best “Create React App” Alternatives for Different Use Cases14767
react, frameworks, tech-stacks, comparisons, link-lists
How to Optimize the Web for the Worst User Conditions?14766
how-tos, user-experience, responsive-design, performance, optimization
CSS “::backdrop” Now Inherits From Its Originating Element (bra)14765
css, selectors
View Transitions: Handling Aspect Ratio Changes (jaf)14764
css, view-transitions, aspect-ratio
Syntax Highlighting With No Spans?! (chr/fro)14763
css, apis, syntax-highlighting
Parallax Effect With CSS Custom Properties (fro)14762
css, custom-properties, effects, parallax
Node.js 2023 Year in an Article (raf)14761
nodejs, retrospectives
My Favourite Animation Trick: Exponential Smoothing (lis)14760
animations, tips-and-tricks
CSS-Only Radial Progress Bars Using Conic Gradients14759
videos, css, gradients, progress-indicators
My Design System Journey: Building the Plane While Flying14758
design-systems, collaboration, processes
Control Lazy Load, Infinite Scroll, and Animations in React14757
react, lazy-loading, scrolling, animations, javascript
How to Make a Cursor Image Hover Effect With CSS and JS14756
how-tos, css, javascript, images, cursors, hover
Design Patterns That Encourage Junk Data (mic)14755
design-patterns, sustainability, economics, storage, email
Preventing SQL Injection Attacks in Node.js14754
security, nodejs, databases, sql
Why Is JavaScript Fragile? (cfe)14753
javascript
“random()” Distribution Visualizer14752
javascript, randomness, visualization
Okay, Color Spaces (eee)14751
colors, oklch
How to Use Local Storage in JavaScript (fre)14750
how-tos, browser-storage, javascript
How to Transfer Binary Data Efficiently Across Worker Threads in Node.js14749
how-tos, nodejs, worker-threads
Does Your Design Conform With WCAG Accessibility Guidelines—or Does It Comply? (deq)14748
videos, accessibility, wcag, guidelines, compliance
A Practical Guide to Using Shadow DOM (may)14747
guides, dom, shadow-dom
A Practical Guide to Designing for Colorblind People (vit/sma)14746
guides, accessibility, design, colors, color-blindness
17 Equations That Changed the World—Rewritten in JavaScript14745
javascript, math
7 Effective Ways to Craft Compelling Problem Statements for UX Design (uxm)14744
user-experience, product-management, processes
Responsive Web Design: 3 Key Fundamentals (nng)14743
videos, responsive-design, fundamentals
What Is Utility-First CSS? (hey)14742
css, presentational-html, principles
“Web Design as a Process” in Charts: Maintenance, Decay, Tech Debt, and Big Bang Launching (j9t)14741
content, design, design-debt, technical-debt, maintenance, processes, visualization
[Web Accessibility] Survey Results14740
accessibility, surveys
The Fifty-Fifty Split and Overflow (hex)14739
css, overflow, layout
How to Design an Accessible Web Site for People With Color-Deficient Vision (uxm)14738
how-tos, accessibility, dei, user-experience, colors, contrast, readability
Fostering a Collaborative Onboarding Team to Design Better Onboarding Experiences (uxm)14737
collaboration, onboarding, user-experience
100 Things You Can Do on Your Personal Website (cap)14736
blogging, writing, indieweb
Syntax Highlighting Code Snippets With Prism and the Custom Highlight API (bra)14735
apis, javascript, css, syntax-highlighting
Tailwind Marketing and Misinformation Engine14734
tailwind, css, semantics, principles, maintainability, marketing
Don’t Care About Accessibility? Resistance Is Futile! (cer)14733
accessibility
JavaScript on Demand: How Qwik Differs From React Hydration14732
javascript, qwik, react, hydration, comparisons
Understanding React “useEffect”14731
react, hooks
JavaScript Workers14730
videos, javascript, web-workers
A Manifesto for Small, Static, Web Apps (ros)14729
manifestos, web-apps, principles
How to Set Up a Node Server With TypeScript in 2024 (jle)14728
how-tos, nodejs, servers, typescript
Frontend Application Security: Tips and Tricks14727
web-apps, security, xss, csrf, authentication, dependencies, csp, validation, tips-and-tricks
UI = ƒ(statesⁿ) (dav)14726
design, state-management
Popular Git Config Options (b0r)14725
git, configuration
It’s Official, Apple Kills Web Apps in the EU (owa)14724
web-apps, apple
Be a Better Developer With These Git Good Practices14723
git, best-practices, conventions, consistency, code-reviews
Full Guide on How to Hire Front-End Developers Effectively14722
guides, how-tos, hiring, career
React Labs: What We’ve Been Working On—February 2024 (rea)14721
react
Top 20 JavaScript One-Liners That Don’t Actually Work (dar)14720
javascript
Playing With Infinity in CSS (lon)14719
css, math
Making the Most of Ligatures (man)14718
css, typography
How I Developed the 10 Usability Heuristics14717
usability, heuristics, history
Getting to an Accessibility Strategy14716
accessibility, strategies, processes
Future of CSS: Functions and Mixins14715
css, functions, mixins
CSS “:is(.awesome)” (mar/cfe)14714
videos, css, selectors, techniques
ARIA “note” (aar)14713
accessibility, aria, browsers, screen-readers, support
A Dozen Thoughts About AI (dav)14712
ai
Wednesday, February 14, 2024 Security Releases (raf+/nod)14711
release-notes, nodejs, security
What Is the Difference Between ASP and ASP.NET?14710
asp, asp-net, comparisons
What Is Lighthouse Speed Index (SI) and How to Reduce It14709
performance, metrics, lighthouse
How Accessibility Standards Can Empower Better Chart Visual Design (sma)14708
accessibility, contrast, colors, information-design
Input Type “date”: The Accessibility of HTML Date Picker14707
accessibility, forms
Scroll-Driven Animations: You Want “overflow: clip”, not “overflow: hidden” (bra)14706
css, overflow, scrolling, animations
When It Says “Name From Author” It Means From You, Not Boll or Bukowski (ste)14705
accessibility, aria, naming
The Text File That Runs the Internet (dav/ver)14704
robotstxt, crawling, scraping, ai, web
Reasonable WCAG Additions (a11)14703
accessibility, wcag
Selenium Automation Testing: A Step-by-Step Beginners Guide14702
guides, selenium, testing, automation
An Introduction to Node.js Multithreading (cra)14701
introductions, nodejs, multithreading
Building htmx and Go Web Apps With Gemini Advanced14700
videos, web-apps, htmx, go, ai, gemini
Why I Like Scrumban (j9t)14699
processes, agile, scrum, kanban
The New CSS Math: “pow()”, “sqrt()”, and Exponential Friends (dan)14698
css, functions, math
The Best CSS Frameworks to Use in Your Projects for 2024 and Beyond (fre)14697
css, frameworks, comparisons, bootstrap, tailwind, foundation, bulma, pure
How to Fix the Invisible Scrollbar Issue in iOS Browsers (sim/fro)14696
how-tos, browsers, mobile, scrolling, css
How to Center a Div (jos)14695
how-tos, css, centering
CSS Color Module Level 4 (tab+/w3c)14694
standards, css, colors
Be Aware of Arrays—V8 Engine Advice14693
javascript, javascript-engines, v8, arrays
Advanced Architecture for AI Application (aka AAAA) (aus)14692
ai, architecture, edge-computing, optimization
A Practical Guide to Designing for Children (vit/sma)14691
guides, design, link-lists
The ü/ü Conundrum14690
javascript, unicode, encoding
You Want to Make It Easy to Feature Your Content (fro)14689
frontend-dogma, content, community
How to Choose the Best Static Site Generator in 202414688
how-tos, site-generators, gatsby, jekyll, nuxt, nextjs, hugo, eleventy, vuejs
How to Boost WordPress Security and Protect Your SEO Ranking14687
how-tos, wordpress, security, seo
The Anatomy of Addictive Content (moz)14686
content, writing, seo
React, Solid, htmx14685
react, solidjs, htmx, comparisons
Learn TypeScript (jad)14684
websites, courses, typescript
Can Generative AI Help Write Accessible Code? (tin/tet)14683
accessibility, code-generation, ai
A CSS Project Boilerplate (bel/pic)14682
css, tailwind, templates
Using Recursive CSS to Change Styles Based on Depth (cri)14681
css, selectors
Names Are Complex: Displaying Initials for an Avatar Component in a Design System (hey)14680
naming, design, case-studies
Dynamic Text Color Contrast Based on Background Lightness With CSS/SVG Filters (miu)14679
css, svg, filters, colors, contrast
CSS Mixins and Functions Explainer (mia/odd)14678
css, mixins, functions
Navigating Prioritization: Four Approaches (cwo)14677
project-management, prioritization, processes
Don’t Disable Form Controls (aar)14676
accessibility, usability, forms, buttons
Accelerating Code Reviews With Nudges14675
research, code-reviews, productivity, experiments, facebook+meta
The Front-End Development We’re Used to Is Dying14674
career, simplicity, complexity
HTML as the Baseline (cfe)14673
html, progressive-enhancement
Have We Forgotten How to Build Ethical Things for the Web? (nic)14672
web, ethics
Everything You Need to Know About Image Formats in 2024 (web)14671
images, jpeg, png, gif, webp, avif, pdf, svg
Git Tips: Really Large Repositories (git)14670
git, monorepos, tips-and-tricks
So You Think You Know Git (git)14669
videos, git
What Is a Descriptive Transcript?14668
accessibility, multimedia
Format Nunjucks Files With Prettier (san)14667
nunjucks, prettier
The Accessibility Mindset: Moving Beyond Remediating, Fixing, and Reacting (a11)14666
videos, accessibility
Node.js Community Debate Intensifies Over Enabling Corepack by Default and Potentially Unbundling npm (sar/soc)14665
nodejs, corepack, npm, yarn, pnpm, dependencies
Is [“* { min-width: 0; }”] a Good Idea? (kev)14664
videos, css
In Its Tantrum With Europe, Apple Broke Web Apps in iOS 17 Beta, Still Hasn’t Fixed Them (tho/the)14663
web-apps, browsers, apple, mobile
Going Beyond Pixels and (r)ems in CSS—Relative Length Units Based on the Viewport (uti/iod)14662
viewport, css, units
Frequently Heard in My Beginning Front-End Web Development Class (geo/sma)14661
learning, career
10 Best Automated AI Code Review Tools 202414660
ai, automation, code-reviews, tooling, comparisons, link-lists
Release Notes for Safari Technology Preview 188 (jon/web)14659
release-notes, browsers, safari
Patterns in Design Systems (ikn)14658
design-systems, design-patterns, components
Web Development Is Getting Too Complex, and It May Be Our Fault (mon/sma)14657
web-platform, frameworks, tech-stacks, complexity
Opportunities for AI in Accessibility (aar/ali)14656
accessibility, ai
Offloading JavaScript With Custom Properties (hey)14655
javascript, css, custom-properties
CSS Is Logical (geo)14654
css
JavaScript Promises Demystified (mar)14653
javascript, promises
Remix Takes on Next.js in Battle of the React Frameworks14652
frameworks, react, remix, nextjs
JavaScript vs. Python: Which One Should You Learn First?14651
javascript, python, comparisons
UI Elements Are Not So Elementary14650
design, design-patterns
Designing User Onboarding: Lessons From Figma, Duolingo, and More14649
lessons, onboarding, design, user-experience, figma
Immutable Array Updates With “Array.prototype.with” (jad)14648
javascript, arrays, prototypes, browsers, support
A Beginner’s Guide to Seamless Open-Source Contributions (wom)14647
guides, foss
When to Use the “min()” or “max()” Function (css)14646
css, functions, tips-and-tricks
Malicious npm Package Masquerades as Noblox.js, Targeting Roblox Users for Data Theft (sar/soc)14645
npm, dependencies, security
Lines of Code—How to Not Measure Code Quality and Developer Efficiency (cod)14644
metrics, quality, efficiency, productivity
Lessons Learned Moving Eleventy From CommonJS to ESM in 2024 (zac/cfe)14643
videos, lessons, eleventy, commonjs, esm, refactoring
jQuery 4.0.0 Beta (tim/jqu)14642
release-notes, jquery
In Praise of the “switch” Statement (chi)14641
javascript
Doing What’s Required: Indicating Mandatory Fields in an Accessible Way (tpg)14640
accessibility, usability, forms, errors
Detect Caps Lock With JavaScript (dav)14639
javascript
A Guide to Designing for Older Adults (vit/sma)14638
guides, design, accessibility
The Decision to Leave Tech (col)14637
career, retrospectives
13 Best Books, Courses, and Communities for Learning React14636
react, books, courses, link-lists
You Won’t Scale (cfe)14635
maintainability, scalability
Visual Hierarchy: Making User Experiences Easier to Understand (uxm)14634
user-experience, design, hierarchy
Thoughts on a Global Design System (chr)14633
design-systems
The Most Demanded Frontend Frameworks in 202314632
frameworks, comparisons, react, angular, vuejs
Revolutionizing Usability Testing With Machine Learning (uxm)14631
usability, testing, ai
It’s the Hope That Kills You (yat)14630
accessibility, career, community
How to Create Rounded Gradient Borders With Any Background in CSS (ben)14629
how-tos, css, borders, gradients, backgrounds
Getting Into Web Components—an Intro (uti)14628
introductions, web-components
Exciting New Tools for Designers, February 2024 (web)14627
design, tooling, link-lists
Everything You Need to Know About Git14626
git, command-line
Bookmarklet: Load All GitHub Comments (mey)14625
bookmarklets, github, code-reviews
htmx Deep Dive With Carson Gross14624
videos, htmx, deep-dives
HTML Attributes That Every Web Developer Should Know14623
html, attributes, pop-overs, forms, custom-data
“X” Marks the Spot: Landmark Elements (stv)14622
html, semantics, accessibility, assistive-tech, aria
Why Disabled People’s Needs Aren’t “Special”14621
accessibility
The Importance of Web Performance to Information Equity (sch/fos)14620
videos, performance, accessibility
A View Source Web (gar)14619
websites, view-source, browsers
What Is WAP?14618
wap, mobile
From Many to One: Moving Our JavaScript Code Into a Monorepo14617
migrating, monorepos, javascript, git
The SEO Starter Guide Got a Makeover (liz+)14616
guides, seo, search, google
SOLID Principles: They’re Rock-Solid for Good Reason14615
programming, principles, solid
Making Your SVG Icons CSS Masks Instead of Inline HTML or Backgrounds Has Some Benefits (chr/fro)14614
images, svg, css, masking, performance
All Art Is a Copy of Something (chr)14613
art
5 Hidden Risks of Your Inaccessible Website (deq)14612
accessibility
Everyone’s a Sellout Now14611
career, culture
How to Make a Great Framework Better?—Svelte 5 With Rich Harris (ric)14610
videos, frameworks, svelte
A Complete Guide to Open Source—100× Simpler14609
guides, foss
Drupal Creator: Websites Needed More Than Ever in the AI Era14608
web, ai, complexity
Tracking Your Interviews Is Extremely Important14607
career, interviewing
Interop 2024 (rac)14606
interoperability, web-platform, browsers, support
What’s the Difference Between “localhost” and “127.0.0.1”?14605
network, ip, testing
Is the Increasing Amount of Shit Code All the Fault of AI-Generated Code?14604
ai, quality, technical-debt
The Web Just Gets Better With Interop 2024 (jen/web)14603
web-platform, interoperability, browsers, support
Dynamically Adding Text Alternatives to Images With AI (kar)14602
automation, ai, accessibility, images, alt-text
Career Retrospective14601
career, retrospectives
A Look at the New WAI–ARIA 1.3 Draft (cra)14600
accessibility, aria, standards
Tackling Flaky Tests With Cypress and Playwright Through Network Synchronization14599
testing, flakiness, cypress, playwright, network
GitLab vs. GitHub: Which Is Better in 2024?14598
version-control, gitlab, github, comparisons
Be Purposeful About Your Content14597
accessibility, content, writing
The Art and Science of Annotations in Dev Mode (fig)14596
figma, annotations
Implementing User Authentication in React Apps With Appwrite14595
react, authentication, tooling
Interaction to Next Paint Becomes a Core Web Vital on March 12 (mal+)14594
performance, web-vitals, metrics
PurePWA—a Radical U-Turn in Web Development14593
web-apps, progressive-web-apps, simplicity, tooling
Why Not htmx? (cfe)14592
htmx
The Good, the Bad, the Web Components (zac)14591
web-components, shadow-dom, dom
Practice Safe DSD With “setHTMLUnsafe” (It’s Complicated) (jar/van)14590
html, dom, shadow-dom, apis, security
Making VPATs and ACRs More Effective in Procurement (web)14589
accessibility, vpat-acr, processes
How to Stream Files From Next.js Route Handlers (eri)14588
how-tos, nextjs, routing, streaming
Designing Accessible Color Palettes in Figma: A Guide for Web Accessibility (kno)14587
guides, accessibility, colors, color-palettes, figma
5 Essential DevTools Console Hacks for Every Web Developer14586
videos, browsers, dev-tools
Tuesday, February 6, 2024 Security Releases (raf/nod)14585
release-notes, nodejs, security
Web Platform Design Principles (lea/w3c)14584
web-platform, software-design, principles, standards, w3c
Why Do Rubber Ducks Work?14583
processes, productivity, creativity
New to the Web Platform in January (rac)14582
release-notes, web-platform, browsers, firefox, chrome, safari
Understanding Signals in Django14581
signals, django
Celebrate a More Interoperable Web With Interop 2023 (rac)14580
web-platform, interoperability, browsers, support
Learn Testing14579
courses, testing
Use CSS “accent-color” to Style Your Inputs (cas)14578
css, forms
The Psychology of Site Speed and Human Happiness (tam/spe)14577
performance, usability
Stop Burning Out Maintainers: An Empathetic Guide for Contributors (bek/ope)14576
guides, foss, collaboration
Onboarding (mfo)14575
processes, onboarding, productivity, engineering-management
Is Generated Code Harder to Maintain?14574
discussions, ai, maintainability, maintenance
Going Beyond Pixels and (r)ems in CSS—Relative Length Units Based on Font (uti/iod)14573
css, units, fonts
“field-sizing” Just Works! (kil/pol)14572
css, forms, comparisons
A Highly Configurable Switch Component Using Modern CSS Techniques (bel/pic)14571
html, css
The EU Forces Open Apple’s Walled Garden (tid)14570
legal, apple, browsers, mobile