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#
4 Tips for Unlocking the Benefits of Svelte in Frontend Development (ele/des)17037
guest-posts, svelte, sveltekit
Deno 2.0, Web Components on the Server, and WordPress Drama (fro)17036
podcasts, deno, web-components, wordpress, wp-engine
Why Gumroad Didn’t Choose htmx (shl/htm)17035
htmx, case-studies
What’s the Difference Between HTML’s Dialog Element and Popovers? (chr/fro)17034
html, modals, pop-overs, comparisons
Understanding Cultural Norms to Design Inclusive User Experiences (uxm)17033
design, user-experience, culture, dei
The Reality of Balancing Pregnancy in Developer Relations (bla)17032
career, developer-relations
The “bdi” Element (hey)17031
html, semantics, internationalization
Sketch and AI (ema+/ske)17030
sketch, ai
How Bun Supports V8 APIs Without Using V8 (bun)17029
bun, javascript, v8, apis, comparisons
Designing for Digital Minimalism: Creating User Experiences That Support Mental Well-Being (uxm)17028
design, user-experience, minimalism, simplicity
Designing Effective Information Architectures for Large-Scale Web Sites (uxm)17027
design, information-architecture, complexity, scalability
Default Behavior of “position: absolute” (css)17026
css, positioning, tips-and-tricks
CSS Masonry and CSS Grid (geo/css)17025
css, layout, masonry, grids
Celebrating WebAIM’s 25th Anniversary (jar/web)17024
accessibility, webaim, anniversaries
Project IDX17023
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)17022
hiding, css, scrolling, animations, techniques
Understanding the Concept of Scoping in CSS17021
css, scope, concepts
How to Learn HTML: 46 Great Sites, Courses, and Books (All Free)17020
how-tos, learning, courses, books, html, link-lists
Bundling Past, Present, and Future (dev)17019
videos, bundling, tooling, history, outlooks
Matt Mullenweg Announces Temporary Lifting of WP Engine Ban17018
wordpress, wp-engine
Web Components Are Okay (nol)17017
web-components
The “b” Element (hey)17016
html, semantics
Self-Taught Developer’s Guide to Thriving in Tech (tre)17015
guides, career
You Might Not Need That Framework (fro)17014
frameworks, javascript
How to Manage Dangerous Actions in User Interfaces (sma)17013
how-tos, design, interaction-design, microcontent
A Complete Guide to Session Management in Next.js17012
guides, nextjs, authentication, authorization
9 Laws That Every Software Developer Should Know17011
programming, principles
POSSE: Reclaiming Social Media in a Fragmented World (mol)17010
social-media, indieweb
Bad CSS-Dad Jokes III (alv)17009
css
Untrained Engineering Managers (j9t)17008
engineering-management, culture, career, training
Some Go Web Dev Notes (b0r)17007
go, sql, databases
NIST Recommends Some Common-Sense Password Rules (sch)17006
security, passwords, guidelines
Next.js: Static Site Generation (SSG) With Incremental Static Regeneration (ISR) (rem)17005
nextjs, static-site-generation, incremental-static-regeneration
“img sizes=auto” for Native Lazy Loading (ste)17004
code-pens, html, images, lazy-loading, performance
Building a Dynamic Background Effect17003
react, css, backgrounds, animations, effects
The State of Accessibility (slo/tpg)17002
videos, podcasts, accessibility, standards
Why I Prefer WebStorm Over Visual Studio Code for Web Development (ato)17001
code-editors, webstorm, vs-code, comparisons
Navigate Large Files Faster With Minimap Section Headers in VS Code (zor/css)17000
videos, vs-code, code-editors
5 Questions for Craig Buckler (cra+/fro)16999
interviews, web-platform, history
Web Components Are Not the Future (rya)16998
web-components, web-platform, frameworks
My Thoughts on the WordPress Drama (kev)16997
wordpress, automattic, wp-engine
Meta Wants to Kill the Social Web (tan)16996
facebook+meta, social-media, ai
Making Maps Accessible to Screen Readers (mni)16995
accessibility, screen-readers, link-lists
Disable Console Logs in Production in Next.js (ami)16994
nextjs, console, logging, javascript
Catching Up on the WordPress WP Engine Sitch (geo/css)16993
wordpress, wp-engine
Automattic Sends WP Engine Its Own Cease-and-Desist Over WordPress Trademark Infringement16992
automattic, wordpress, wp-engine, legal
Dynamic Numbering With CSS Counters (kev)16991
videos, css, counters
Why Asking Questions Is a Vital Part of Growing as a Designer16990
design, career, communication
The Ultimate Design Token Setup (luk)16989
design-systems, design-tokens, best-practices, link-lists
Challenging the Case for Delayed ADA Compliance (tec/equ)16988
podcasts, interviews, accessibility, ada, compliance, legal
Observing Style Changes (bra)16987
slides, css
The Problem With Superscripts and Subscripts (ric)16986
typography, css
The Golden Ratio in CSS (sto)16985
css, principles, design
How to Make a “Scroll to Select” Form Control (pre/css)16984
how-tos, forms, scrolling, css
Accessibility Is Everyone’s Responsibility (mer)16983
accessibility, culture, dei
A Guide to Destructuring in JavaScript (wil/pic)16982
guides, javascript, examples
Unleash Your Inner Avenger: A Beginner’s Guide to Unix Shells16981
guides, unix-like, shells
Will Deno 2.0 Replace Node.js?16980
videos, deno, nodejs, comparisons
How to Measure Design System at Scale16979
how-tos, design-systems, scalability, observability
2000s + 2010s = 10,000 (fro)16978
frontend-dogma, history
Feature Detecting Scroll-Driven Animations With “@supports”: You Want to Check for “animation-range” Too (bra)16977
css, feature-detection, support, animations, firefox, browsers
The Problem of the Em Square16976
design, typography, history
A Comprehensive Guide to Node.js Addons16975
guides, nodejs
Backend for Frontend (BFF) Architecture16974
architecture, backend-for-frontend
The Evolution of CSS: From Early Days to Flexbox and Grid (kev/thi)16973
videos, css, history, concepts, principles
I Finally Understand OAuth16972
authorization, oauth, security, processes
Conway’s Law: The Hidden Force Shaping Your Software Architecture (tre)16971
principles, architecture, engineering-management
Choosing Wisely: SPA vs. htmx for Your Next Web Project16970
slides, single-page-apps, htmx, comparisons
Firefox DevTools Newsletter 130 (nic/fir)16969
release-notes, firefox, browsers, dev-tools
Your Accessibility Questions Answered by a Blind Person16968
accessibility
Error Messages: 4 Guidelines for Effective Communication (nng)16967
videos, errors, guidelines, usability
Keeping Pixely Images Pixely (and Performant!) (chr/fro)16966
css, images, effects
Getting Started With CI/CD: A Beginner’s Guide to Automating Your First Pipeline (With Jenkins)16965
introductions, ci-cd, jenkins, automation, dev-ops
Building the Perfect Logo Strip (nil/9el)16964
css, logos, images, techniques
Bad CSS-Dad Jokes II (alv)16963
css
No Authentication “Like” Button16962
buttons, authentication, functionality
An Abridged History of Safari Showstoppers (rga)16961
safari, browsers, history
The Trickiest Bug I’ve Ever Fixed16960
vuejs, debugging, bugs
Outdated Docs Are Tech Debt (tre)16959
documentation, technical-debt, comparisons, processes
Masonry and Good Defaults16958
css, layout, masonry
Design Patterns in Dart16957
videos, dart, software-design-patterns
Social Media Hasn’t Killed the Personal Blog Just Yet (jim)16956
social-media, blogging
WP Engine Is Not WordPress (pho/wor)16955
wp-engine, wordpress
Significance of package-lock.json or yarn-lock.json16954
npm, yarn, comparisons
Hire HTML and CSS People (fon)16953
html, css, hiring, engineering-management
Biome.js: The ESLint and Prettier Killer?16952
biome, eslint, prettier, linting, formatting, tooling
How AI Is Evolving the Way We Code (thi)16951
videos, ai, processes, career, outlooks
Gradient Text With a Drop Shadow (fro)16950
css, gradients, shadows
Angular Routing Essentials: All You Need to Know in One Post16949
fundamentals, angular, routing
If You Don’t Write Unit Tests… It’s a Skill Issue16948
testing, processes
Good UX Is Not Just About Minimizing Clicks16947
user-experience, design, principles, processes
Pfizer’s Future of Development (lau)16946
outlooks, prioritization, processes, culture, case-studies
Powerful WebStorm Tips and Tricks: Boost Your Productivity16945
webstorm, code-editors, tips-and-tricks, productivity
FastHTML: The Perfect Framework for Simple AI-Powered Web Apps? (mat)16944
fasthtml, web-apps, ai
Deno 2.0 Release Candidate (den)16943
release-notes, deno
Poisoning AI Scrapers16942
ai, scraping, python
Fundamentals of Frontend Architecture (max)16941
courses, fundamentals, architecture
Paying Down Tech Debt: Further Learnings (ger)16940
technical-debt, processes
New Values and Functions in CSS (alv)16939
css, functions
Fake GitHub Site Targeting Developers (jul/san)16938
security, github
Code Wins Arguments (tre)16937
prototyping, processes
A Beginner’s Guide to Using Bluesky for Business Success (web)16936
guides, social-media, bluesky, content-strategy
Dealing With Rejection After Applying to Hundreds of Jobs16935
career, interviewing
Web Components in Action—How to Build a Design System16934
how-tos, web-components, design-systems
Why We Switched From Cypress to Playwright16933
cypress, playwright, comparisons, tooling, testing, performance
Node.js 20 Upgrade: A Journey Through Unexpected Heap Issues With Kubernetes (zte)16932
nodejs, maintenance, kubernetes, memory
What’s New in DevTools: Chrome 127–129 (jec+)16931
videos, chrome, browsers, dev-tools, release-notes
Don’t Sleep on AbortController16930
javascript
Frontend Development Practices That Will Help You Avoid Failure16929
best-practices, tech-stacks, architecture, principles, validation, linting, testing
Better Vue Components With TypeScript (fad)16928
vuejs, components, typescript, examples
Top 10 Microservices Design Patterns You Should Know16927
microservices, software-design-patterns
The Nine Node Pillars (mco/pla)16926
nodejs, principles, dependencies
SVG Coding Examples: Useful Recipes for Writing Vectors by Hand (sma)16925
images, svg, examples
Intro to Deno Fresh: A Fresh Take on Full-Stack JavaScript (inf)16924
introductions, fresh, frameworks
Improving Rendering Performance With CSS “content-visibility” (nol)16923
css, performance, rendering, optimization
Compile and Run C in JavaScript (jar/bun)16922
compiling, javascript
A Step-by-Step Guide to Conducting a Web Accessibility Audit (tpg)16921
guides, accessibility, auditing, testing, processes
Submit Your Proposals for Interop 202516920
interoperability, web-platform, browsers, support
Learn CSS Grid (mia+/odd)16919
videos, css, grids, layout
The Real Cost of Meetings: What FAANG Companies Do Differently (tre)16918
collaboration, processes, efficiency, facebook+meta, aws, apple, netflix, google
This New JavaScript Operator Is an Absolute Game Changer (tar)16917
javascript, operators
The Problem of Knowledge Debt in Tech (bek/ope)16916
documentation, collaboration, version-control
Animate to “height: auto;” (and Other Intrinsic Sizing Keywords) in CSS (bra)16915
css, animations
Introduction to Micro Frontends: An Overview16914
introductions, overviews, micro-frontends
CSS Grid Layout Module Level 3 (tab+/w3c)16913
css, grids, layout
The Continuing Tragedy of Emoji on the Web (nol)16912
emoji, unicode, support, browsers
On Ticket Management (j9t)16911
processes, project-management, engineering-management, efficiency
Get Ready for Interop 2025: Your Chance to Shape the Web (stu/web)16910
interoperability, web-platform, browsers, support
Clever Polypane Debugging Features I’m Loving (mrt/css)16909
polypane, browsers, dev-tools, debugging
Accessibility Preference Settings, Information Architecture, and Internalized Ableism (eri)16908
accessibility, information-architecture, wcag, apple
Rethinking Code Reviews With Stacked PRs16907
code-reviews, version-control, git, tooling
Why HTML Has Both “<b/i>” and “<strong/em>”?16906
html, semantics
Running TypeScript Natively (nod)16905
nodejs, typescript
WebKit Features in Safari 18.0 (jen/web)16904
safari, browsers, webkit, release-notes
When to Start Blogging? (bir)16903
blogging
Stop Using “React.Fragment”16902
react
How to Teach CSS (jos/css)16901
videos, how-tos, css
How to Use JavaScript With LangChain: A Step-by-Step Guide16900
how-tos, guides, javascript, langchain
Selecting Previous Siblings (chr/fro)16899
css, selectors
Oracle, It’s Time to Free JavaScript (tin+)16898
javascript, licensing, legal, oracle
Optimising for High Latency Environments (css)16897
performance, optimization, content-delivery, http, caching
Making Orbit Animations With CSS Custom Properties (lon)16896
css, custom-properties, animations, effects
Hacking Cars in JavaScript (Running Replay Attacks in the Browser With the HackRF) (dev)16895
javascript, security
Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 10016894
web-apps, processes, scalability
Noisy, Hungry Data Centers Are Catching Communities by Surprise16893
infrastructure, hosting, sustainability
Token Optimization: The Backbone of Effective Prompt Engineering16892
ai, prompting, token-optimization
How to Create a Type to Retrieve All Keys of an Object in TypeScript16891
how-tos, typescript, objects
10 Mind-Blowing Node.js Features That Make It Unstoppable16890
nodejs
Weird Web October16889
websites, web, design
What’s the Difference Between Information Architecture and Content Strategy? (jar)16888
content, content-strategy, information-architecture, terminology, concepts, comparisons
The Magic Behind Laravel’s New “defer()” Helper (ami)16887
laravel
Let’s Bring Back Browsing (cod)16886
web, browsing
Evolve or Become Irrelevant (tre)16885
career, learning
Do You Still Use Git in the Terminal?16884
discussions, git, command-line
The HTTP QUERY Method (jre+/iet)16883
protocols, http
Company Culture Happens Outside Management (tre)16882
culture, engineering-management
Brief Note on Disclosures in Fieldsets (aar)16881
accessibility, forms, pop-overs
Bitwise Operators in JavaScript and When to Use Them (8ho)16880
javascript, operators
Predicting Developer Attrition16879
research, culture, leadership
Deceptive Patterns in Copy Are Killing Me16878
content, dark-patterns, user-experience
10 Bad TypeScript Habits to Break in 202416877
typescript, mistakes
The Fallacy of Federated Design Systems (nat)16876
design-systems, scalability, link-lists
Two CSS Properties for Trimming Text Box Whitespace (css)16875
css, whitespace
The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web)16874
html, seo, optimization, tips-and-tricks
Make “git diff” Look Beautiful in the Terminal (ami)16873
git, command-line
Introducing TanStack Router (ada/fro)16872
introductions, react, routing, tanstack
Good Forms (dav)16871
forms, best-practices, usability, accessibility, validation
CSS Values and Units Module Level 5 (tab+/w3c)16870
standards, css, units
But Why?? (a11)16869
slides, accessibility, design-patterns, testing, keyboard-navigation, contrast, colors, zooming
The Redmonk Programming Language Rankings: June 2024 (red)16868
programming, comparisons, javascript, python, java, php, typescript, css, ruby, go, shells, rust, dart
Prioritize Accessibility in Procurement for Better CX and EX16867
accessibility, prioritization, processes
Five Ways to Lazy Load Images for Better Website Performance16866
performance, lazy-loading, tooling
Request for Developer Feedback: Customizable Select (una)16865
html, forms
Reasons I Still Love the Fish Shell (b0r)16864
shells, developer-experience
When Should You Actually Worry About Tech Debt? (tre)16863
technical-debt
Using Controllers for Keyboard Accessibility (nik/a11)16862
videos, accessibility, keyboard-navigation
Understanding the “Why” Around Neurodivergent Inclusive Web Design (owe/inc)16861
videos, accessibility, dei
The Folly of Chasing Demographics (hey/inc)16860
videos, accessibility, dei
State of HTML 2024 (sac/dev)16859
surveys, html
Speed Up Your Website With “<link rel=preconnect>” (tre)16858
performance, hints
Rethinking CSS in JS16857
css, javascript, css-in-js, design, design-systems, maintenance, state-management
A Day in the Life of a DevOps Engineer: Real Stories and Challenges16856
career, processes, dev-ops
A Billion New Developers Thanks to AI? (cod)16855
career, ai, foss, link-lists
10 Developer Tools to Improve Your Daily Life as a Developer16854
tooling, productivity, developer-experience
Something Went Wrong16853
javascript, frameworks, community, developer-experience, user-experience
6 Techniques I Use to Create a Great User Experience for Shell Scripts16852
shells, techniques, user-experience
Why Copilot Is Making Programmers Worse at Programming16851
ai, github-copilot, craft, quality, programming, career
Verso Taking Shape as a Servo-Powered Web Browser (pho)16850
browsers, verso, servo
Express.js 5.0 Released After Long Delay, Though Not Yet Default as Project Appeals for Contributors16849
express
Replacing Sass’ “darken()” and “lighten()” Functions With Pure CSS (sjo)16848
css, sass, functions
Logical Properties in Size Queries (mic)16847
css, logical-properties, container-queries
Standalone Components Are the Future16846
videos, angular, components
Split Effects With No Content Duplication (ana/fro)16845
css, effects, maintainability
React 19 Cheat Sheet (ken)16844
cheat-sheets, react
How to Find the Accessible Name of a Button With Google Chrome (eri)16843
how-tos, accessibility, buttons, chrome, google, browsers, dev-tools
Google Is Killing Information Economics on the Internet (tre)16842
google, ai, economics
2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t)16841
html, conformance, metrics, quality, craft
What Price?16840
ai, sustainability, prioritization
From Node.js to Deno: How It All Began (tin)16839
videos, nodejs, deno, javascript, runtimes, history
Top 10 Angular Architecture Mistakes You Really Want to Avoid16838
angular, architecture, mistakes
Chrome Ends Support for First Input Delay (rvi)16837
browsers, chrome, performance, web-vitals, support
Designing Design Systems: Supporting Implementation and Adoption (ado)16836
design-systems
Stop Recreating the Wheel: Local Government Organizations Sharing Accessibility Information (tec+/equ)16835
podcasts, interviews, accessibility, processes, vpat-acr
Features of Your Font You Had No Idea About (ole)16834
fonts, variable-fonts, css
WCAG and Accessibility Beyond Naive Misconceptions (ope)16833
accessibility, wcag, testing, auditing
Tips for Reducing Cyclomatic Complexity (tre)16832
complexity, tips-and-tricks, best-practices, programming
The Neverending Story (gar)16831
web-platform, standards, frameworks, libraries, tooling
The Easiest Way to Start Working With OKRs (cwo)16830
okr, processes, prioritization
Anchor Positioning Quirks (mon/css)16829
css, anchor-positioning
GitHub Trick to Find the Commit That Deleted a File16828
git, github
Ensuring the Staying Power of User Experience in Your Organization (uxm)16827
user-experience, processes, culture
JavaScript Promises in Depth With V8 Engine Internals16826
javascript, promises, v8
More npm Packages on Cloudflare Workers: Combining Polyfills and Native Code to Support Node.js APIs (jas+)16825
cloudflare, nodejs, npm, apis, dependencies
How to Build an AI-Driven User Research Repository16824
how-tos, user-experience, research, ai
Create a Toggle Switch in React as a Reusable Component16823
react, components, toggles, sass, maintainability, functionality
What Does Hydration Mean? (chr/fro)16822
hydration, concepts, javascript, html, dom
Time Travelling CSS With “:target” (css)16821
css, selectors
The Undeniable Utility of CSS “:has” (jos)16820
css, selectors, examples
CSS Triggers (and)16819
websites, css, rendering
A Web Component for CodePen Embeds? (mia)16818
web-components, embed-code, codepen
Manual ’Till It Hurts16817
building, simplicity
Building the Same App Using Various Web Frameworks16816
fasthtml, nextjs, sveltekit, frameworks, comparisons
Simplicity16815
simplicity, design
Story of a Button16814
buttons
Data Centers Are Eating and Drinking Our Environment (ger)16813
infrastructure, storage, hosting, sustainability
The State of ES5 on the Web (phi)16812
ecmascript, javascript, tooling, support
“setImmediate()” vs. “setTimeout()” in JavaScript (tre)16811
javascript, time, comparisons
Going Buildless (mxb)16810
building, components, html
Frontend Dev Plus Data Structures and Algorithms: How DSA Can Power Your React App16809
data-structures, algorithms, react
Gaining Access to Anyone’s Browser Without Them Even Visiting a Website16808
arc, browsers, vulnerabilities, security
The Secrets of the “delete” Operator in JavaScript16807
javascript, operators
Overcoming Challenges in Micro-Scrum Implementation16806
agile, scrum, processes
Unrealistic Deadlines in Software Engineering (tre)16805
project-management, prioritization, quality, engineering-management
A Compelling Case for the Comma Operator16804
javascript, operators
Design Systems Should Do Less16803
design-systems, simplicity, components
A Complete Guide to Beginning With TypeScript (fro)16802
guides, typescript, link-lists, learning
Look Out, Kids: PHP Is the New JavaScript (dav)16801
php, javascript, laravel, frameworks
How to Detect Broken Links With Playwright (ste)16800
how-tos, link-rot, testing, playwright
I Need an Accessible Hero16799
accessibility, design-patterns
How to Create a Weekly Google Analytics Report That Posts to Slack (sma)16798
how-tos, google, analytics, apis, slack, documentation, functionality
UX Design Isn’t Dead, You’re Just Confused16797
user-experience, design, career
CSS Cascading and Inheritance Level 6 (fan+/w3c)16796
standards, css, cascade, inheritance
Mobile Accessibility Testing: Enhancing User Experience for All (a11)16795
accessibility, user-experience, testing, mobile
Understanding JavaScript Closures With Examples (tre)16794
javascript, closures, examples
The Goal Isn’t to Write Less Code (cfe)16793
embed-code, ai, craft
Quick Tip: Using “flatMap()” to Extract Data From a Huge Set Without Any Loop (cod)16792
javascript, arrays, tips-and-tricks
“display: contents” Is Not a CSS Reset (aar)16791
css, accessibility, resets
Deploying a Next.js App to Production in Any Server16790
deploying, nextjs
caniuse-cli (bra)16789
packages, npm, support, browsers, web-platform, caniuse, command-line
The Helpful Content Update Was Not What You Think (moz)16788
seo, metrics, google
Inlay Hints Make It Easy to Read Code in VS Code (ami)16787
code-editors, vs-code, developer-experience
The Story of Figma: Living Long Enough as a Hero to Become a Villain?16786
figma
The HTML History and Optimization Cheat Sheet (j9t)16785
html, history, optimization, cheat-sheets
Sticky Headers and Full-Height Elements: A Tricky Combination (sma)16784
css, techniques
JavaScript/Python Array Quick Reference (8ho)16783
javascript, python, arrays, overviews
Good Software Development Habits16782
programming, best-practices
CSS Display Contents (sha)16781
css, layout
Bad CSS-Dad Jokes (alv)16780
css
What’s New in React 1916779
react, vercel
Cleaning and Speeding Up the JS Ecosystem—Journey So Far (430)16778
javascript, optimization
A Complete Guide to Beginning With JavaScript (fro)16777
guides, javascript, link-lists, learning
Writing Effective Pull Request Descriptions: A Developer’s Guide16776
guides, version-control, documentation, code-reviews, collaboration
Dreaming About Drupal [and] Its Long Term Potential16775
drupal, outlooks
Avoiding Accessibility Barriers With a Checklist for Custom Controls—Opinion16774
accessibility, mobile
Notes on Setting Up a Static Website With AWS (Route 53, S3, ACM) (j9t)16773
aws, s3
Present Technical Information Using a Storytelling Framework (nza)16772
documentation, communication, writing
Tailwind CSS Config With ESM Imports (lia)16771
tailwind, configuration, esm
Should Form Labels Be Wrapped or Separate? (sib/tpg)16770
html, forms, labels, accessibility, browsers, assistive-tech
A Release Note for the Web Platform (pat)16769
web-platform, developer-experience, css, alt-text, ecmascript
Ugly Websites Sell Better16768
design, processes, testing, optimization
Tackling a System’s Accessibility Without Testing (jbu+)16767
accessibility, wcag, case-studies, heuristics
Thinking About Using AI? (mrc)16766
research, ai, sustainability
10 AI Dangers and Risks and How to Manage Them (rin)16765
ai, security, privacy, sustainability, legal
Under-Engineered Estimated Reading Time Feature (aar)16764
user-experience, scrolling
Sanding UI (jim)16763
forms, usability
Quick Guide to Web Typography for Developers (ole)16762
guides, typography, fonts, examples
Paying Down Tech Debt (ger)16761
technical-debt, prioritization, productivity
Another Stab at Truncated Text (geo/css)16760
design, accessibility, usability, css
Skeleton Screens vs. Progress Bars vs. Spinners (nng)16759
videos, user-experience, performance, placeholders, progress-indicators
llms.txt16758
websites, ai, crawling, scraping, llmstxt
CSS “@property” and the New Style (hex)16757
css
Scroll-Enhanced Experiences (car/css)16756
videos, css, scrolling
What Is React.js? (hey)16755
videos, react
HTML Whitespace Is Broken (dev)16754
html, whitespace
How to Deploy Node.js to AWS Lambda With OpenTofu and GitHub Actions16753
how-tos, deploying, nodejs, aws, serverless, lambda, github-actions, tooling, link-lists
Captured Custom Properties (kiz)16752
css, custom-properties
Backgrounds for the Box Model (and Why It Can Be Useful) (chr/fro)16751
css, box-model, backgrounds
“AggregateError” in JavaScript (tre)16750
javascript, errors
What It Is Like to Work in Meta’s (Facebook’s) Monorepo16749
facebook+meta, monorepos
Get Window Size in Pure CSS16748
css, techniques
Semi-Annual Reminder to Learn and Hire for Web Standards (aar)16747
learning, fundamentals, standards, html, css
Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster16746
performance, lazy-loading, web-vitals, angular, single-page-apps
I Want the Read Write Suggest-Edit Accept-Edit Update Web (tan)16745
web, indieweb
Be Careful When Using Generative Artificial Intelligence to Produce Code (cer)16744
accessibility, ai, code-generation
Reducing UX Debt (or Die Trying)16743
user-experience, design-debt
How I Created a 3.78 MB Docker Image for a JavaScript Service16742
docker, javascript
Understanding Web Storage: localStorage, sessionStorage, and Cookies16741
browser-storage, cookies, javascript
Faster Pages With React16740
react, performance
Automattic Launches Ambitious Tumblr Migration to WordPress16739
automattic, wordpress, migrating
A/B Testing 101 (nng)16738
introductions, a-b-testing, usability, user-experience
Supporting AVIF in Google Search (joh)16737
google, search, avif, images, support
Java Optionals (ada/fro)16736
java
Headings (web)16735
html, headings, accessibility
An SSR Performance Showdown (mco)16734
server-side-rendering, performance, vuejs, svelte, solidjs, preact, react, comparisons
An Enhancement to Accessible Responsive Tables (tem)16733
accessibility, tables, responsive-design, javascript
New to the Web Platform in August16732
release-notes, web-platform, browsers, chrome, firefox
HTTP 1 vs. HTTP 2 vs. HTTP 316731
videos, protocols, http, history, comparisons
Harnessing Copilot and Other Gen-AI Tools to Increase Digital Accessibility Efficiency (vle)16730
videos, ai, microsoft, tooling, accessibility, images, alt-text
What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11)16729
videos, guides, aria, html, accessibility
OpenAI Is Shockingly Good at Unminifying Code16728
ai, openai, javascript, minification
Drupal 11: New Features to Empower Ambitious Site Builders16727
drupal
Boost Your Productivity: Essential IntelliJ Tips for Developers16726
intellij-idea, code-editors, productivity, tips-and-tricks
Caching Demystified: Inspect, Clear, and Disable Caches (jec)16725
videos, caching, debugging, dev-tools, chrome, browsers
Stuck in the Steps?16724
design, processes
Why Playwright Is Less Flaky Than Selenium (sea)16723
testing, flakiness, playwright, selenium, comparisons
Why I Don’t Block AI Scrapers (j9t)16722
ai, scraping, robotstxt
When Regex Goes Wrong (tre)16721
regex
Querying the Color Scheme (kiz)16720
css, container-queries, custom-properties, dark-mode
Python Developers Survey 2023 Results (jet)16719
surveys, python
Paragraphs (sco)16718
html, accessibility
Hidden Cost of Frontend Frameworks16717
frameworks, dependencies, simplicity
CSS Style Observer (bra)16716
packages, npm, css
What’s Missing From HTML and CSS?16715
html, css
The Secret Inside One Million Checkboxes16714
html, databases, community
JavaScript Generators Explained, but on a Senior-Level (jan)16713
javascript, functions
Release Notes for Safari Technology Preview 202 (jon/web)16712
release-notes, browsers, safari
How to Handle Errors in Next.js for Node With the App Router (app)16711
how-tos, errors, nextjs, nodejs
Building Better Logins: A UX and Accessibility Guide for Developers16710
guides, user-experience, accessibility
Chris Ferdinandi on ADHD, Focus, and Working in Tech (cfe+)16709
podcasts, interviews, career
Redirecting Parameters in Apache16708
apache, servers, redirecting, urls
Anchor Positioning (tab/css)16707
videos, css, anchor-positioning
The Ultimate Guide to Font Performance Optimization (deb)16706
guides, fonts, performance, optimization
The Dialog Element With Entry and Exit Animations (chr/fro)16705
modals, css, animations
The “aside” Element (hey)16704
html, semantics, accessibility
Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations (pav)16703
nodejs, multithreading, memory
IndieWeb vs. Indie Web (fyr)16702
web, indieweb, terminology, comparisons
Interface Segregation Principle in React (ale)16701
principles, solid, react
How to Use React Compiler—a Complete Guide (fre)16700
how-tos, guides, react, compiling
Are Design Systems Just a Bandaid?16699
design, design-systems, product-management
Shipping Tumblr and WordPress16698
migrating, wordpress
Advanced Playwright Techniques for Flawless Testing (deb)16697
videos, testing, playwright, techniques
A Comprehensive Guide to Understanding TypeScript Record Type16696
guides, typescript
Make Me One (Input) With Everything (mor/mat)16695
html, forms, accessibility, simplicity
How to Easily Add Dark Mode to Your Website16694
how-tos, dark-mode, html, css, javascript, functionality
Generating Unique Random Numbers in JavaScript Using Sets (sma)16693
javascript, randomness
Set Up a $4/Month Hetzner VM to Skip the Serverless Tax16692
servers, serverless, hosting
Ladybird Browser: First Impressions and Easy Installation Guide16691
guides, browsers, ladybird, installing
How to Fix ESLint Violations With AI Assistance16690
how-tos, eslint, ai, automation
Is Server-Side Rendering Making a Comeback in 2024? (ele/des)16689
server-side-rendering
What Skills Should You Focus on as Junior Web Developer in 2024? (fro)16688
career, fundamentals, html, css, javascript, frameworks, tooling, learning, link-lists
Has the IndieWeb Become Irrelevant? (sta)16687
indieweb, web, fediverse
What RSS Needs (mno)16686
syndication, rss, atom, community
Managing Angular (mge)16685
angular, product-management, processes
Why Is Reaching WCAG Level AAA Not Recommended? (cer)16684
accessibility, wcag, standards
WCAG’s A and AA Distinction Is Mostly Academic (yat)16683
accessibility, wcag, standards
DevOps Project—the Ultimate CI/CD Corporate DevOps Pipeline Project16682
dev-ops, ci-cd, aws, docker, jenkins
Top Ten Git Tips and Tricks (hon)16681
git, tips-and-tricks, command-line
Mutation-Testing Our JavaScript SDKs (get)16680
javascript, testing, case-studies
Behind the Scenes: The Making of VS Code (bur+/vsc)16679
videos, code-editors, vs-code, history
Wolvic 1.7 Released (wol)16678
release-notes, wolvic, browsers
Content Strategy: Study Guide (nng)16677
guides, content, content-strategy, training, link-lists
Is Using “aria-label” to Add Alternative Text but No “alt” Attribute Still a WCAG Fail?16676
discussions, accessibility, html, attributes, forms, labels, aria, alt-text, images
Explicitly State the Difference Between Options (nng)16675
usability, information-design
Understanding Vue’s Suspense (tre)16674
vuejs
Mastering Typography in Logo Design (sma)16673
typography, design, images, logos
The Top Programming Languages 2024 (iee)16672
programming, comparisons, python, java, javascript, typescript, sql, go, html, php, lua
Improving the Screen Reader Experience for “Learn WCs” (and)16671
accessibility, user-experience, screen-readers, assistive-tech, voiceover, case-studies
Fluid Typography in Design Systems: From Design to Code (fel)16670
typography, design, design-systems, design-tokens
The Only Widely Recognized JavaScript Feature Ever Deprecated (tre)16669
javascript, history, deprecation
The Two Lines of CSS That Tanked Performance (120 FPS to 40 FPS) (and)16668
css, animations, performance
Spoiler Alert: It Needs to Be Accessible (sco)16667
accessibility, html, web-components, aria
Raw-Dogging Websites (bra)16666
html, css, javascript, tech-stacks
Elastic Overflow Scrolling (css)16665
css, overflow, scrolling
Can You Convert a Video to Pure CSS?16664
multimedia, conversion, css, javascript
The Monospace Web16663
fonts, design
Amazon Cloud CEO Predicts a Future Where Most Software Engineers Don’t Code—and AI Does It Instead16662
ai, outlooks, career
Inside ECMAScript: JavaScript Standard Gets an Extra Stage16661
ecmascript, javascript
Google Quietly Launches New AI Crawler (sea)16660
google, ai, crawling, robotstxt
Double Your Specificity With This One Weird Trick (cir)16659
css, selectors, cascade, tips-and-tricks
5 Wasm Use Cases for Frontend Development (ele/des)16658
guest-posts, webassembly, security, performance
Web Security: Shaping the Secure Web (set/w3c)16657
web, security, w3c
Understanding WCAG 2.1’s Success Criteria 1.4.10 Reflow (mni)16656
accessibility, wcag, reflow, zooming
Tailwind Balances Abstraction and Transparency16655
tailwind
How to Create an npm Package (mat)16654
how-tos, npm, dependencies
Foundations: Labelling Text Fields With Input and Label (tet)16653
accessibility, fundamentals, forms, labels, html
Exposing Internal Methods on Vue Custom Elements (jai)16652
vuejs, javascript
Custom Range Slider Using Anchor Positioning and Scroll-Driven Animations (css/fro)16651
sliders, css, anchor-positioning, scrolling, animations, forms
Configuring SSH Keys for Multiple GitHub Accounts (ste)16650
github, ssh, authentication, configuration
Basic Keyboard Shortcut Support for Focused Links (eri)16649
links, focus, support, browser-engines, keyboard-shortcuts, accessibility
Top 5 HTML Features You’re Not Using (but Should Be)16648
html
Regexes Got Good: The History and Future of Regular Expressions in JavaScript (sma)16647
regex, javascript, history
Common Misconceptions About How to Optimize LCP16646
performance, web-vitals, metrics, optimization
Batteries Included Accessibility: A Pragmatic Guide to Get Started Today16645
videos, guides, introductions, accessibility
JS Dates Are About to Be Fixed (iag)16644
javascript, ecmascript
How to Create a Shortcode in WordPress (in 7 Steps)16643
how-tos, wordpress
Core Concepts to Understand in WordPress Theme Development (kin)16642
wordpress, theming
Wasp: The JavaScript Answer to Django for Web Development16641
wasp, django, comparisons
From RPGs to UX: How Progress Indicators Affect User Engagement16640
user-experience, design, progress-indicators
What Is Incident Response?16639
incident-response, security, overviews
Ryan Dahl Explains Why Deno Had to Evolve With Version 2.0 (tin)16638
podcasts, interviews, deno, runtimes
How to Make Your Web Page Faster Before It Even Loads (whi/get)16637
how-tos, performance, web-vitals
Stop Using Margin Top—use Margin Bottom and Gap Instead (tom)16636
css, margins, spacing
The Case for a Better Web (uri)16635
web, link-lists
State of CSS 2024 (sac/dev)16634
surveys, css
React Is (Becoming) a Full-Stack Framework (rwi)16633
react, frameworks
Igalia Chats: The Coming Adpocalypse (bka+/iga)16632
podcasts, browsers, monetization, economics
Expert Guide: Writing HTML for Screen Reader Users (flo/a11)16631
guides, accessibility, html, aria, alt-text, writing, screen-readers
10 Python Programming Optimisation Techniques16630
python, optimization, techniques
How to Browse the Web in Your Linux Terminal With Lynx16629
how-tos, lynx, browsers, command-line, unix-like
How Did We Test Hundreds of Landing Pages16628
testing, landing-pages
Accessibility Specialists Warn Against Using AI for Alt Text16627
accessibility, alt-text, images, ai
The CSS “contain” Property (pre/fro)16626
css, containment, container-queries
The “Other” C in CSS (sar/css)16625
videos, css, accessibility
What’s New in ECMAScript 2024 (paw)16624
ecmascript, standards
The Role of Sound Design in UX Design: Beyond Notifications and Alerts (uxm)16623
design, user-experience, multimedia
Line Numbers for “<textarea>” Using SVG (sto)16622
forms, javascript, svg
How Good UX Design Can Transform Lead Generation (uxm)16621
design, user-experience, user-conversion
Center Items in First Row With CSS Grid (hex)16620
css, grids, layout, centering
Cache Grab: How Much Are You Leaving on the Table? (css)16619
performance, caching
UX Is Dead. Long Live UX. (usa)16618
user-experience, economics, history
Using JavaScript Generators to Visualize Algorithms16617
javascript, algorithms, visualization
In Defense of DRY (max)16616
maintainability, principles, link-lists
The “P” Word, Legitimacy, and Challenging Our Default Models and Frames (joh)16615
leadership, culture
How Can Accessibility Improve Your Conversion Rate Optimization Efforts? (cer)16614
accessibility, user-conversion, optimization, usability, economics
AI Paradox (j9t)16613
ai, productivity
A Guide to CSS Resets16612
guides, css, resets
WCAG 2.2 Summary and Breakdown (mar)16611
accessibility, wcag, guidelines, overviews
Node.js Doubles Security Releases With Newly Automated Process, Re-Evaluates Unsupported Experimental Features (sar/soc)16610
nodejs
How I Design My URLs16609
urls
Algorithms We Develop Software By (gra)16608
programming, processes, quality, best-practices
What Signal Are You Sending?16607
career, communication, culture
Top 10 Web Updates From Google I/O ’2416606
videos, browsers, google, chrome, apis, dev-tools
6 Best Local Directory Submission Tools Compared16605
tooling, seo, link-lists
Reckoning: The Way Out (sli)16604
javascript, performance, metrics, hiring
Just Use Postgres16603
databases, postgresql, sql, aws, dynamodb, mongodb, mysql, comparisons
Good Refactoring vs. Bad Refactoring (ste/bui)16602
refactoring, comparisons, maintenance, quality, javascript
80/20 Accessibility (mar)16601
accessibility, principles
Writing Alt Text for a Scientific Figure16600
accessibility, images, alt-text, writing, information-design
How to Use nginx for Frontend Application Load Balancing16599
how-tos, nginx, servers, load-balancing
Brand New Performance Features in Chrome DevTools (deb)16598
browsers, chrome, dev-tools, performance, web-vitals
Designing for Accessibility: A Checklist for Designers16597
design, accessibility, checklists
Advanced Figma Components Tips and Tricks: Little Gems We Love 202416596
figma, components, tips-and-tricks
Alternatives to Using Pure Black (“#000000”) for Text and Backgrounds (ser)16595
design, colors, backgrounds, accessibility
5 Questions for Tammy Everts (tam+/fro)16594
interviews, performance, metrics, user-experience, economics
How to Defend Your Design Process (vit/sma)16593
how-tos, design, processes
How Does the Browser Render HTML? (and)16592
browsers, browser-engines, rendering, html, dom, css, cssom, painting
How Are the “colspan” and “rowspan” Attributes Different? (geo/css)16591
html, attributes, tables
Captions vs. Subtitles: Leave No Viewer Behind (mer)16590
accessibility, captions, readability, multimedia, comparisons
How I Won $2,750 Using JavaScript, AI, and a Can of WD-40 (dav)16589
javascript, ai
The Hidden TypeScript Hack You Need to Know16588
typescript, hacks
Rote Learning HTML & CSS (j9t/fro)16587
books, frontend-dogma, html, css, learning
“Smart” Layouts With Container Queries (kev/css)16586
css, layout, container-queries
Reckoning: Caprock (sli)16585
javascript, performance
I Love the Web (and)16584
web, apple
Django: Create Sub-Commands Within a Management Command (ada)16583
django
“blocking=render”: Why Would You Do That?! (css)16582
performance, html, rendering
CSS Finally Adds Vertical Centering in 202416581
css, centering
Tips for Using React Testing Library to Write Unit Tests (ato)16580
react, testing, libraries, tips-and-tricks
Dev Encyclopedia16579
websites, terminology, concepts, learning
Reckoning: Object Lesson (sli)16578
javascript, performance, metrics
Context Is King: Long Live the King! (llo/tpg)16577
accessibility, usability, techniques, aria
45 Visual Studio Code Shortcuts for Boosting Your Productivity16576
code-editors, vs-code, keyboard-shortcuts
The Importance of Communication in Accessibility Testing16575
accessibility, testing, communication
We’re on the Brink of Another World Browser War (fir)16574
videos, browsers, browser-wars
Start Over-Engineering Your CSS (kev/css)16573
videos, css, complexity
The “address” Element (hey)16572
html, semantics
Relative Color Syntax—Basic Use Cases (chr/fro)16571
css, functions, colors, browsers, support
Reckoning: The Landscape (sli)16570
javascript, performance, metrics, mobile
“font-size” Limbo (seb)16569
design, typography, css
Implementing SAML SSO in Node.js With Microsoft Entra ID16568
authentication, nodejs, microsoft, functionality
The Problem With Growth: Why Everything Is Failing Now16567
processes, agile, scrum, project-management, research
ObsoHTML, the Obsolete HTML Checker (j9t)16566
packages, npm, html, quality
Things to Do Before Asking “Is This Accessible?” (aar)16565
accessibility, terminology, communication
The Most Important Thing to Look at When Choosing an Accessibility Auditor (kar)16564
accessibility, auditing, vpat-acr
Action Web Components Which Span the Server-Client Divide (jar)16563
web-components, html, apis
12 Best JavaScript Animation Libraries to Supercharge Your Web Projects in 202416562
javascript, animations, libraries, link-lists
Verso: Initial Multi-Window Support (wuy)16561
verso, browsers
Comparing Design Systems to Find the Best Qualities (hdv)16560
design-systems, quality
Common Causes of Memory Leaks in JavaScript (tre)16559
javascript, memory, garbage-collection
Exploring the Possibilities of Native JavaScript Decorators (fro)16558
javascript, software-design-patterns
Stop Versioning Your Docker Compose File16557
docker, versioning
JSR and Deno: Final Review (dbu)16556
jsr, deno
Design Patterns and WCAG (gra/tet)16555
accessibility, design-patterns, wcag
Attaching Notes to Git Branches16554
git, documentation
SOLID Principles for Designers16553
design, solid, principles
Documentation and Migration: From Vue 2 to Vue 316552
videos, interviews, vuejs, documentation, migrating
The Dying Web (mre)16551
browsers, chrome, chromium, firefox, web
Now in Baseline: Animating Entry Effects (una)16550
browsers, support, web-platform, css, animations
WOFF File Format 2.0 (w3c)16549
woff, fonts, standards
When It Comes to Digital Accessibility Lawsuits, the Best Defense Is a Good Offense (deq)16548
accessibility, legal
We Don’t Need a Boss, We Need a Process (mia)16547
design, leadership, processes, collaboration
Good Intentions, Poor Context (tpg)16546
accessibility, microcontent, images, buttons, links
Design Tokens Demystified16545
components, design-tokens, design-systems
Minify JavaScript and CSS Code for a Faster Website (mat/deb)16544
performance, minification, javascript, css, html, lighthouse
Announcing Official Puppeteer Support for Firefox (moz)16543
browsers, firefox, puppeteer, support
FastHTML: Revolutionizing Web Development With Python (raj)16542
frameworks, fasthtml, python, web-apps
WCAG 2.2 Map by Theme (hic)16541
accessibility, wcag, standards
W3C Opens Community-Wide Survey (w3c)16540
surveys, w3c, community
The “abbr” Element (hey)16539
html, semantics, accessibility
Snippets in Svelte 5 (ada/fro)16538
svelte