Frontend Dogma

News and Tools for Frontend Developers (8)

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

  1. The Free Software Commons (by) · · , ,
  2. Should Designers Code? (by) · · ,
  3. Managing User Focus With “:focus-visible” (by/via) · · , ,
  4. How to Make Your Website Work Offline (by) · · , , ,
  5. ESLint v9.0.0 Released (by/via) · · ,
  6. Drive-By Accessibility Tweaks (by) · ·
  7. DevTools Tips and Tricks (by/via) · · , ,
  8. Creativity in Software Engineering (by) · · , ,
  9. Breakpoints in Responsive Design (via) · · , ,
  10. “AI” Won’t Solve Accessibility (by) · · ,
  11. How to Strongly Type process.env (by) · · , ,
  12. JavaScript Visualized—Event Loop, Web APIs, (Micro)task Queue (by) · · , , , , ,
  13. When to Use “tabindex="0"” (by/via) · · , , ,
  14. The V8 Sandbox (by/via) · · ,
  15. The Basics of Legibility (by/via) · · , ,
  16. Rounded Tabs With Inner Curves (by) · · ,
  17. Modern CSS Patterns in Campfire (by/via) · · ,
  18. Heat Death of the Internet (by/via) · ·
  19. Building Components With Radix UI (via) · · ,
  20. AI and the Future of Web Accessibility Guidelines (by) · · , , , , ,
  21. A Complete Guide to CSS Logical Properties, With Cheat Sheet (by/via) · · , , ,
  22. Introducing Jpegli: A New JPEG Coding Library (by/via) · · , , , ,
  23. Wednesday, April 3, 2024 Security Releases (via) · · , ,
  24. Using JSON Web Tokens With Node.js (by/via) · · , , ,
  25. Theming Design Systems (by) · · ,
  26. The View Transitions API (by/via) · · , ,
  27. Svelte Parses HTML All Wrong (by) · · , ,
  28. In-Page Links: 3 Usability Tips (via) · · , , ,
  29. How to Build a Simple Web Server With Node.js (by/via) · · , ,
  30. Hanging Punctuation in CSS (by) · · ,
  31. Fluid Typography With Discrete Steps (by) · · ,
  32. Finally Understand Responsive Design · · , ,
  33. Building a Digital Fortress: How to Strengthen DNS Against DDoS Attacks? (via) · · ,
  34. BFCache Explained (by) · · ,
  35. “aspect-ratio” Gotcha (by) · · ,
  36. An Advanced Way to Use CSS Variables (by) · · ,
  37. AI and the Web: Understanding and Managing the Impact of Machine Learning Models on the Web (by/via) · · ,
  38. WordPress 6.5 “Regina” (by/via) · · ,
  39. WebAssembly at Google (by+/via) · · , ,
  40. Learn JavaScript (by/via) · · ,
  41. Infinite-Scrolling Logos in Flat HTML and Pure CSS (by/via) · · , , , ,
  42. How We’re Approaching Theming With Modern CSS (by/via) · · ,
  43. How to Get Somebody Fired Using Git (by) · · , ,
  44. Drawing a Line to Connect Elements With CSS Anchor Positioning (by/via) · · ,
  45. Authentication in Next.js (by) · · ,
  46. An Interactive Guide to CSS Container Queries (by) · · , ,
  47. What Even Is a JSON Number? (by) · · ,
  48. The Detail, the Quality (by) · · ,
  49. Micro Frontends With Native Federation (by) · · ,
  50. Bun 1.1 (by+/via) · · ,
  51. A Complete Guide for Content Creators to Start Making Accessible Content (via) · · , ,
  52. 14 Top UX Tools for Designers in 2024 (via) · · , ,
  53. Why I Use Node, Deno, Bun, [QuickJS], [txiki.js] at the Same Time · · , , ,
  54. Why I Care Deeply About Web Accessibility and You Should Too (by) · · ,
  55. The DevOps Basics (by) · · ,
  56. Object Structure in JavaScript Engines · · , ,
  57. Latest WebAIM’s Million—Some Thoughts (by) · ·
  58. Kobold Letters (by) · · , ,
  59. 10 JavaScript Sites Every Web Developer Should Know (by) · · , ,
  60. Some Samples Using UIkit (by) · ·
  61. Design Is a Process of Getting Stuck (by) · · ,
  62. “@ scope” Is Coming to CSS and It’s Amazing (by) · · , , ,
  63. What Negative Effects Does a Bad Website Design Have on My Business? (by/via) · · ,
  64. The WebAIM Million: The 2024 Report on the Accessibility of the Top 1,000,000 Home Pages (via) · · , , , ,
  65. The Power of “:has()” in CSS (by/via) · · ,
  66. The Easy Way to Access the Last JavaScript Array Element (by) · · ,
  67. The Curious Case of the CSS Monochrome Media Query (by) · · ,
  68. On “disabled” and “aria-disabled” Attributes (by) · · , ,
  69. Front-End Development’s Identity Crisis (by) · ·
  70. Figma Plugins (by) · ·
  71. New to the Web Platform in March (by/via) · · , , , , , , , ,
  72. What’s New in DevTools, Chrome 124 (via) · · , , , ,
  73. The Complete Guide to Captioned Videos (by) · · , , ,
  74. Release Notes for Safari Technology Preview 191 (by/via) · · , , ,
  75. Improving the Developer Experience of Enterprise Design Systems (by/via) · · , ,
  76. History of JS Interop in Dart (via) · · , , ,
  77. Finally Understanding How “Array.sort(comparator)” Works (by) · · ,
  78. CSS Color-Scheme-Dependent Colors With “light-dark()” (by/via) · · , , ,
  79. A Guide to Building CLI Tools in JavaScript (by) · · , , , ,
  80. What Even Are Dragging Movements? (by/via) · · , ,
  81. Meet Angular’s New “output()” API (by/via) · · ,
  82. Iterator Helpers (via) · · , , ,
  83. In-App Browsers Are Still a Privacy, Security, and Choice Problem (by/via) · · , , ,
  84. How I Fixed My Brutal TTFB (by/via) · · , ,
  85. Flickering Glowing Text Effect With CSS (by) · · ,
  86. How to Take Control of Flexbox (by) · · , , , ,
  87. Quick Tip: How to Align Column Rows With CSS Subgrid (by/via) · · , , , ,
  88. Convention Over Creativity? The Ups and Downs of UX Design (via) · · ,
  89. What You Need to Know About Modern CSS (Spring 2024 Edition) (by/via) · · ,
  90. Node v20.12.0 (LTS) (by/via) · · ,
  91. How to Use jQuery’s “ajax()” Function for Asynchronous HTTP Requests (by+/via) · · , , ,
  92. History of Web Accessibility (by/via) · · , ,
  93. Exploring the Power of ARIA Live Attribute in Web Accessibility (by) · · ,
  94. CSS Anchor Positioning (by+/via) · · ,
  95. Be Flexible About What People Need (and Don’t Assume) (by) · ·
  96. Animating Clip Paths on Scroll With “@ property” in CSS (by) · · , , , ,
  97. How to Consolidate Multiple Design Systems (via) · · , ,
  98. Setting and Persisting Color Scheme Preferences With CSS and a “Touch” of JavaScript (by/via) · · , , ,
  99. Error Messages 101 (by/via) · · , , ,
  100. 7 Simple Rules for Better Data Visualization (via) · ·
  101. New CSS That Can Actually Be Used in 2024 (by) · · , , , , , , ,
  102. Spicing Up Text With “text-emphasis” in CSS (by) · · , ,
  103. No One Actually Wants Accessibility (by) · ·
  104. JavaScript Visualized: Promise Execution (by) · · , ,
  105. Incredible JavaScript Animation Libraries · · , , ,
  106. Diving Into the Node.js Website Redesign (by/via) · · ,
  107. Learn OAuth 2.0 by Building Your Own OAuth Client (by/via) · · , ,
  108. Radix Themes 3.0 (by+/via) · · ,
  109. Profile Node.js Performance With the Performance Panel (by/via) · · , , , , , ,
  110. ARIA “role="application"” and Mobile Screen Readers (by) · · , , , , ,
  111. AI Can Make a Code Review for Free (by) · · , ,
  112. 12 Figma Tips to Work More Efficiently (via) · · , ,
  113. The “Current Branch” in Git (by) · ·
  114. The Cost of Interrupted Work: More Speed and Stress (by) · · , ,
  115. Quick Tip: How to Add Gradient Effects and Patterns to Text (by/via) · · , , , ,
  116. Node.js TSC Confirms: No Intention to Remove npm From Distribution (by/via) · · ,
  117. Going Beyond Pixels and (r)ems in CSS—Absolute Length Units (by/via) · · ,
  118. Don’t Get Scammed by Fake Performance Experts and Apps (by/via) · · ,
  119. CSS Values and Units Module Level 3 (by+/via) · · ,
  120. CAPTCHA Excludes Disabled Web Users (by) · · ,
  121. Accessible Forms With Pseudo Classes (by/via) · · , , ,
  122. This Pattern Will Wreck Your React App’s TS Performance (by) · · , , ,
  123. “__dirname” Is Back in Node.js With ES Modules (by/via) · · ,
  124. Welcome to Future of Web Accessibility Based on Predictors (by+/via) · · , ,
  125. How to Test 3.3.8 Accessible Authentication (Minimum) (by/via) · · , , ,
  126. Relicensing and Rug Pulls (by) · · , ,
  127. Optimizing JavaScript for Fun and for Profit (by) · · ,
  128. On the Gift of OKR for Company Culture (by) · · , ,
  129. On Popover Accessibility: What the Browser Does and Doesn’t Do (by+) · · , ,
  130. Node.js: The Documentary (by+/via) · · , ,
  131. [Bulma] 1.0.0 (by) · · ,
  132. Building a Micro htmx SSR Framework (by/via) · · , ,
  133. Avoid These Design System Traps (via) · ·
  134. The Box Model and Box Sizing (by/via) · · , ,
  135. Psychology and UX: Decoding the Science Behind User Clicks (via) · · , ,
  136. Progressive Disclosure Defaults (by) · · , ,
  137. How to Plan Your First Successful Website (via) · · , ,
  138. How to Create a Website and a PDF From the Same Codebase (by/via) · · , , ,
  139. Folder Structures in React Projects (by) · · ,
  140. Aesthetic Layouts: 2 Column Magazine With “shape-outside” (by) · · , ,
  141. Using Relative Colors (by/via) · · ,
  142. How to Assess Your Fit for a Job Description: A Guide for Technologists (via) · · , , ,
  143. Chill Scroll Snapping: Article Headers (by/via) · · ,
  144. Build a Full-Stack App With Node.js and htmx (by/via) · · , ,
  145. Build a Node App With TypeScript (by) · · , , ,
  146. The Ultimate Guide to Understanding npx vs. npm (by/via) · · , , ,
  147. “require(esm)” in Node.js (by) · · , , ,
  148. Comparing ECMAScript Modules and CommonJS (by) · · , ,
  149. Accessibility Foundations (by/via) · · , ,
  150. A Designer’s Role Is Not “at the Table” (via) · · ,
  151. Every React Concept Explained in 12 Minutes · · , ,
  152. The Power of Textual Content in UX Design (by/via) · · ,
  153. Oh Sh*t, My App Is Successful and I Didn’t Think About Accessibility (by) · ·
  154. Make a Web Browser: Beginner’s Guide (by/via) · · , ,
  155. I’m So Old: Web Edition (by) · · ,
  156. How Web-Site Design and Social Media Work Together (by/via) · · , ,
  157. How to Kill the Cascade (by) · · , , ,
  158. Empowering the User Experience Through Microinteractions: 7 Best Practices (by/via) · · , ,
  159. A Comparison of JavaScript CRDTs (by) · · , ,
  160. Why UI Designers Should Understand Flexbox and CSS Grid (by/via) · · , , , ,
  161. Time to Ditch Analytics? Tracking Scripts and Web Sustainability (by/via) · · , , , , ,
  162. 2024 Cheat Sheet Collection · · ,
  163. Migrating Away From Jest and Achieving Over 90% Reduction in Running Time (by) · · , , , ,
  164. How Web Bloat Impacts Users With Slow Devices (by) · · , , ,
  165. Copy Objects Ways in JavaScript (by) · · ,
  166. How to Optimize Cumulative Layout Shift (CLS) on Shopify Sites (by/via) · · , , , ,
  167. Webflow 101: A Guide for Beginners (via) · · , , ,
  168. Skeuomorphism (via) · · ,
  169. Quick Tip: Creating a Date Picker in React (via) · · , ,
  170. How (In)Efficient Are Engineering Organizations? (by) · · , ,
  171. Homepage Design: 5 Fundamental Principles (via) · · , ,
  172. Accessibility in Design Systems: A Comprehensive Approach Through Documentation and Assets (via) · · , , ,
  173. Make Your Functions More Reusable With Generics (by) · · , , ,
  174. When “Semantic Tokens” Are No Longer Semantic (by) · · ,
  175. What Is Safe Alignment in CSS? (by/via) · · , ,
  176. There Is No EU Cookie Banner Law (via) · · , ,
  177. The Golden Age of Accessibility · ·
  178. Qwik vs. Next.js: Which Framework Is Right for Your Next Web Project? (via) · · , , ,
  179. Performance Tooling in 2024 and Beyond (by+/via) · · , , , , ,
  180. Arguments for Opening Links in a New Tab or Window (by/via) · · ,
  181. How to Avoid Flaky Tests in Playwright (by+/via) · · , ,
  182. My New Favorite CSS Trick: “will-change” (by) · · , , ,
  183. Another JS Registry—Seriously?! (via) · · , , ,
  184. You Want “border-color: transparent”, Not “border: none” (by/via) · · , , , ,
  185. What’s Next for a Global Design System (by) · ·
  186. WCAG 2.2 Detective Skills (by+/via) · · , ,
  187. There Are No Standards Police (by) · · , ,
  188. The Problem With Data-Attributes for Text Effects (by) · · , , ,
  189. The Problem With AI (by) · ·
  190. Ruby Is Complicated (by) · ·
  191. Refactoring My Ugliest Code With Signal View Queries (by) · · , ,
  192. How to Design Icons in Figma (via) · · , , , ,
  193. A Beginner’s Guide to Node.js Worker Threads (by/via) · · , ,
  194. 25 Unnoticeable Features of JavaScript (by) · ·
  195. How to Read Files Quickly in JavaScript (by) · · , ,
  196. Marking the Web’s 35th Birthday: An Open Letter (by/via) · · , ,
  197. Thoughts on Embedding Alternative Text Metadata Into Images (by) · · , ,
  198. The Essential Guide to Microcopy and Becoming a More Literate Designer (by/via) · · , , , ,
  199. The “10× Engineer”: 50 Years Ago and Now (by) · · , , ,
  200. Spread vs. Rest Operators in JavaScript · · , ,
  201. Runtime Compatibility (by+/via) · · , , , , , ,
  202. Interaction to Next Paint Is Officially a Core Web Vital (by/via) · · ,
  203. Building Websites and Building Websites Well (by) · · , ,
  204. A Letter to My Younger Self, as an Accessibility Advocate (by) · · , ,
  205. 5 Exciting New JavaScript Features in 2024 (by/via) · ·
  206. Accessibility: Implementing Focus Traps (by/via) · · , ,
  207. Announcing Speedometer 3.0: A Shared Browser Benchmark for Web Application Responsiveness · · , ,
  208. A Gentle Introduction to Generics in TypeScript (by) · · , ,
  209. What Is INP and Why You Should Care (by/via) · · , ,
  210. Streaming HTML (by/via) · · , ,
  211. JSON Canvas (via) · · , , ,
  212. IDEs vs. Code Editors: Everything You Need to Know (by/via) · · , ,
  213. Have You Optimized for INP? (by) · · , ,
  214. Express.js With TypeScript—Setup, Examples, Testing (by) · · , , , ,
  215. Distinguishing Between ARIA and Native HTML Attributes (via) · · , , ,
  216. Comparing JavaScript Frameworks: Templates (by) · · , , ,
  217. Are We Watching the Internet Die? (by) · ·
  218. Alt Text for CSS Generated Content (by) · · , ,
  219. Optimising Your Design System With Figma’s Variables (by/via) · · , ,
  220. Things I Learned While Building My JS Library (by) · · , ,
  221. CSS Button Styles You Might Not Know (by) · · , ,
  222. How to Invert the Colors Using CSS (by) · · , , ,
  223. Jakob Has Jumped the Shark (by) · · ,
  224. eslint-plugin-depend (by) · · , , ,
  225. Access by a Thousand Curb Cuts (by) · ·
  226. Modern CSS Tooltips and Speech Bubbles II (by/via) · · ,
  227. Navigating the Future of Frontend (via) · · , ,
  228. How “HEAD” Works in Git (by) · ·
  229. Creating Color Palettes With the CSS “color-mix()” Function (by/via) · · , , ,
  230. Asking Users for Their Pronouns: A Guide for UX Designers (by) · · , ,
  231. Add Superpowers to Your CSS Variables With Style Queries (by/via) · · , ,
  232. AVIF Is the Future of Web Images · · , , ,
  233. How to Test 2.5.8 Target Size (Minimum) (by/via) · · , ,
  234. The Quiet, Pervasive Devaluation of Frontend (by) · · , , , ,
  235. Some Little Ways I’m Using CSS “:has()” in the Real World (by/via) · · , ,
  236. Managing Static Files in Django: A Comprehensive Guide (by/via) · · , ,
  237. Making Room for Long List Markers With Subgrid (by) · · , ,
  238. Simplify Your CSS Using “:is()” and “:where()” Pseudo-Classes (by/via) · · , ,
  239. 90% of Designers are Unhirable? (by/via) · · , ,
  240. WebAssembly JSPI Is Going to Origin Trial (by/via) · ·
  241. The Ultimate Guide to Choosing the Best React Website Builder (via) · · , , , ,
  242. The End of My Gatsby Journey (by) · · , ,
  243. Taming the Shadow DOM: Injecting Global Styles With Adopted Stylesheets (via) · · , ,
  244. Sometimes, a Button Just Wants to Look Like a Button (by/via) · · , ,
  245. Release Notes for Safari Technology Preview 190 (by/via) · · , , ,
  246. Internationalization With Remix (by/via) · · ,
  247. Exploring the Creative Power of CSS Filters and Blending (via) · · , , ,
  248. Announcing TypeScript 5.4 (by/via) · · ,
  249. 5 Ways Productivity Culture Kills Business Agility (by/via) · · , , ,
  250. 10 Figma Keyboard Shortcuts: A Cheat Sheet for UX Designers (via) · · , , ,