Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected. Hide

Frontend Dogma

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

→ 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#
Deceptive Patterns in Copy Are Killing Me15979
content, dark-patterns, user-experience
10 Bad TypeScript Habits to Break in 202415978
typescript, mistakes
The Fallacy of Federated Design Systems (nat)15977
design-systems, scalability, link-lists
Two CSS Properties for Trimming Text Box Whitespace (css)15976
css, whitespace
The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web)15975
html, seo, optimization, tips-and-tricks
Make “git diff” Look Beautiful in the Terminal (ami)15974
git, command-line
Introducing TanStack Router (ada/fro)15973
introductions, react, routing, tanstack
Good Forms (dav)15972
forms, best-practices, usability, accessibility, validation
CSS Values and Units Module Level 5 (tab+/w3c)15971
standards, css, units
But Why?? (a11)15970
slides, accessibility, design-patterns, testing, keyboard-navigation, contrast, colors, zooming
Prioritize Accessibility in Procurement for Better CX and EX15969
accessibility, prioritization, processes
Five Ways to Lazy Load Images for Better Website Performance15968
performance, lazy-loading, tooling
Request for Developer Feedback: Customizable Select (una)15967
html, forms
The Redmonk Programming Language Rankings: June 202415966
programming, comparisons, javascript, python, java, php, typescript, css, ruby, go, shells, rust, dart
Reasons I Still Love the Fish Shell (b0r)15965
shells, developer-experience
When Should You Actually Worry About Tech Debt? (tre)15964
technical-debt
Using Controllers for Keyboard Accessibility (nik/a11)15963
videos, accessibility, keyboard-navigation
Understanding the “Why” Around Neurodivergent Inclusive Web Design (owe/inc)15962
videos, accessibility, dei
The Folly of Chasing Demographics (hey/inc)15961
videos, accessibility, dei
State of HTML 2024 (sac/dev)15960
surveys, html
Speed Up Your Website With “<link rel=preconnect>” (tre)15959
performance, hints
Rethinking CSS in JS15958
css, javascript, css-in-js, design, design-systems, maintenance, state-management
A Day in the Life of a DevOps Engineer: Real Stories and Challenges15957
career, processes, dev-ops
A Billion New Developers Thanks to AI? (cod)15956
career, ai, foss, link-lists
10 Developer Tools to Improve Your Daily Life as a Developer15955
tooling, productivity, developer-experience
Verso Taking Shape as a Servo-Powered Web Browser15954
browsers, verso, servo
Replacing Sass’ “darken()” and “lighten()” Functions With Pure CSS (sjo)15953
css, sass, functions
6 Techniques I Use to Create a Great User Experience for Shell Scripts15952
shells, techniques, user-experience
Logical Properties in Size Queries (mic)15951
css, logical-properties, container-queries
Why Copilot Is Making Programmers Worse at Programming15950
ai, github-copilot, craft, quality, programming, career
Standalone Components Are the Future15949
videos, angular, components
Split Effects With No Content Duplication (ana/fro)15948
css, effects, maintainability
Something Went Wrong (mol)15947
javascript, frameworks, community, developer-experience, user-experience
React 19 Cheat Sheet (ken)15946
cheat-sheets, react
How to Find the Accessible Name of a Button With Google Chrome (eri)15945
how-tos, accessibility, buttons, chrome, google, browsers, dev-tools
Google Is Killing Information Economics on the Internet (tre)15944
google, ai, economics
Express.js 5.0 Released After Long Delay, Though Not Yet Default as Project Appeals for Contributors15943
express
2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t)15942
html, conformance, metrics, quality, craft
Designing Design Systems: Supporting Implementation and Adoption (ado)15941
design-systems
From Node.js to Deno: How It All Began (tin)15940
videos, nodejs, deno, javascript, runtimes, history
Chrome Ends Support for First Input Delay (rvi)15939
browsers, google, chrome, performance, web-vitals, support
Stop Recreating the Wheel: Local Government Organizations Sharing Accessibility Information (tec+/equ)15938
podcasts, interviews, accessibility, processes, vpat-acr
Features of Your Font You Had No Idea About (ole)15937
fonts, variable-fonts, css
What Price? (ada)15936
ai, sustainability, prioritization
WCAG and Accessibility Beyond Naive Misconceptions (ope)15935
accessibility, wcag, testing, auditing
Top 10 Angular Architecture Mistakes You Really Want to Avoid15934
angular, architecture, mistakes
Tips for Reducing Cyclomatic Complexity (tre)15933
complexity, tips-and-tricks, best-practices, programming
The Neverending Story (gar)15932
web-platform, standards, frameworks, libraries, tooling
The Easiest Way to Start Working With OKRs (cwo)15931
okr, processes, prioritization
Anchor Positioning Quirks (mon/css)15930
css, anchor-positioning
How to Build an AI-Driven User Research Repository15929
how-tos, user-experience, research, ai
Create a Toggle Switch in React as a Reusable Component15928
react, components, toggles, sass, maintainability, functionality
More npm Packages on Cloudflare Workers: Combining Polyfills and Native Code to Support Node.js APIs (jas+)15927
cloudflare, nodejs, npm, apis, dependencies
GitHub Trick to Find the Commit That Deleted a File15926
git, github
What Does Hydration Mean? (chr/fro)15925
hydration, concepts, javascript, html, dom
Time Travelling CSS With “:target” (css)15924
css, selectors
The Undeniable Utility of CSS “:has” (jos)15923
css, selectors, examples
JavaScript Promises in Depth With V8 Engine Internals15922
javascript, promises, v8
Ensuring the Staying Power of User Experience in Your Organization (uxm)15921
user-experience, processes, culture
CSS Triggers (and)15920
websites, css, rendering
A Web Component for CodePen Embeds? (mia)15919
web-components, embed-code, codepen
Simplicity15918
simplicity, design
Story of a Button15917
buttons
Data Centers Are Eating and Drinking Our Environment (ger)15916
infrastructure, storage, hosting, sustainability
The State of ES5 on the Web (phi)15915
ecmascript, javascript, tooling, support
“setImmediate()” vs. “setTimeout()” in JavaScript (tre)15914
javascript, time, comparisons
Manual ’Till It Hurts (ada)15913
building, simplicity
Going Buildless (mxb)15912
building, components, html
Frontend Dev Plus Data Structures and Algorithms: How DSA Can Power Your React App15911
data-structures, algorithms, react
Building the Same App Using Various Web Frameworks15910
fasthtml, nextjs, sveltekit, frameworks, comparisons
The Secrets of the “delete” Operator in JavaScript15909
javascript, operators
Overcoming Challenges in Micro-Scrum Implementation15908
agile, scrum, processes
Unrealistic Deadlines in Software Engineering (tre)15907
project-management, prioritization, quality, engineering-management
Gaining Access to Anyone’s Browser Without Them Even Visiting a Website15906
arc, the-browser-company, browsers, vulnerabilities, security
How to Create a Weekly Google Analytics Report That Posts to Slack (sma)15905
how-tos, google, analytics, apis, slack, documentation, functionality
UX Design Isn’t Dead, You’re Just Confused15904
user-experience, design, career
Design Systems Should Do Less15903
design-systems, simplicity, components
CSS Cascading and Inheritance Level 6 (fan+/w3c)15902
standards, css, cascade, inheritance
Mobile Accessibility Testing: Enhancing User Experience for All (a11)15901
accessibility, user-experience, testing, mobile
Understanding JavaScript Closures With Examples (tre)15900
javascript, closures, examples
The Goal Isn’t to Write Less Code (cfe)15899
embed-code, ai, craft
Quick Tip: Using “flatMap()” to Extract Data From a Huge Set Without Any Loop (cod)15898
javascript, arrays, tips-and-tricks
Look Out, Kids: PHP Is the New JavaScript (dav)15897
php, javascript, laravel, frameworks
I Need an Accessible Hero15896
accessibility, design-patterns
How to Detect Broken Links With Playwright (ste)15895
how-tos, link-rot, testing, playwright
“display: contents” Is Not a CSS Reset (aar)15894
css, accessibility, resets
Deploying a Next.js App to Production in Any Server15893
deploying, nextjs
caniuse-cli (bra)15892
packages, npm, support, browsers, web-platform, caniuse, command-line
A Complete Guide to Beginning With TypeScript (fro)15891
guides, typescript, link-lists, learning
A Compelling Case for the Comma Operator15890
javascript, operators
The Story of Figma: Living Long Enough as a Hero to Become a Villain?15889
figma
The HTML History and Optimization Cheat Sheet (j9t)15888
html, history, optimization, cheat-sheets
The Helpful Content Update Was Not What You Think (moz)15887
seo, metrics, google
Sticky Headers and Full-Height Elements: A Tricky Combination (sma)15886
css, techniques
JavaScript/Python Array Quick Reference (8ho)15885
javascript, python, arrays, overviews
Inlay Hints Make It Easy to Read Code in VS Code (ami)15884
code-editors, microsoft, vs-code, developer-experience
Good Software Development Habits15883
programming, best-practices
CSS Display Contents (sha)15882
css, layout
Bad CSS-Dad Jokes (alv)15881
css
Notes on Setting Up a Static Website With AWS (Route 53, S3, ACM) (j9t)15880
aws, s3
Present Technical Information Using a Storytelling Framework (nza)15879
documentation, communication, writing
Writing Effective Pull Request Descriptions: A Developer’s Guide15878
guides, version-control, documentation, code-reviews, collaboration
What’s New in React 1915877
react, vercel
Tailwind CSS Config With ESM Imports (lia)15876
tailwind, configuration, esm
Should Form Labels Be Wrapped or Separate? (sib/tpg)15875
html, forms, labels, accessibility, browsers, assistive-tech
Dreaming About Drupal [and] Its Long Term Potential15874
drupal, outlooks
Cleaning and Speeding Up the JS Ecosystem—Journey So Far15873
javascript, optimization
Avoiding Accessibility Barriers With a Checklist for Custom Controls—Opinion15872
accessibility, mobile
A Release Note for the Web Platform (pat)15871
web-platform, developer-experience, css, alt-text, ecmascript
A Complete Guide to Beginning With JavaScript (fro)15870
guides, javascript, link-lists, learning
Tackling a System’s Accessibility Without Testing (jbu+)15869
accessibility, wcag, case-studies, heuristics
Ugly Websites Sell Better15868
design, processes, testing, optimization
10 AI Dangers and Risks and How to Manage Them (rin)15867
ai, security, privacy, sustainability, legal
Under-Engineered Estimated Reading Time Feature (aar)15866
user-experience, scrolling
Thinking About Using AI? (mrc)15865
research, ai, sustainability
Sanding UI (jim)15864
forms, usability
Quick Guide to Web Typography for Developers (ole)15863
guides, typography, fonts, examples
Paying Down Tech Debt (ger)15862
technical-debt, prioritization, productivity
Another Stab at Truncated Text (geo/css)15861
design, accessibility, usability, css
llms.txt15860
websites, ai, crawling, scraping, llmstxt
CSS “@property” and the New Style (hex)15859
css
Scroll-Enhanced Experiences (car/css)15858
videos, css, scrolling
Skeleton Screens vs. Progress Bars vs. Spinners (nng)15857
videos, user-experience, performance, placeholders, progress-indicators
What Is React.js? (hey)15856
videos, react
HTML Whitespace Is Broken (dev)15855
html, whitespace
How to Deploy Node.js to AWS Lambda With OpenTofu and GitHub Actions15854
how-tos, deploying, nodejs, aws, serverless, lambda, github-actions, tooling, link-lists
Captured Custom Properties (kiz)15853
css, custom-properties
Backgrounds for the Box Model (and Why It Can Be Useful) (chr/fro)15852
css, box-model, backgrounds
“AggregateError” in JavaScript (tre)15851
javascript, errors
What It Is Like to Work in Meta’s (Facebook’s) Monorepo15850
facebook+meta, monorepos
Semi-Annual Reminder to Learn and Hire for Web Standards (aar)15849
learning, fundamentals, standards, html, css
Lazy Loading Isn’t Just Lazy, It’s Late: The Web Deserves Faster15848
performance, lazy-loading, web-vitals, angular, single-page-apps
I Want the Read Write Suggest-Edit Accept-Edit Update Web (tan)15847
web, indieweb
Get Window Size in Pure CSS15846
css, techniques
Be Careful When Using Generative Artificial Intelligence to Produce Code (cer)15845
accessibility, ai, code-generation
Reducing UX Debt (or Die Trying)15844
user-experience, design-debt
How I Created a 3.78 MB Docker Image for a JavaScript Service15843
docker, javascript
A/B Testing 101 (nng)15842
introductions, a-b-testing, usability, user-experience
Supporting AVIF in Google Search (joh)15841
google, search, avif, images, support
Understanding Web Storage: localStorage, sessionStorage, and Cookies15840
browser-storage, cookies, javascript
Java Optionals (ada/fro)15839
java
Headings (web)15838
html, headings, accessibility
Faster Pages With React15837
react, performance
Automattic Launches Ambitious Tumblr Migration to WordPress15836
automattic, wordpress, migrating
An SSR Performance Showdown (mco)15835
server-side-rendering, performance, vuejs, svelte, solidjs, preact, react, comparisons
An Enhancement to Accessible Responsive Tables (tem)15834
accessibility, tables, responsive-design, javascript
Stuck in the Steps?15833
design, processes
Caching Demystified: Inspect, Clear, and Disable Caches (jec)15832
videos, caching, debugging, dev-tools, chrome, google, browsers
New to the Web Platform in August (rac)15831
release-notes, web-platform, browsers, google, chrome, mozilla, firefox
Boost Your Productivity: Essential IntelliJ Tips for Developers15830
intellij-idea, jetbrains, code-editors, productivity, tips-and-tricks
Why Playwright Is Less Flaky Than Selenium (sea)15829
testing, flakiness, playwright, selenium, comparisons
Why I Don’t Block AI Scrapers (j9t)15828
ai, scraping, robotstxt
When Regex Goes Wrong (tre)15827
regex
What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11)15826
videos, guides, aria, html, accessibility
Querying the Color Scheme (kiz)15825
css, container-queries, custom-properties, dark-mode
Python Developers Survey 2023 Results (jet)15824
surveys, python
Paragraphs (sco)15823
html, accessibility
OpenAI Is Shockingly Good at Unminifying Code15822
ai, openai, javascript, minification
HTTP 1 vs. HTTP 2 vs. HTTP 315821
videos, protocols, http, history, comparisons
Hidden Cost of Frontend Frameworks15820
frameworks, dependencies, simplicity
Harnessing Copilot and Other Gen-AI Tools to Increase Digital Accessibility Efficiency15819
videos, ai, microsoft, tooling, accessibility, images, alt-text
Drupal 11: New Features to Empower Ambitious Site Builders15818
drupal
CSS Style Observer (bra)15817
packages, npm, css
How to Handle Errors in Next.js for Node With the App Router (app)15816
how-tos, errors, nextjs, nodejs
Building Better Logins: A UX and Accessibility Guide for Developers15815
guides, user-experience, accessibility
What’s Missing From HTML and CSS? (rac)15814
html, css
Chris Ferdinandi on ADHD, Focus, and Working in Tech (cfe+)15813
podcasts, interviews, career
Redirecting Parameters in Apache15812
apache, servers, redirecting, urls
Anchor Positioning (tab/css)15811
videos, css, anchor-positioning
JavaScript Generators Explained, but on a Senior-Level (jan)15810
javascript, functions
The Ultimate Guide to Font Performance Optimization (deb)15809
guides, fonts, performance, optimization
The Secret Inside One Million Checkboxes15808
html, databases, community
The Dialog Element With Entry and Exit Animations (chr/fro)15807
modals, css, animations
The “aside” Element (hey)15806
html, semantics, accessibility
Release Notes for Safari Technology Preview 202 (jon/web)15805
release-notes, browsers, apple, safari
Multithreading in Node.js: Using Atomics for Safe Shared Memory Operations (pav)15804
nodejs, multithreading, memory
IndieWeb vs. Indie Web (fyr)15803
web, indieweb, terminology, comparisons
Advanced Playwright Techniques for Flawless Testing (deb)15802
videos, testing, playwright, techniques
Are Design Systems Just a Bandaid?15801
design, design-systems, product-management
A Comprehensive Guide to Understanding TypeScript Record Type15800
guides, typescript
Shipping Tumblr and WordPress15799
migrating, wordpress
Make Me One (Input) With Everything (mor/mat)15798
html, forms, accessibility, simplicity
Interface Segregation Principle in React15797
principles, solid, react
How to Use React Compiler—a Complete Guide (fre)15796
how-tos, guides, react, compiling
Set Up a $4/Month Hetzner VM to Skip the Serverless Tax15795
servers, serverless, hosting
Is Server-Side Rendering Making a Comeback in 2024? (ele/des)15794
server-side-rendering
What Skills Should You Focus on as Junior Web Developer in 2024? (fro)15793
career, fundamentals, html, css, javascript, frameworks, tooling, learning, link-lists
Ladybird Browser: First Impressions and Easy Installation Guide15792
guides, browsers, ladybird, installing
How to Fix ESLint Violations With AI Assistance15791
how-tos, eslint, ai, automation
How to Easily Add Dark Mode to Your Website15790
how-tos, dark-mode, html, css, javascript, functionality
Has the IndieWeb Become Irrelevant? (sta)15789
indieweb, web, fediverse
Generating Unique Random Numbers in JavaScript Using Sets (sma)15788
javascript, randomness
What RSS Needs (mno)15787
syndication, rss, atom, community
Managing Angular (mge)15786
angular, product-management, processes
Why Is Reaching WCAG Level AAA Not Recommended? (cer)15785
accessibility, wcag, standards
WCAG’s A and AA Distinction Is Mostly Academic (yat)15784
accessibility, wcag, standards
DevOps Project—the Ultimate CI/CD Corporate DevOps Pipeline Project15783
dev-ops, ci-cd, aws, docker, jenkins
Content Strategy: Study Guide (nng)15782
guides, content, content-strategy, training, link-lists
Is Using “aria-label” to Add Alternative Text but No “alt” Attribute Still a WCAG Fail?15781
discussions, accessibility, html, attributes, forms, labels, aria, alt-text, images
Mutation-Testing Our JavaScript SDKs (get)15780
javascript, testing, case-studies
Explicitly State the Difference Between Options (nng)15779
usability, information-design
Wolvic 1.7 Released (wol)15778
release-notes, wolvic, igalia, browsers
Understanding Vue’s Suspense (tre)15777
vuejs
Top Ten Git Tips and Tricks (hon)15776
git, tips-and-tricks, command-line
Behind the Scenes: The Making of VS Code (bur+/vsc)15775
videos, code-editors, microsoft, vs-code, history
Fluid Typography in Design Systems: From Design to Code (fel)15774
typography, design, design-systems, design-tokens
The Top Programming Languages 2024 (iee)15773
programming, comparisons, python, java, javascript, typescript, sql, go, html, php, lua
The Only Widely Recognized JavaScript Feature Ever Deprecated (tre)15772
javascript, history, deprecation
The Two Lines of CSS That Tanked Performance (120 FPS to 40 FPS) (and)15771
css, animations, performance
Spoiler Alert: It Needs to Be Accessible (sco)15770
accessibility, html, web-components, aria
Raw-Dogging Websites (bra)15769
html, css, javascript, tech-stacks
Mastering Typography in Logo Design (sma)15768
typography, design, images, logos
Improving the Screen Reader Experience for “Learn WCs” (and)15767
accessibility, user-experience, screen-readers, assistive-tech, apple, voiceover, case-studies
Inside ECMAScript: JavaScript Standard Gets an Extra Stage15766
ecmascript, javascript
Google Quietly Launches New AI Crawler (sea)15765
google, ai, crawling, robotstxt
Double Your Specificity With This One Weird Trick (cir)15764
css, selectors, cascade, tips-and-tricks
5 Wasm Use Cases for Frontend Development (ele/des)15763
guest-posts, webassembly, security, performance
Web Security: Shaping the Secure Web (set/w3c)15762
web, security, w3c
Understanding WCAG 2.1’s Success Criteria 1.4.10 Reflow (mni)15761
accessibility, wcag, reflow, zooming
The Monospace Web15760
fonts, design
Tailwind Balances Abstraction and Transparency15759
tailwind
How to Create an npm Package (mat)15758
how-tos, npm, dependencies
Foundations: Labelling Text Fields With Input and Label (tet)15757
accessibility, fundamentals, forms, labels, html
Exposing Internal Methods on Vue Custom Elements (jai)15756
vuejs, javascript
Elastic Overflow Scrolling (css)15755
css, overflow, scrolling
Custom Range Slider Using Anchor Positioning and Scroll-Driven Animations (css/fro)15754
sliders, css, anchor-positioning, scrolling, animations, forms
Configuring SSH Keys for Multiple GitHub Accounts (ste)15753
github, ssh, authentication, configuration
Can You Convert a Video to Pure CSS?15752
multimedia, conversion, css, javascript
Basic Keyboard Shortcut Support for Focused Links (eri)15751
links, focus, support, browser-engines, keyboard-shortcuts, accessibility
Amazon Cloud CEO Predicts a Future Where Most Software Engineers Don’t Code—and AI Does It Instead15750
ai, outlooks, career
Batteries Included Accessibility: A Pragmatic Guide to Get Started Today15749
videos, guides, introductions, accessibility
Wasp: The JavaScript Answer to Django for Web Development15748
wasp, django, comparisons
From RPGs to UX: How Progress Indicators Affect User Engagement15747
user-experience, design, progress-indicators
What Is Incident Response?15746
incident-response, security, overviews
Ryan Dahl Explains Why Deno Had to Evolve With Version 2.0 (tin)15745
podcasts, interviews, deno, runtimes
Common Misconceptions About How to Optimize LCP15744
performance, web-vitals, metrics, optimization
How to Make Your Web Page Faster Before It Even Loads (whi/get)15743
how-tos, performance, web-vitals
Top 5 HTML Features You’re Not Using (but Should Be)15742
html
Stop Using Margin Top—use Margin Bottom and Gap Instead (tom)15741
css, margins, spacing
The Case for a Better Web (uri)15740
web, link-lists
State of CSS 2024 (sac/dev)15739
surveys, css
Regexes Got Good: The History and Future of Regular Expressions in JavaScript (sma)15738
regex, javascript, history
React Is (Becoming) a Full-Stack Framework (rwi)15737
react, frameworks
JS Dates Are About to Be Fixed (iag)15736
javascript, ecmascript
Igalia Chats: The Coming Adpocalypse (bka+/iga)15735
podcasts, browsers, monetization, economics
How to Create a Shortcode in WordPress (in 7 Steps)15734
how-tos, wordpress
Expert Guide: Writing HTML for Screen Reader Users (flo/a11)15733
guides, accessibility, html, aria, alt-text, writing, screen-readers
Core Concepts to Understand in WordPress Theme Development (kin)15732
wordpress, theming
The CSS “contain” Property (pre/fro)15731
css, containment, container-queries
The “Other” C in CSS (sar/css)15730
videos, css, accessibility
What’s New in ECMAScript 2024 (paw)15729
ecmascript, standards
The Role of Sound Design in UX Design: Beyond Notifications and Alerts (uxm)15728
design, user-experience, multimedia
Line Numbers for “<textarea>” Using SVG (sto)15727
forms, javascript, svg
How to Browse the Web in Your Linux Terminal With Lynx15726
how-tos, lynx, browsers, command-line, unix-like
How Good UX Design Can Transform Lead Generation (uxm)15725
design, user-experience, user-conversion
How Did We Test Hundreds of Landing Pages15724
testing, landing-pages
Center Items in First Row With CSS Grid (hex)15723
css, grids, layout, centering
Cache Grab: How Much Are You Leaving on the Table? (css)15722
performance, caching
Accessibility Specialists Warn Against Using AI for Alt Text15721
accessibility, alt-text, images, ai
10 Python Programming Optimisation Techniques15720
python, optimization, techniques
UX Is Dead. Long Live UX.15719
user-experience, economics, history
In Defense of DRY (max)15718
maintainability, principles, link-lists
Using JavaScript Generators to Visualize Algorithms15717
javascript, algorithms, visualization
The “P” Word, Legitimacy, and Challenging Our Default Models and Frames (joh)15716
leadership, culture
How Can Accessibility Improve Your Conversion Rate Optimization Efforts? (cer)15715
accessibility, user-conversion, optimization, usability, economics
AI Paradox (j9t)15714
ai, productivity
WCAG 2.2 Summary and Breakdown (mar)15713
accessibility, wcag, guidelines, overviews
Node.js Doubles Security Releases With Newly Automated Process, Re-Evaluates Unsupported Experimental Features (sar/soc)15712
nodejs
How I Design My URLs15711
urls
Algorithms We Develop Software By (gra)15710
programming, processes, quality, best-practices
A Guide to CSS Resets15709
guides, css, resets
Top 10 Web Updates From Google I/O ’2415708
videos, browsers, google, chrome, apis, dev-tools
6 Best Local Directory Submission Tools Compared15707
tooling, seo, link-lists
What Signal Are You Sending?15706
career, communication, culture
Reckoning: The Way Out (sli)15705
javascript, performance, metrics, hiring
Just Use Postgres15704
databases, postgresql, sql, aws, dynamodb, mongodb, mysql, comparisons
Good Refactoring vs. Bad Refactoring (ste/bui)15703
refactoring, comparisons, maintenance, quality, javascript
80/20 Accessibility (mar)15702
accessibility, principles
Designing for Accessibility: A Checklist for Designers15701
design, accessibility, checklists
Advanced Figma Components Tips and Tricks: Little Gems We Love 202415700
figma, components, tips-and-tricks
Alternatives to Using Pure Black (“#000000”) for Text and Backgrounds (ser)15699
design, colors, backgrounds, accessibility
5 Questions for Tammy Everts (tam+/fro)15698
interviews, performance, metrics, user-experience, economics
Brand New Performance Features in Chrome DevTools (deb)15697
browsers, google, chrome, dev-tools, performance, web-vitals
Writing Alt Text for a Scientific Figure15696
accessibility, images, alt-text, writing, information-design
How to Use nginx for Frontend Application Load Balancing15695
how-tos, nginx, servers, load-balancing
How to Defend Your Design Process (vit/sma)15694
how-tos, design, processes
How Does the Browser Render HTML? (and)15693
browsers, browser-engines, rendering, html, dom, css, cssom, painting
How Are the “colspan” and “rowspan” Attributes Different? (geo/css)15692
html, attributes, tables
Captions vs. Subtitles: Leave No Viewer Behind (mer)15691
accessibility, captions, readability, multimedia, comparisons
The Hidden TypeScript Hack You Need to Know15690
typescript, hacks
Rote Learning HTML & CSS (j9t/fro)15689
books, frontend-dogma, html, css, learning
“Smart” Layouts With Container Queries (kev/css)15688
css, layout, container-queries
Reckoning: Caprock (sli)15687
javascript, performance
I Love the Web (and)15686
web, apple
How I Won $2,750 Using JavaScript, AI, and a Can of WD-4015685
javascript, ai
Django: Create Sub-Commands Within a Management Command (ada)15684
django
“blocking=render”: Why Would You Do That?! (css)15683
performance, html, rendering
Tips for Using React Testing Library to Write Unit Tests (ato)15682
react, testing, libraries, tips-and-tricks
Reckoning: Object Lesson (sli)15681
javascript, performance, metrics
Dev Encyclopedia15680
websites, terminology, concepts, learning
CSS Finally Adds Vertical Centering in 202415679
css, centering
Context Is King: Long Live the King! (llo/tpg)15678
accessibility, usability, techniques, aria
45 Visual Studio Code Shortcuts for Boosting Your Productivity15677
code-editors, microsoft, vs-code, keyboard-shortcuts
The Importance of Communication in Accessibility Testing15676
accessibility, testing, communication
We’re on the Brink of Another World Browser War (fir)15675
videos, browsers, browser-wars
Start Over-Engineering Your CSS (kev/css)15674
videos, css, complexity
The “address” Element (hey)15673
html, semantics
Relative Color Syntax—Basic Use Cases (chr/fro)15672
css, functions, colors, browsers, support
Reckoning: The Landscape (sli)15671
javascript, performance, metrics, mobile
“font-size” Limbo (seb)15670
design, typography, css
The Problem With Growth: Why Everything Is Failing Now15669
processes, agile, scrum, project-management, research
ObsoHTML, the Obsolete HTML Checker (j9t)15668
packages, npm, html, quality
Implementing SAML SSO in Node.js With Microsoft Entra ID15667
authentication, nodejs, microsoft, functionality
Things to Do Before Asking “Is This Accessible?” (aar)15666
accessibility, terminology, communication
The Most Important Thing to Look at When Choosing an Accessibility Auditor (kar)15665
accessibility, auditing, vpat-acr
Action Web Components Which Span the Server-Client Divide (jar)15664
web-components, html, apis
Verso: Initial Multi-Window Support (wuy)15663
verso, browsers
Comparing Design Systems to Find the Best Qualities (hdv)15662
design-systems, quality
Common Causes of Memory Leaks in JavaScript (tre)15661
javascript, memory, garbage-collection
12 Best JavaScript Animation Libraries to Supercharge Your Web Projects in 202415660
javascript, animations, libraries, link-lists
Stop Versioning Your Docker Compose File15659
docker, versioning
JSR and Deno: Final Review (dbu)15658
jsr, deno
Exploring the Possibilities of Native JavaScript Decorators (fro)15657
javascript, software-design-patterns
Design Patterns and WCAG (gra/tet)15656
accessibility, design-patterns, wcag
Now in Baseline: Animating Entry Effects (una)15655
browsers, support, web-platform, css, animations
SOLID Principles for Designers15654
design, solid, principles
WOFF File Format 2.0 (w3c)15653
woff, fonts, standards
When It Comes to Digital Accessibility Lawsuits, the Best Defense Is a Good Offense (deq)15652
accessibility, legal
We Don’t Need a Boss, We Need a Process (mia)15651
design, leadership, processes, collaboration
The Dying Web (mre)15650
browsers, google, chrome, chromium, mozilla, firefox, web
Good Intentions, Poor Context (tpg)15649
accessibility, microcontent, images, buttons, links
Documentation and Migration: From Vue 2 to Vue 315648
videos, interviews, vuejs, documentation, migrating
Attaching Notes to Git Branches15647
git, documentation
Design Tokens Demystified15646
components, design-tokens, design-systems
FastHTML: Revolutionizing Web Development With Python (raj)15645
frameworks, fasthtml, python, web-apps
Announcing Official Puppeteer Support for Firefox (moz)15644
browsers, mozilla, firefox, puppeteer, support
WCAG 2.2 Map by Theme (hic)15643
accessibility, wcag, standards
W3C Opens Community-Wide Survey (w3c)15642
surveys, w3c, community
The “abbr” Element (hey)15641
html, semantics, accessibility
Snippets in Svelte 5 (ada/fro)15640
svelte
Migrating From Netlify to Cloudflare for AI Bot Protection (sia)15639
migrating, netlify, cloudflare, bots, ai, security
Moderated and Unmoderated User Testing: The Differences15638
usability, testing, comparisons
The Great npm Garbage Patch15637
dependencies, npm, spam, security
The Art of Dithering and Retro Shading for the Web (max)15636
dithering, effects, javascript
Disability Data Alarmingly Absent From AI Algorithmic Tools, Report Suggests (for)15635
accessibility, ai, tooling
Creating a Personal Brand: How to Sell Yourself as a Developer15634
how-tos, career, branding
Shifting From Delivery Mode to Product Management: Shifting the Focus of Your Sprint Review15633
agile, scrum, processes, product-management, engineering-management
Video With Alpha Transparency on the Web (jaf)15632
multimedia, transparency+opacity, backgrounds
5 Ways to Fail at Managing Tech Debt15631
technical-debt, maintenance, refactoring, strategies
What Is a Component Library and Should You Build Your Own? (and)15630
components
Verso: A Web Browser That Plays Old World Blues to Build New World Hope (sig)15629
videos, verso, browsers
The Sneaky Costs of Scaling Serverless (zac)15628
scalability, serverless, economics, vercel, aws, comparisons
The Role of Generative AI in Shaping Next-Gen UX Strategies (uxm)15627
ai, user-experience, design, strategies
The Moral Implications of Being a Moderately Successful Computer Scientist and a Woman (ire)15626
community, ethics
Should Your Website Work Without JavaScript? (wes/syn)15625
videos, javascript, support
Let’s Make a Simpler, More Accessible Web (cod)15624
web, web-platform, tooling, simplicity, usability, accessibility, optimization
It’s Time to Talk About “CSS5” (uti/sma)15623
css, w3c
Is CSS Grid Really Slower Than Flexbox? (ben)15622
performance, css, grids, flexbox, layout
HTML Web Components Can Have a Little Shadow DOM, as a Treat (sco)15621
html, web-components, shadow-dom, dom
Figma Typography Variables (fro)15620
figma, typography, variables
Drupal 11 and Beyond15619
drupal
101 React Tips and Tricks for Beginners [and] Experts15618
react, tips-and-tricks, best-practices
The Benefits of Learning Programming as a Designer15617
design, career, learning, programming
How to Keep IA Projects From Going Off the Rails (jar)15616
information-architecture
European Accessibility Act Requires Culture to Shift! (cer)15615
accessibility, legal, eaa, culture, leadership
AT Is More Than Screen Readers (aar)15614
accessibility, assistive-tech, screen-readers, terminology, concepts
AI Act Is Here (alv)15613
ai, legal
Ontology Engineering for Beginners15612
owl, tooling
Setting Up CI/CD for Flutter Apps15611
flutter, ci-cd, automation
Programming, I Hate It15610
programming, career
How to Make the Internet More Accessible15609
how-tos, web, accessibility
Attitudes to Digital Accessibility 202415608
surveys, accessibility
Beyond React: How Astro and Its Server Islands Work15607
astro, frameworks, architecture
Tabs, Used Right (nng)15606
design, design-patterns, navigation, usability
What if You Used Container Units for… Everything? (chr/fro)15605
css, units, container-queries
Who Is the Fastest? Node.js, Bun.js, or Deno.js (tre)15604
performance, javascript, runtimes, nodejs, bun, deno, comparisons
What You Want Isn’t Always What You Want (cwo)15603
career
Types of Accessibility Approaches (a11)15602
accessibility, processes, career, collaboration
The Anchor Element (hey)15601
html, links, semantics, terminology, usability
“stripes()”: The Border Function You Never Knew You Needed (jos)15600
css, functions, borders
Mastering Next.js: The Ultimate Guide to Structuring Large-Scale Projects in 202415599
guides, nextjs
Advanced Use Cases of the Node.js Native Test Runner (app)15598
nodejs, testing
Figma and the Cost of Collaboration15597
figma, collaboration
The Evolution of Attention15596
design, case-studies
Cloudflare Once Again Comes Under Pressure for Enabling Abusive Sites (dan/ars)15595
cloudflare
Browsers, Cookies, and Surfing the Web: The Quirky History of Internet Lingo (moz)15594
web, terminology, history
The Anatomy of Accessible Forms: Best Practices (deq)15593
accessibility, forms, html, best-practices
New CSS Logo? (arg)15592
discussions, css
HTML Web Components Make Progressive Enhancement and CSS Encapsulation Easier (css)15591
html, web-components, principles, solid, progressive-enhancement, examples
How to Build a Multilingual Website With Nuxt.js (sma)15590
how-tos, nuxt, internationalization
How I Use “AI”15589
ai, productivity, examples
How to Stop Form Spam Bots With Honeypot Fields15588
spam, bots, forms
The Future Is Up for Grabs When Anyone Can Make Designs15587
design, ai
Nike’s $25B Blunder Shows Us the Limits of “Data-Driven” (pav)15586
product-management, metrics
Interop 2024: Chrome at 100% for the Accessibility Focus Area15585
interoperability, browsers, google, chrome, accessibility
Does Screen Time Help or Hinder Creativity? (its)15584
creativity, productivity
How Google Handles JavaScript Throughout the Indexing Process15583
google, seo, web-apps, javascript, history, rendering
Using Postman for API Documentation: All You Need to Know15582
apis, documentation, postman
Replacing jQuery UI Datepicker With HTML Date Input (chr)15581
jquery, html
Reading From the Clipboard in JavaScript (ray/fro)15580
javascript
Decoding WCAG: “Change of Context” and “Change of Content” (web)15579
accessibility, wcag, standards
A Handful of Reasons JavaScript Won’t Be Available (bel/pic)15578
javascript, support
Why You Should Ship Your App, Even if It Sucks15577
web-apps, productivity
Faster Continuous Integration Builds at Canva15576
ci-cd, efficiency, optimization, case-studies
New to the Web Platform in July (rac)15575
release-notes, web-platform, browsers, mozilla, firefox, apple, safari, google, chrome
Standardization Stories (fan/css)15574
videos, web-platform, css, collaboration, standards
On Mapping the World of Frontend Development (j9t)15573
cross-posts, web-platform, learning, community, frontend-dogma
Misfire (sli)15572
web-platform, cookies, privacy, w3c
Instead of Restricting AI and Algorithms, Make Them Explainable (mfo)15571
ai, algorithms
“git push --force” and How to Deal With It (env+/evi)15570
git
Garbage Collection and Closures (jaf)15569
javascript, functions, closures, garbage-collection
Frontend Security Checklist (tre)15568
security, checklists, react
Developing a RACI Matrix for Accessibility (kar)15567
accessibility, processes, project-management
Websites Are Blocking the Wrong AI Scrapers (Because AI Companies Keep Making New Ones) (404)15566
ai, scraping, robotstxt
Flexible Network Data Preloading in Large SPAs15565
performance, single-page-apps, client-side-rendering, data-fetching, preloading
Why Unknown Types Are Useful15564
programming, typescript
What We Got Wrong About HTTP Imports (tin/den)15563
deno, jsr
WebKit Features in Safari 17.6 (jen/web)15562
release-notes, browsers, apple, safari, webkit
WebGPU (kai+/w3c)15561
webgpu, standards
WCAG, VPAT, S508, Level A—What on Earth? (int)15560
accessibility, standards, legal, terminology, wcag, vpat-acr, section-508
Vue and Vite Updates (eva)15559
videos, vuejs, vite
Top 20 JavaScript Tricks and Tips for Every Developer15558
javascript, tips-and-tricks
Third-Party Cookies Have Got to Go (had/w3c)15557
cookies, privacy, web-platform
The Art of Clean Code: Mastering the SOLID Principles15556
quality, principles, solid
Servo: A Web Rendering Engine for the Future (reg/iga)15555
videos, browser-engines, servo
Patterns for Memory Efficient DOM Manipulation With Modern Vanilla JavaScript (fro)15554
javascript, memory, dom, software-design-patterns
Have It All: External, Styleable, and Scalable SVG (sco)15553
images, svg, css
Accessible Heading Structures for Home Pages (pop)15552
accessibility, headings, homepages
Designing for Forgiveness: How to Create Error-Tolerant Interfaces15551
design, interaction-design, errors, user-experience
User “Wants” vs. Accessibility (tem)15550
accessibility, usability
Laravel vs. Rails for JavaScript Developers15549
videos, laravel, ruby-on-rails, comparisons
Is It Okay to Make “connectedCallback” Async? (nol)15548
javascript, callbacks, asynchronicity, web-components
From Parcel to Vite: A Short Story of a 100K LOC Migration15547
migrating, parcel, vite
Building an “npm create” Package (ach)15546
npm
Automated Ways to Security Audit Your Website15545
security, auditing, automation, tooling
You Can Run Java Like Python Now15544
java, python
The Infuriating Inefficiency of Accessibility Audits (yat)15543
accessibility, auditing, efficiency
Popover API 101 (ami)15542
introductions, pop-overs, apis
A Different Way to Think About TypeScript15541
typescript
Green Accessibility for Web Developers15540
videos, accessibility, sustainability
Why the jQuery Creator Uses React and TypeScript (jer+/syn)15539
podcasts, interviews, react, jquery, typescript
What I Learned From Making My Own Design System (pjo)15538
design-systems, lessons
What a New Accessibility Class Action Lawsuit Means for Agencies15537
accessibility, legal, business-relations
V8 JavaScript Engine: Let’s Read the Code (ant)15536
videos, v8, javascript-engines, javascript
Node.js Adds Experimental Support for TypeScript (sar/soc)15535
nodejs, typescript, experiments
Information Scent: How Users Decide Where to Click15534
information-scent, links, navigation, usability
Secure Node.js Applications From Supply Chain Attacks15533
nodejs, security, best-practices, dependencies
Closing the Designer–Developer Gap15532
design, career, collaboration, processes
Benchmarking AWS Lambda Cold Starts Across JavaScript Runtimes (den)15531
deno, aws, serverless, lambda, javascript, runtimes, performance, comparisons
Assessing Components and Patterns for WCAG 2.215530
accessibility, wcag, components, design-patterns
Measuring Design System Compliance of Your Teams15529
design-systems, compliance
Why Designers Don’t Like Design Systems15528
design, design-systems, creativity
Vanilla React15527
videos, react, routing
The User Location Is a Lie (aus)15526
geolocation, javascript, apis
The “of S” Syntax in “:nth-child()” (mat)15525
css, selectors
React for Two Computers (dan)15524
videos, react
Pop(over) the Balloons (css)15523
html, disclosure-widgets, pop-overs, css
Let’s Break React’s Rules15522
videos, react, hooks
How to Get the Width/Height of Any Element in Only CSS (css/fro)15521
css
Cross Platform React15520
videos, react, native, outlooks
And Now You Understand React Server Components (ken)15519
videos, react, components
AI Crawlers Need to Be More Respectful (eri/rea)15518
ai, crawling, traffic, metrics
Designing Design Systems: Constructing an Icon System (ado)15517
design, design-systems, icons, images, case-studies
Understanding AbortController in Node.js: A Complete Guide (bet)15516
guides, nodejs, javascript
Growing a Design System Organically15515
design-systems, case-studies, scalability
What to Expect When You’re Optimizing (tka)15514
performance, optimization
The AI Job Interviewer Will See You Now15513
ai, hiring, career
Rust Is Revolutionizing JavaScript Development15512
bundling, tooling, rust, javascript
My Favorite Interview Questions for QA Engineers15511
interviewing, quality
Improved Error Messaging for “require(esm)” in Node.js (zac)15510
eleventy
Why Not All Voices Should Be Equal in the Design Process15509
design, policies, prioritization, dei
What’s New in WebGPU (Chrome 127)15508
release-notes, webgpu, browsers, google, chrome
CSS “font-size-adjust” Is Now in Baseline (rac)15507
css, typography, browsers, support, web-platform
The Backlash Against AI Scraping Is Real and Measurable (404)15506
ai, scraping, robotstxt
How to Choose the Best Rendering Strategy for Your App15505
how-tos, rendering, strategies, server-side-rendering, client-side-rendering, incremental-static-regeneration, comparisons
Math4Devs15504
websites, javascript, math
Learn CSS Grid First (5t3+/odd)15503
videos, css, grids, layout
Introduction to XAML: A Beginner’s Guide15502
introductions, guides, xaml
CSS Scroll Snap Module Level 2 (tab+/w3c)15501
standards, css, scrolling
Clip Pathing Color Changes (chr/fro)15500
css, clipping, masking, colors
What’s New for JavaScript Developers in ECMAScript 202415499
javascript, ecmascript, standards, promises, unicode, webassembly
How to Create Fake Back-End Using IndexedDB15498
how-tos, databases, indexeddb, browser-storage, javascript
Why You Should Have a Brag Document15497
career, documentation
A New Path for Privacy Sandbox on the Web15496
browsers, google, chrome, cookies, privacy, apis, web-platform
Seriously, You Need to Learn Git (der)15495
git, command-line
“Practical SVG” Is Now Free to Read Online (chr)15494
books, images, svg
Learn Web Components (and)15493
websites, courses, web-components, html, css, dom, javascript
50 TypeScript F*ck Ups15492
books, typescript, mistakes
20 Super Useful CSS Animation Libraries15491
css, animations, libraries, link-lists
Flutter Unit Testing: Understanding “setUp()” and “setUpAll()”15490
flutter, testing
So You Think You Know Box Shadows?15489
shadows, javascript
Better Ways to Use Async Functions in JavaScript15488
javascript, asynchronicity, functions, promises
After CrowdStrike, Programmers Deserve Consequences15487
programming, career, quality
CSS Grid Areas (sha)15486
css, grids, layout
State of Developer Experience 202415485
research, developer-experience
Providing Type Definitions for CSS With “@property” (5t3)15484
css, custom-properties
Macro vs. Micro Conversions (nng)15483
user-conversion, concepts, comparisons
Architecture in an Agile World (may)15482
architecture, agile, processes
State of React 2023 [Results] (sac/dev)15481
surveys, metrics, react
Why Is Spawning a New Process in Node So Slow? (val)15480
nodejs, performance, comparisons