Frontend Dogma

News and Tools for Frontend Developers (17)

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

Entry (With Sources) and TopicsDate#
JPEG and EXIF Data Manipulation in JavaScript (cpa/get)8876
, ,
Gradients, Blend Modes, and a Really Cool Hover Effect (rps/sma)8875
, ,
Medium vs. DEV vs. Hashnode vs. Hackernoon (nev)8874
, , ,
Rewriting Digital Content for Brevity (nng)8873
, , ,
Discover Bun—a Faster, Modern JavaScript Runtime (the)8872
, ,
Creating Dynamic README.md File (_ja)8871
,
Cool Tools (mic/css)8870
,
Running a Playwright Script on AWS Lambda (mat)8869
, , ,
Why Your Design System Needs a Component Process (nes)8868
, ,
How I Approach and Structure Enterprise Frontend Applications After 4 Years of Using Next.js (jos)8867
, ,
Bun, JavaScript, and TCO (ons)8866
, ,
Bun 1.0 (jar+/bun)8865
,
The Dangers of Deceptive Design Patterns (and How to Avoid Them) (web)8864
,
JavaScript WTF: Why Does “every()” Return “true” for Empty Arrays? (nza)8863
A New Method to Validate URLs in JavaScript (ste)8862
, ,
From Data-Driven to Decision-Driven (kyl/uxd)8861
, ,
CSS Lobotomized Owl Selector: A Modern Guide (dop/log)8860
, , ,
Building a Real-Time Chat With Websockets, Novel, and Clerk (nev/nov)8859
, , , , ,
CSS “display” Is a Multi-Keyword Property? (zor/css)8858
,
WOFF Has Left the Building (mat)8857
, , ,
Why Are We Not Still Using Tables-for-Layout? (rac)8856
, ,
Web Components Accessibility FAQ (mat)8855
,
The New Google Fonts: Find What You’re Looking For (tob/mat)8854
,
The “Array.prototype.every()” Method Always Returns “true” for an Empty Array (cfe)8853
,
Gulp vs. Webpack—What Is Better: Using Webpack or Gulp.js? (ine)8852
, ,
Delay, Sleep, Pause, and Wait in JavaScript (jch/sit)8851
Making Sense of React Server Components (jos)8850
,
Release Notes for Safari Technology Preview 178 (jon/web)8849
, , ,
Using Labeled Loops in JavaScript (ben)8848
Turbo 8 Is Dropping TypeScript (dhh/37s)8847
, ,
Long Live the Test Pyramid (lei/sma)8846
, ,
Is AI the Silver Bullet of Accessibility? (wec)8845
,
GoDaddy Retires Media Temple Brand (sar/wpt)8844
,
Four Common Types of Code Coverage (lei+/dev)8843
,
“Good Commit” vs. “Your Commit”: How to Write a Perfect Git Commit Message (vic/git)8842
, , , ,
Browser Video Players Review (aar)8841
, , , , , ,
8 Micro Tips for Remarkably Better Typography (mat/uxd)8840
, ,
The Perpetual Circle of Accessibility (tod)8839
,
Progressively Enhanced Form Validation: Custom Validation Messages (ger/clo)8838
, , ,
Node.js vs. Deno vs. Bun: JavaScript Runtime Comparison (sny)8837
, , , , ,
Node.js Includes Built-In Support for .env Files (phi)8836
, ,
First, Do No Harm: Mistakes to Avoid in Creating Accessible User Experiences (18f)8835
, ,
Essential Metrics for Click Testing (jef/mea)8834
, ,
Equivalent Experience Can Cut Both Ways (eri)8833
,
Compact HTML (dev)8832
CSS Frameworks Comparison: Bootstrap vs. Foundation vs. Materialize (biz)8831
, , , , ,
10 Things You Didn’t Know About HTML8830
Web Components Don’t Need You (chr/cod)8829
Understanding SSR, CSR, ISR, and SSG: A Comprehensive Guide (dji)8828
, , ,
Node v20.6.0 (soy/nod)8827
,
NODE_ENV Considered Harmful (cji)8826
,
Top Website Redesign Tips for 2023 (b12)8825
,
Style Is Consistent Constraint (kep)8824
,
On Productivity Metrics and Management Consultants (nor)8823
,
Information Architecture vs. Sitemaps: What’s the Difference? (sam/nng)8822
, ,
A Wide View of Automated Testing in React Apps (eri)8821
, ,
Why I Switched From Sublime Text to Visual Studio Code8820
, , ,
Small Details to Improve Your Website’s Experience (alv)8819
, , ,
Type Safe CSS Design Systems With “@ property” (arg)8818
, ,
A Beginner’s Guide to Eleventy (dza)8817
,
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Popovers and How to Build Them (hdv)8816
, , , ,
Three Dimensions of Developer Productivity (abi)8815
, , ,
JetBrains Qodana Review (dev)8814
,
Selecting the Scoping Root (mat)8813
,
Clocks and Countdowns: Timing in CSS and JavaScript (mad)8812
,
How to Make Charts and Graphs More Accessible (pop)8811
, , ,
An Introduction to the Laravel PHP Framework (cla/sit)8810
, , ,
Understanding Feature Flags: Improving Feature Management (pri/clo)8809
, ,
Things That Jakob’s Law Is Not (bri)8808
, ,
The Role of Cloud Computing in Web Development (iro)8807
Is Atomic Design Dead? (bra/fro)8806
, ,
Decoding WCAG: “Alternative for Time-Based Media” and “Media Alternative for Text” (jon/web)8805
, ,
Build a GraphQL Gateway: Combine, Stitch, or Merge Any Datasource (gra/sit)8804
,
Astro 3.0 (mat+/ast)8803
,
CSS Loaders (css)8802
, , ,
Why Do I Have Layout Shift? (una+/dev)8801
, ,
What Is the View Transitions API and How to Use It With Meta Frameworks (moj/bej)8800
, , ,
Tracking Errors in a Node.js Application (ris/app)8799
, ,
Connected Grid Layout Animation (crn/cod)8798
, , ,
Guide to Using Template Engines (Such as Twig) With PHP8797
, , ,
Accessibility Theater (tpg)8796
What Is Inclusion Anyways? Lessons From the Disabled Community8795
, , ,
Web Sustainability Guidelines (WSG) 1.0 (ale+/w3c)8794
,
Using “rem” Doesn’t Make Your Website Responsive—Here’s Why8793
, ,
Sustainable SEO: Processes and Practices (mig)8792
, , ,
Memorization and Learning to Code (byc/the)8791
, , ,
Let’s Make a Rubber Button With HTML, CSS and SVG (tyl/clo)8790
, , , ,
Getting Started With htmx: A Comprehensive Guide for Beginners (7do)8789
, ,
Case Study: Rebuilding TechCrunch Layout With Modern CSS (sha)8788
, ,
Git Uncommit (ami)8787
,
Benchmarks [for 24 CSV Parsing Approaches] (lee)8786
, , ,
Biome v1 (ema/bio)8785
,
Hover Triangles (may)8784
,
Why Are Websites Embarrassing? (fon)8783
,
Web Apps Are Better Than No Apps (yur)8782
Measuring Developer Productivity? A Response to McKinsey (ger+)8781
,
How to Implement SSL/TLS Pinning in Node.js (sny)8780
, , , ,
Five Optimization and Performance Tools That Enhance Website User Experience (min)8779
, , , ,
Building Accessibility Into Your Company, Team, and Culture (som/swi)8778
, ,
Announcing Cypress 13 With Test Replay (cyp)8777
,
An Overview of Feature Flags (log)8776
, , , ,
From User Needs to User Dreams: Find the Future of Your Product (arp/uxd)8775
, ,
Code Splitting in React: Optimize Performance by Splitting Your Code (shr)8774
, , ,
Single-Page Applications: Ember vs. Angular (sel)8773
, , ,
Six Reasons Not to Use React (jhe)8772
,
Realistic CSS Animations and the “linear()” Timing Function (kir)8771
, ,
Navigating Web Accessibility Litigation: Advice From a General Counsel (lev)8770
,
How I Write Alt Text for Code Snippets on Social Media (ben)8769
, , ,
Falling for OKLCH: A Love Story of Color Spaces, Gamuts, and CSS (geo/sma)8768
, ,
8 Habits That Hold Back Your Developer Potential (tho)8767
,
Co-Authoring Git Commits (cas)8766
, ,
Biases in Design: Hiding in Plain Sight in a World Full of Visuals (uxd)8765
Package-Based Architecture—Let’s Deliver the Packages (abh/goo)8764
, ,
State of CSS 2023 [Results] (sac+/dev)8763
,
Web UX: Study Guide (nng)8762
, , ,
Dark Mode: How Users Think About It and Issues to Avoid (tbk/nng)8761
, , ,
Accessible Navigation (emm)8760
,
Visualizing Recursion With the Sierpinski Triangle (kir)8759
, ,
Browser Automation With Puppeteer (sev)8758
, ,
Introducing the 100-Year Plan: Secure Your Online Legacy for a Century (pho/wor)8757
, , ,
WTF Is a Vector Database: A Beginner’s Guide (pav)8756
,
Where to Put Focus When Deleting a Thing (aar)8755
,
Scope vs. Shadow DOM (kei)8754
, , , , ,
Catching Errors Thrown From “connectedCallback” (nol)8753
, ,
European Accessibility Act: Article 32, and Why It Sucks (cra)8752
, ,
TypeScript 5.3 First Look (mat)8751
Stakeholder Management for Design Systems (luk/uxd)8750
, ,
What Are Exceptions to Section 508 Accessibility Requirements? (boi)8749
, ,
What Is Alt Text and How to Write It (tpg)8748
, ,
Main-ly Speaking (tod)8747
,
Announcing TypeScript 5.2 (dro/typ)8746
,
A More Intelligent and Secure Web (ple/w3c)8745
, , , , ,
Google August 2023 Broad Core Update Is Live—What We Are Seeing Now (rus/ser)8744
,
The Art of UX Writing (web)8743
, ,
Use Web Components for What They’re Good At (nol)8742
To Test or Not to Test, a Technical Perspective (lei/dev)8741
, ,
Pros and Cons of Using Shadow DOM and Style Encapsulation (mat)8740
, ,
How to Get 12% More LinkedIn Followers, Impressions, and Clicks—Practical Accessibility Tips and Tricks (at_/mni)8739
, , , ,
How Organisations Respond to Accessibility Monitoring (gov)8738
,
Block the Bots That Feed “AI” Models by Scraping Your Website (cla)8737
, ,
A Few Interesting Ways to Use CSS Shadows for More Than Depth (rps/sma)8736
, ,
Release Notes for Safari Technology Preview 177 (jon/web)8735
, , ,
A Guide to Migrating From Webpack to Vite (jch/sit)8734
, , ,
Debugging Speculation Rules (tun/dev)8733
, ,
A Quick Introduction to CSS “@ scope” (bra/bra)8732
, , ,
View Transitions Break Incremental Rendering (eee)8731
, ,
WebGlossary.info (j9t)8730
, , , ,
No One Actually Wants Simplicity (spo)8729
,
The Ideal Viewport Doesn’t Exist (lea+/set)8728
, ,
Two Important New Roles for UX Designers in the Era of AI (uxm)8727
, , ,
Patterns for Reactivity With Modern Vanilla JavaScript (1ma/fro)8726
,
Migrating From Color Styles to Local Variables in Figma (uxd)8725
, ,
Changes Over the Last 25 Years of UX Research (ano/uxm)8724
, ,
Can We Truly “Create” Value? (ian/uxd)8723
,
Writing Component Specs (eis)8722
, ,
All 12 “useState” and “useEffect” Mistakes Junior React Developers Still Make in 2024 (byt)8721
, ,
Progressively Enhanced Form Validation: Validating a Checkbox Group (ger/clo)8720
, ,
Please Size Your Inline SVGs (aar)8719
,
Bézier Curves (ekw+)8718
7 Reasons to Replace Advanced Search With Filters So Users Can Easily Find What They Need (ada)8717
, , ,
10 Essential VS Code Tips and Tricks for Greater Productivity (cod)8716
, , , ,
“We’re All Just Temporarily Abled” (jim)8715
The Definitive Guide to Web Personalization: Strategies, Tools, and More to Know (alg)8714
, ,
How to Make an Impact as a Developer Advocate (bla)8713
, , ,
Why htmx Does Not Have a Build Step (goo/htm)8712
,
Getting Started With SCSS—the CSS Preprocessor With Superpowers8711
, ,
Styling Links and Buttons (aar)8710
, , ,
Let’s Build a Website Using XML (ede)8709
,
Combining “:placeholder-shown” and “:has” (cri)8708
, ,
Identifying, Fixing, and Preventing Cannibalization (jon/moz)8707
Being “Polite” Does Not Ensure Access (dre)8706
,
A Beginner’s Guide to Using Pico CSS (dav/muo)8705
,
How to Use Headless Chrome in Serverless Functions With a 50 MB Limit (ste)8704
, , , , , ,
Scroll Shadows With “animation-timeline” (dav)8703
, ,
React Props: A Visual Guide8702
, ,
React JSX (sta)8701
,
Demystifying CORS: Understanding How Cross-Origin Resource Sharing Works8700
, ,
Adding a “Share to Mastodon” Link to Any Web Site (cod)8699
, , , ,
XUL and HTML (tim/moz)8698
, ,
“aria-haspopup” and Screen Readers (mat)8697
, , ,
A Deep Dive Into CSS “color-mix()” (kev)8696
, , ,
Why Do Users Prefer Certain Design? Insights From the Landscape Theory (cre)8695
The New CSS Math: “round()” (dan)8694
,
Tabs Are Objectively Better Than Spaces (cfe)8693
, ,
How to Use the CSS “gap” Property (ral/sit)8692
, ,
A Better “setTimeout()” in JavaScript (ami)8691
Four New CSS Features for Smooth Entry and Exit Animations (una+/dev)8690
, , , , ,
Towards HTTPS by Default (jde/dev)8689
, , , , ,
Thinking on Ways to Solve Adaptive Typography (arg/dev)8688
, , ,
Getting Started in a New Codebase (abb)8687
, ,
CSS-Only Syntax Highlighting… With a Single Element and Gradients (gra)8686
, ,
BEM Methodology Is Not About CSS (vit)8685
, ,
Accessibility Is Not Inclusive Design or Disability Rights—It’s a Part of It (yat)8684
, ,
Beginner’s Guide to Lists and How to Make Them Accessible (pop)8683
, , ,
New in Chrome 116: Document Picture-in-Picture API, “notRestoredReasons” Property, and More (tro/dev)8682
, , , ,
How Layout Position Impacts Three Big Web Performance Levers (sia/sho)8681
,
CSS Selectors: A Visual Guide (fff)8680
, ,
An Intro to the “dialog” Element (cfe)8679
, , ,
A Guide to Optimizing JavaScript Files (bib/sit)8678
, , , , ,
A Beginner’s Guide to SvelteKit (kue/sit)8677
,
WebAssembly: Byte-Code of the Future (jos)8676
Useable (rlb)8675
,
Progressively Enhanced Form Validation: Layering in JavaScript (ger/clo)8674
, , ,
How to Test Mobile Apps on a Real Device Cloud (sit)8673
, ,
Why Inclusive Language Matters in Coding (elv/uxd)8672
, , ,
Unveiling the Power of Code-Splitting With Webpack for React and Redux Applications8671
, , ,
Enhance vs. Lit vs. WebC… or, How to Server-Render a Web Component (jar/van)8670
, ,
Testing Your Animation Refresh Rate With CSS Crimes? (lun)8669
, ,
An “alt” Decision Tree Using Only “:has()” (aar)8668
, ,
Write About What You Learn—It Pushes You to Understand Topics Better (add)8667
, , ,
dependency-time-machine (pil)8666
, , , ,
Sophisticated, Highly-Targeted Attacks Continue to Plague npm (phy)8665
,
Debugging Rules: Understand the System (raj)8664
The Spectrum of Openness (hix)8663
, ,
Supercharge Your HTML With WebC (dav)8662
, ,
Nostalgia in UX Design (mar)8661
, ,
Designing Accessible Text Over Images: Best Practices, Techniques, and Resources II (hum/sma)8660
, , , ,
Balance in UX Design: Symmetry, Asymmetry, and Radial Balance (nng)8659
, ,
OKLCH in CSS: Consistent, Accessible Color Palettes (its/log)8658
, , , ,
Deprecating the “unload” Event (dre+/dev)8657
, , , ,
Browsers Barely Care What HTTP Status Code Your Web Pages Are Served With (cks)8656
, ,
WCAG 3.0: Further on Up the Road (ons/tpg)8655
, ,
Create Direction-Aware Effects Using Modern CSS (kev)8654
, ,
Google Tag Manager Performance: 9 Tips for Faster Site Speed (sin)8653
, , ,
Progressively Enhanced HTML Accordion (aar)8652
, , ,
An Introduction to the esbuild Bundler (cra/sit)8651
, ,
A Beginner’s Guide to CSS Grid Layout (ral/sit)8650
, , ,
Node.js’s Config Hell Problem (and/den)8649
, , , ,
It’s Time to End Damaging Website Design Practices That May Harm Your Users (ico)8648
, , , ,
Defining Test Cases and Priorities (lei/dev)8647
What Happens When You Select “count(*)” in MySQL (ami)8646
,
OpenAI Launches Web Crawling GPTBot, Sparking Blocking Effort by Website Owners and Creators (ven)8645
, , ,
8 Common Heading Questions (pop)8644
, ,
An Update on Chrome Security Updates—Shipping Security Fixes to You Faster (goo)8643
, , ,
What Does It Mean for Web Browsers to Have a Baseline (mar/the)8642
, ,
User-Adaptive Interfaces With “AccentColor” (oll)8641
,
My Experience Modernizing Packages to ESM (ace)8640
, ,
UX Is Not Dead, It’s Just Misunderstood (nat/uxm)8639
Micro Benevolences (est/ope)8638
, , ,
Lean UX and Agile: Study Guide (aka/nng)8637
, , , , ,
Definition of Done vs. Acceptance Criteria: What’s the Difference? (jas/res)8636
, , ,
An Introduction to htmx, the HTML-Focused Dynamic UI Library (jch/sit)8635
,
An Intro to State-Based UI With JavaScript (cfe)8634
, ,
200 Web-Based, Must-Try Web Design and Development Tools (j9t)8633
,
Alt Text Hall of Fame (ste/alt)8632
, , ,
OpenAI’s ChatGPT New Web Crawler—GPTBot (rus/ser)8631
, ,
Migrating My Blog From Gatsby to Astro (sap)8630
, ,
You Don’t Need a Mentor: Embracing the Power of Community (bek/sau)8629
, ,
How to Improve Performance of Your Database by Indexing Large Tables (amh)8628
, , ,
A Guide to Single-Page Application Performance (ray)8627
, , , ,