Frontend Dogma

News and Tools for Frontend Developers (17)

→ Stay up-to-date on all topics by RSS feed, on Mastodon and Bluesky, or through other channels

Entry (Sources) and TopicsDate#
React Router v6: A Beginner’s Guide (jch/sit)10009
, ,
Surprising Facts About New CSS Selectors (spa/clo)10008
,
Comparing MySQL, PostgreSQL, and MongoDB (ver)10007
, , , ,
The Role of Prototyping in UX Design: From Wireframes to Interactive Mockups (cma/uxm)10006
, ,
How to Build a Server-Side React App Using Vite and Express (pau/the)10005
, , , ,
Removing List Styles Without Affecting Semantics (mat)10004
, , ,
How to Use npm Packages Outside of Node (neo)10003
, , ,
Default Layouts in 11ty (rem)10002
GitLab CI Optimization: 15+ Tips for Faster Pipelines (zen)10001
, , , ,
“git rebase”: What Can Go Wrong? (b0r)10000
How Creating Content as a Developer Changed My Life (cha)9999
,
Understanding React Error Boundary (sit)9998
To Hell With the Business Case (mat)9997
, ,
WCAG 2.2 Will Be a Part of EN 301 549 and With That a Part of WAD and EAA (cer)9996
, , , ,
Understanding CORS (sou)9995
,
GitHub Copilot Now Generates AI Commit Messages (ami)9994
, , ,
How to Do a TypeScript Conversion (chr)9993
, , , , ,
Totally Remdom, or How Browsers Zoom Text (mat)9992
, , , ,
An Accessibility Bookmarklet for Testing 200% Text Size (ash)9991
, ,
Workarounds for Buggy Gradients (kei)9990
, ,
Messing About With CSS Gradients (mic/css)9989
,
Performance in React and Next.js (lyd/ver)9988
, , ,
Can AI Help Boost Accessibility? These Researchers Tested It for Themselves (uw)9987
, , ,
How to Write Good Alt Text for Screen Readers (cra)9986
, , , , ,
Answers to Common (Web) Accessibility Questions (hdv)9985
Why You Should Use “px” Units for Margin, Padding, and Other Spacing Techniques (ash)9984
, , ,
Shadow DOM on Regular Elements (kiz)9983
,
“:fullscreen” Demo Without JavaScript (yoo)9982
,
10 Best Web Development Stacks9981
,
Use the CSS “:disabled” Pseudo-Class Instead of the “[disabled]” Attribute Selector to Match Disabled Form Controls (sim/web)9980
, ,
How to Use the Fetch API in Node.js, Deno, and Bun (cra/sit)9979
, , , , , ,
Content Negotiation in Practice (luk/sof)9978
, ,
In Quest to Defeat Euro Red-Tape, Apple Said It Had Three Safari Browsers—Not One (tho/the)9977
, , , ,
Don’t Turn a Table Into an ARIA Grid Just for a Clickable Row (aar)9976
, , , ,
Information vs. Experience: How to Build Mature Design Systems (uxd)9975
, ,
Getting Started With NVDA (had)9974
, , , ,
The People Who Ruined the Internet (msa/ver)9973
, ,
Speeding Up the JavaScript Ecosystem—Tailwind CSS (mar)9972
, ,
Breaking Down a Design (jam)9971
One HTML Tag, Thirty+ CSS Drawings—My Divtober 2023 Collection (alv)9970
,
Learn Performance (kev+/dev)9969
,
Dark Visitors (ghk)9968
, , ,
Blinded by the Light DOM (mey)9967
, , ,
Confusing Git Terminology (b0r)9966
,
A Comprehensive Guide to Data Engineering9965
,
How Bear Does Analytics With CSS9964
, , ,
The Dangers of Doomscrolling for Designers and How to Break Free (web)9963
Release Notes for Safari Technology Preview 182 (jon/web)9962
, , ,
The “prefers-reduced-transparency” Media Feature (mat)9961
, ,
Personal-Scale Web Scraping for Fun and Profit9960
, , ,
Understanding Cookies (lyd/ver)9959
Response Code Cheat Sheet for Laravel HTTP Client (ami)9958
, ,
Technical Standards Bodies Are Regulators (mno)9957
, ,
0 KB Social Media Embeds (chr)9956
,
Remix ❤️ Vite (pca+/rem)9955
, ,
Accessibility by Degrees (tem)9954
,
Why Signals Are Better Than React Hooks (dev)9953
, , , , ,
2023: 0 of the Global Top 100 Websites Use Valid HTML (j9t)9952
, , , ,
Better Dynamic Themes in Tailwind With OKLCH Color Magic (dk+/evi)9951
, , ,
Answering Common Questions About Interpreting Page Speed Reports (geo/sma)9950
,
A Complete Guide to LangChain in JavaScript (mat/sit)9949
, , ,
Mobile-First Indexing Has Landed—Thanks for All Your Support (joh/goo)9948
, , ,
Interop 2023 October Update (rac/dev)9947
, , ,
What Exactly Is “Modern” CSS? (geo)9946
Effective Strategies for Optimizing Performance (the/sit)9945
, ,
20 Effective Tips to Speed Up Your Drupal Website (ins/clo)9944
, , ,
Don’t Disable Buttons (cfe)9943
, ,
The New CSS Math: “rem()” and “mod()” (dan)9942
, ,
A Guide to Using MSSQL With Node.js (sit)9941
, , ,
Is Express Still “De Facto” for Building Node Backends? (scs)9940
,
Unit-Testing: The Unsung Hero of Code Quality (rah)9939
,
View Transitions and Stacking Context: Why Does My CSS View Transition Ignore “z-index”?9938
, , ,
An Introduction to Working With SVGs in React (sit)9937
, , ,
Let’s Reinvent the Wheel (vas)9936
, , , ,
Why Is node_modules Heavier Than the Universe? (fai)9935
Keep Pace With Modern JavaScript (mat)9934
,
You’re Gonna Need a Bigger Browser (rob)9933
, , ,
How to Find a Developer Job in 2023 (With Little or No Experience) (the)9932
,
State of React 2023 (sac/dev)9931
,
So You’ve Been Publicly Accessibility-Shamed (dav)9930
, ,
AI as a UX Assistant (rbu/nng)9929
,
How Often Should You Redesign Your Website? (byt)9928
, ,
Liquid vs. Headless: A Look at Real User Web Performance (sia/sho)9927
, , , ,
Some Sensible Defaults for Your “img” Elements (css)9926
,
What the !#@% Is a Passkey? (j4c/eff)9925
,
Next.js 14 (lee+/nex)9924
,
HTML vs. DOM? Let’s Debug Them (jec/dev)9923
, , , ,
Introduction to htmx (ref)9922
,
Introduction to Real-Time Communication in PHP Laravel (bha/cod)9921
,
Performance Optimization With Worker Threads Node.js9920
, , ,
Deprecation of Formatting Rules (nza/esl)9919
, , , ,
Arrays—Implementation in JavaScript (ani)9918
,
Why I Won’t Use Next.js (ken/epi)9917
,
Secret Scanning Scans Public npm Packages (git)9916
, , ,
Testing and Code Quality in Node.js (mad/hon)9915
, ,
Astro 3.4: Page Partials (eri+/ast)9914
,
20 Simple Ways to Style the HTML “details” Element (ral/sit)9913
,
Sheet, Dialog, or Snackbar—What Should a Designer Go For? (mir)9912
, ,
Data Engineering Essentials #1: Your First Pipeline (jal)9911
,
Understanding SC 2.4.11 “Focus Not Obscured (Minimum)” (art/dig)9910
, ,
CSS “prefers-reduced-transparency” (arg/dev)9909
, ,
WebKit Features in Safari 17.1 (jen/web)9908
, , , ,
Vue.js (Vue v3) for Beginners (the/thi)9907
, ,
Web Components Will Outlive Your JavaScript Framework (jak)9906
, ,
What Does the “A” Mean in “DEAI”? (mni)9905
,
Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators (deq)9904
, , , ,
A Comprehensive Guide to Django Caching (adh/sit)9903
, ,
My Problem With Using TypeScript in 2023 (jam)9902
,
Change Project, Change Node Version, Let .nvmrc Help You9901
,
Complex MPA View Transitions (tyl)9900
, ,
It’s 2023, Here Is Why Your Web Design Sucks (hbu)9899
, ,
Goodbye, Node.js Buffer (sin)9898
JavaScript Is Enabled by Default in Web Browsers (jim)9897
, ,
HTML Meta Tags9896
,
In Defense of Learning on Company Time (isa)9895
,
CSS “text-wrap: pretty” (arg/dev)9894
, , , , ,
Release: Yarn 4.0 (arc/yar)9893
,
Navigating the Ethical Complexities of Personalized User Experiences: Balancing Innovation With Privacy and Consent (uxm)9892
, , , ,
Splitting Within Selects (aar)9891
, , , ,
Tailwind vs. Semantic CSS (tip)9890
, , , , ,
Solved by CSS Scroll-Driven Animations: Style an Element Based on the Active Scroll Direction and Scroll Speed (bra/bra)9889
, ,
Unlocking JavaScript Design Patterns: Mastering Singleton for Ultimate Code Efficiency (br)9888
, ,
Stop Waiting (jha)9887
,
JavaScript Anti-Pattern: Self-Documenting Code (cfe)9886
, ,
Svelte by Example (seb)9885
, ,
Changing Colors in an SVG Element Using CSS and JavaScript (kir)9884
, , ,
Igalia Chats: Web History Part VI (stu+/iga)9883
, ,
Select Element: Now With Horizontal Rules (una/dev)9882
, , , , , , , ,
What Removing Object Properties Tells Us About JavaScript (mon/sma)9881
,
JavaScript Decorators: An In-Depth Guide (bib/sit)9880
,
Accessibility Improvements for User-Agents (ala)9879
, , ,
Strikethrough Accessibility (den/web)9878
, , ,
Global Encryption Day: Encryption’s Critical Role in Safeguarding Human Rights (tor)9877
, ,
Using ChatGPT, GitHub Copilot, and Phind to Generate Tailwind Config for Width Classes (luc)9876
, , , , ,
Using ChatGPT for Smart Truncation in Responsive Web Design (sol)9875
, , , ,
Embedding Accessibility Into Code Reviews (web)9874
, , ,
Finding the Primary Branch of a Git Repository (ami)9873
Is CAPTCHA Accessible? (ial)9872
,
When to Use CSS “text-wrap: balance;” vs. “text-wrap: pretty;” (sea)9871
, ,
What Should Be the Contrast Level of Inactive Buttons? (uxd)9870
, , ,
How Do You Even Web Dev Without Node? A Quick Introduction to Test-Driven Web Development Using Just the Browser (bal)9869
,
The Need for Recognition in Open Source (bek/ope)9868
, , ,
How to Collaborate on Pull Requests for Beginners (cod/ope)9867
, ,
How to Map a Number Between Two Ranges (hen)9866
, ,
Why Unique ID Attributes Matter (deq)9865
, , ,
Prodding Firefox to Update “:has()” Selection (mey)9864
, , , ,
Don’t Do It on Frontend or… Frontend Good Practices for Devs (luc)9863
, , ,
I Asked People to Make This Simple Layout and Was Surprised by the Results (kev)9862
, , ,
Web Accessibility Strategies for Non-Accessible Projects (bol/inf)9861
, , ,
Does the HTML “hr” (Horizontal Rule) Benefit Screen Reader Users? (art/dig)9860
, ,
Do We Need State Management in Angular?9859
,
The Inverse Value of UX and Art (uxd)9858
,
Solid.js Creator Outlines Options to Reduce JavaScript Code (low/the)9857
,
Storybook 7.5 (msh/sto)9856
,
Release Notes for Safari Technology Preview 181 (jon/web)9855
, , ,
The New “light-dark()” Function to Switch Theme Color in CSS (ami)9854
, ,
On the Uniting Power of a Commitment to HTML Conformance (j9t)9853
, , , ,
How to Animate Along a Path in CSS (rps/sma)9852
, ,
Synchronizing Figma Variables With Design Tokens (nat)9851
, , ,
Color Contrast Accessibility Tools With Examples (pop)9850
, , , , ,
Transition Animations: A Practical Guide (dqd)9849
, , ,
A Couple of New CSS Functions I’d Never Heard Of (chr)9848
,
React Design Patterns (nec/ref)9847
,
Burn Your Toast (eri)9846
, ,
How to Use SEO to Build Long-Term Brand Recognition and Visibility (adr/moz)9845
, ,
The Nuances of Base64 Encoding Strings in JavaScript (mat)9844
,
The True Cost of Not Prioritizing Accessibility: Avoid Risk and Maximize Product ROI (slo/ple)9843
, , ,
Node.js 21 Available Now! (ope)9842
,
Start Styling Your “console.log()” Messages in DevTools (zor/css)9841
, , , ,
Design System Documentation Sucks—How We Can Do Better (nes)9840
,
The Three Cs: Concatenate, Compress, Cache (css)9839
, ,
“JavaScript Is Weird” as a Compressor (mga)9838
,
Ensuring Negative Numbers Are Available for Everyone (mfa+/deq)9837
, ,
Common Vue.js Development Mistakes and How to Avoid Them (bio)9836
,
Link Colors and the Rule of Tincture (hob)9835
,
2.4.11: Adversarial Conformance (aar)9834
, ,
Scroll-Driven State Transfer (kiz)9833
,
CSS Findings From Photoshop Web Version (sha)9832
, , , ,
Bubble Sort… in Pure CSS? (No JS) (gra)9831
, ,
How to Style Element Descendants With Tailwind CSS (ste)9830
,
Forget Twitter: WordPress.com Blogs Can Now Connect to Mastodon (rob/pcm)9829
, , ,
44 React Frontend Interview Questions9828
,
How We Optimized Package Imports in Next.js (shu/ver)9827
, , ,
The Negative Impact of Mobile-First Web Design on Desktop (kim+/nng)9826
, , , , ,
Button Labels: Is “OK” Ok? (uxd)9825
, , , ,
Organizing Multiple Git Identities (gar)9824
What’s New in CSS? (bra/bra)9823
Scrollbars Are Becoming a Problem (art)9822
, ,
Unpopular Opinion: It’s Harder Than Ever to Be a Good Software Engineer (jur)9821
,
Astro 3.3: Picture Component (nm+/ast)9820
,
New Release: Tor Browser 13.0 (tor)9819
, ,
Why Companies Kill Great Design (ole/uxd)9818
Honor User’s Transparency Setting in CSS (ami)9817
, , ,
Using CSS Custom Properties Like This Is a Waste (kev)9816
, ,
Digital Accessibility Blogs and Newsletters (ons/tpg)9815
,
Quick Tip: Creating Polymorphic Components in TypeScript (ste/sit)9814
, ,
Back/Forward Cache (phi+/dev)9813
, , , ,
Let’s Prototype a JavaScript JIT Compiler (awe)9812
, , ,
Introduction to Web Sustainability (mic/mdn)9811
,
WooCommerce vs. Shopify: Which Is the Better Choice for You? (sit)9810
, ,
We Need Web Progress, Not Pessimism (kev)9809
,
Styling External Links With Attribute Selectors (mic/css)9808
, , ,
CSS Relative Color Syntax (arg/dev)9807
, ,
Why Naming Is #1 Skill for Writing Clean Code (mar/was)9806
, ,
Skip Links on ikea.com (mat)9805
, ,
You Can’t Get Faster Than No Build (dhh/37s)9804
,
Designing for All: The Basic Principles of Web Accessibility (sit)9803
, , , ,
Preventing and Debugging Memory Leaks in Node.js (sta/bet)9802
, ,
The Global “innerWidth” and “innerHeight” Properties Return the Width and Height of the Layout Viewport (sim/web)9801
, , ,
Hashnode’s Overall Architecture (san/has)9800
,
5 Best Practices for Preventing Chaos in Tailwind CSS (nin+/evi)9799
,
Greenwashing and the COP28 Website (mic/css)9798
,
The Selected Date Must Be Within the Last 10 Years (ger/clo)9797
, ,
Images on the Web (lyd/ver)9796
, , , , , , ,
AI Could Soon Need as Much Electricity as an Entire Country (e/nyt)9795
,
Local HTTPS for Next.js 13.5 (ami)9794
, , ,
How to Promote Your Website: 12 Free Methods That Work (sem)9793
, , , , , , , ,
Adding Search to an Eleventy Site Without Client-Side JavaScript (mez)9792
, , ,
The Future of CSS: Easy Light-Dark Mode Color Switching With “light-dark()” (bra/bra)9791
, ,
Obligatory WCAG 2.2 Launch Post (aar)9790
, ,
Why the Internet Isn’t Fun Anymore (cha/new)9789
,
Inclusivity in the Digital Age: The Importance of Accessibility Advocacy (uxm)9788
, , ,
Extending the Properties of an HTML Element in TypeScript (ste/sit)9787
, ,
CSS-Only Scroll-Driven Animation and Other Impossible Things (bra+/lwj)9786
, ,
Speeding Up the JavaScript Ecosystem—the Barrel File Debacle (mar)9785
, ,
The Hidden Performance Cost of Node.js and GraphQL (uts)9784
, ,
Node.js vs. Django: Which Is Better for Web Development in 2023? (sit)9783
, ,
Don’t Use Fixed CSS “height” or “width” on Buttons, Links, or Any Other Text Containers (ash)9782
, , , ,
Naming Variables in CSS (doc)9781
, ,
CSS 3D Text Effects9780
,
Welcome WCAG 2.2 and Goodbye Success Criterion 4.1.1 “Parsing” (cer)9779
, ,
How Did You Switch From JavaScript to TypeScript?9778
, , ,
Table of Contents: The Ultimate Design Guide (mat/nng)9777
, , ,
Which Is the Best Image Format for Your Website? (ima)9776
, , , , , ,
Demystifying WCAG 2.2 (nat/vig)9775
, ,
Quick Tip: Decorators in TypeScript (ste/sit)9774
,
Writing Accessible Form Messages (ons)9773
, ,
WCAG 2.2 and Validation (sei)9772
, , ,
The Nonvisual Website (ang)9771
,
WCAG 2.2 Is Now a Published Web Standard (sha)9770
, , , ,
When to Nest CSS (spa/clo)9769
,
What Happened to Separation of Concerns in Frontend Development (j9t)9768
, , , ,
An Anchored Navbar Solution (mey)9767
, ,
What’s New in WCAG 2.2 (pat/tpg)9766
, , ,
Understanding XSS Attacks (lyd/ver)9765
,
Web Content Accessibility Guidelines (WCAG) 2.2 (ala+/w3c)9764
, , ,
GitHub Actions: “NODE_OPTIONS” Is Now Restricted From “GITHUB_ENV” (git)9763
, , ,
WCAG 2.2 Is Now a W3C Recommendation (den)9762
, ,
Intopia Launches WCAG 2.2 Map (chr/int)9761
, ,
React Micro-Frontends Using Vite9760
, ,