Frontend Dogma

News and Tools for Frontend Development (15)

(Stay up-to-date on all topics by RSS feed or on Mastodon.)

  1. The Landscape of npm Packages for CLI Apps · · , , ,
  2. What Is Strict Mode in React? (by) · ·
  3. The State of JS Frameworks (by+/via) · · , , ,
  4. DevTools: Convert Network Requests to Code, or Even to a Terminal Command (by) · · , , ,
  5. The Ultimate Guide to Image Optimisation (by/via) · · , , , ,
  6. Everything You Wanted to Know About Video Storage APIs (via) · · , ,
  7. The Machines Won’t Save Your Design System (by) · · ,
  8. Circular Text With CSS? (by) · ·
  9. Accessible but Never Boring: Rebranding the Wise Design System for Everyone II (by/via) · · , ,
  10. What We’ve Learned About Designing for Accessibility From Our Users (by/via) · · ,
  11. A Complete Visual Guide to Understanding the Node.js Event Loop (by/via) · · , , ,
  12. 5 Lesser-Known Spacing Tips for Product Designers (by/via) · · ,
  13. Some Cross-Browser DevTools Features You Might Not Know (by/via) · · , , , , , , ,
  14. Certifications Should Be Hard (by) · · , ,
  15. Automatic npm Publishing With GitHub Actions and npm Granular Tokens (by/via) · · , ,
  16. npx: The Easy Way to Run Node.js Packages (by) · · ,
  17. What’s New in Eleventy 2: A Great SSG Just Got Better (by/via) · ·
  18. With or Without the JS Framework (by) · · , ,
  19. Annotating Designs for Accessibility (by/via) · · , ,
  20. The Carbon Cost of Social Media (via) · · ,
  21. That Time When SVG Almost Got Network Support for Raw Sockets · · , ,
  22. Visually Hidden Content Is a Hack That Needs to Be Resolved, Not Enshrined (by) · · , , , ,
  23. How to Start a React Project in 2023 (by) · · ,
  24. File Uploads for the Web: Upload Files With JavaScript (by) · · ,
  25. When Is “:focus-visible” Visible? (by) · · , ,
  26. State of Node.js 2023 (by+/via) · · ,
  27. Understanding the Semantic Web—Dive Deep Into the Web’s Evolution (by) · ·
  28. 7 Ways Web Developers and UX Designers Can Collaborate (by/via) · · ,
  29. What Is Git Merge and How to Use It? (by/via) · ·
  30. The End of Front-End Development (by) · · , ,
  31. The Intersection of Data Visualization and UX Design (via) · · , ,
  32. The Age of Average (by) · ·
  33. Preventing Too-Short Final Lines of Text Blocks (by) · · ,
  34. Regression Testing in the Agile Universe (via) · · , , ,
  35. The Cost of Craft (by) · · , , ,
  36. CSS Is Dead! (by) · ·
  37. 5 Ways to Modernize Your Web Application (by/via) · · , , , , , , ,
  38. The 5 Best Status Page Tools (via) · · , , ,
  39. Rich Harris Talks SvelteKit and What’s Next for Svelte (by+/via) · · , ,
  40. Why We Added package.json Support to Deno (by/via) · · , , ,
  41. Using “forRoot()” and “forChild()” in Angular (by) · ·
  42. Laying Out a Print Book With CSS · · ,
  43. Speeding Up the JavaScript Ecosystem—npm Scripts (by) · · , , ,
  44. Introduction to Flutter: Getting Started With Cross-Platform Development (by) · · ,
  45. Deep Dive Into How Web Browsers Work (With Illustrations) (by) · · ,
  46. Design System Guide (by) · · , ,
  47. Unexpected Moments of JavaScript That Will Challenge Your Understanding of the Language (by) · ·
  48. How to Stop a React Component From Rendering (by) · · , , ,
  49. Foundations: Pointer Gestures (by/via) · · ,
  50. Hijacking Screenreaders With CSS (by/via) · · , , , , ,
  51. How Screen Readers Read Special Characters: An Update (by/via) · · , , , , ,
  52. Everything You Need to Know About the Updated React Docs (by) · · ,
  53. How to Use “v-model” With Form Inputs in Vue (by) · · , ,
  54. The Problem With React (by) · ·
  55. 5 Tips for New Prototypers (via) · · , ,
  56. Cryptographically Protecting Your SPA (by) · · , ,
  57. Retro-Specifying Fetch/Performance (by/via) · · , ,
  58. What Is Server Side Includes (SSI)? How We Can Use It? What Are the Pros and Cons of SSI? · ·
  59. DevTools: Tricks for Copying the Styling From Any Website (by) · · , , , ,
  60. It’s About Time CAPTCHAs Become Accessible (via) · · ,
  61. Accessibility Beyond Code Compliance (by) · · ,
  62. Accessibility and Design Systems: The Deep-Dive Q&A (by+/via) · · , ,
  63. DevTools: Faster Searching in DevTools With CSS Selectors (by) · · , , , , ,
  64. Internationalization in Next.js 13 With React Server Components (by/via) · · , , ,
  65. Versioning Design Tokens (by) · · , ,
  66. Scraping Single-Page Applications With Playwright (via) · · , ,
  67. The Ultimate Guide to Micro-Content (by/via) · · , ,
  68. JavaScript Polyfills (by) · · ,
  69. Tracking the Fake GitHub Star Black Market With Dagster, dbt, and BigQuery (by+/via) · · , ,
  70. JavaScript for Beginners: Data Structures · · , ,
  71. Git Fundamentals, a Complete Guide (by) · · , ,
  72. The H1 Conundrum: Understanding the Challenges of Heading Level One (by/via) · · , , ,
  73. Cool Frontend Arts of Local-First: Storage, Sync, Conflicts (by+/via) · · , ,
  74. 6 CSS Snippets Every Front-End Developer Should Know in 2023 (by/via) · ·
  75. Future CSS: Anchor Positioning (by) · · , ,
  76. Modern Font Stacks (by) · · , ,
  77. What Leonardo Da Vinci Can Teach Us About Web Design (by/via) · · ,
  78. JavaScript: Automatically Remove an Event Listener After It Has Executed (by) · · ,
  79. Fix Color Contrast—Web Accessibility for Text and UI Design (by) · · , ,
  80. Circling Back on Design and Everything Else (via) · ·
  81. How Design Is Governance (by/via) · ·
  82. Progressively Enhancing a Table With a Web Component (by) · · , , , ,
  83. Accepting Design (by+/via) · ·
  84. Useful Tips and Tricks for Laravel (via) · · ,
  85. TCP Echo Server for Node.js · · , ,
  86. Advice From a Software Engineer With 8 Years of Experience (by) · ·
  87. VS Code vs. WebStorm: A Comparison for Newbies · · , , ,
  88. Best Practices for Structuring Accessibility Testing (by/via) · · , ,
  89. Why Aren’t Logical Properties Taking Over Everything? (by) · · , ,
  90. Making Calendars With Accessibility and Internationalization in Mind (by/via) · · , ,
  91. What Is the Cost of Designing a Mobile App? (via) · · ,
  92. Introduction to Offline First Web Applications (by/via) · · , ,
  93. 8 Tips for Making Your Custom Web Designs Mobile Friendly (via) · · , ,
  94. The Ternary Operator in JavaScript (by) · · ,
  95. We Don’t Need “.visually-hidden” (by/via) · · , , ,
  96. Create and Download Text Files Using JavaScript (by) · ·
  97. UX Strategy: Study Guide (by+/via) · · , , , ,
  98. “content” Is Your Content? (by/via) · · , , , ,
  99. From UX to Growth Design: 5 Principles to Multiply Your Value (by/via) · · , ,
  100. View Transitions API: Creating Smooth Page Transitions (via) · · ,
  101. Handling CSS Color Fonts With “font-palette” (via) · · , ,
  102. The Ultimate Guide to Becoming a 10× Dev (by) · · , ,
  103. “Design First, Then Build”: Let’s Bury This Myth Forevermore (by/via) · · , ,
  104. TypeScript’s Migration to Modules (by+/via) · · , ,
  105. Building Complex Forms in Vue (by/via) · · ,
  106. One Problem That Is Now Solved by CSS Subgrid (by) · · ,
  107. Evolving Custom Sliders (by/via) · · ,
  108. Vue vs. React: Everything You Need to Know (via) · · , ,
  109. SPA View Transitions Land in Chrome 111 (by/via) · · , , , , ,
  110. Selecting Previous Siblings With CSS “:has()” (by) · · ,
  111. Web Cookies With a Taste of Privacy (by/via) · · , ,
  112. Craft vs. Industry: Separating Concerns (by) · · , , , ,
  113. File Uploads for the Web: Uploading Files With HTML (by) · · ,
  114. Cover All the Codebases: A Guide to Code Coverage Tools (via) · · , , , ,
  115. All JavaScript and TypeScript Features From the Last 3 Years (via) · · , ,
  116. Static Site Generators: What’s Trending Right Now (via) · · , , , , , , ,
  117. I No Longer Understand “prefers-contrast” (by) · · ,
  118. My Ideal Accessible Components Resource Is Holistic, Well Tested and Easy to Use (by) · · ,
  119. ChatGPT and Me (a Recruiter) (via) · · , ,
  120. How to Fix: Child Stylesheet Loading Twice (WordPress) (via) · · , ,
  121. Creating a Clock With the New CSS “sin()” and “cos()” Trigonometry Functions (by/via) · · ,
  122. CSS Nesting (by/via) · · ,
  123. Tackling Design Debt in Product (by/via) · · , ,
  124. An End to Typographic Widows on the Web (by) · · ,
  125. Change Favicon on Switching Browser Tabs in JavaScript (by) · · , ,
  126. As a User, I Don’t Want To (by/via) · · , ,
  127. Zebra Stripe Lines of Text Even When They Wrap (by) · ·
  128. 2023 Web Framework Performance Report (by/via) · · , , , , , , , , ,
  129. Quick Tip: How to Cache Data in PHP (via) · · , , ,
  130. What Value Does Developer Relations Bring to Other Teams? (by) · · ,
  131. A Tab Interface Before Its Time (by) · · ,
  132. Managing Fonts in WordPress Block Themes (via) · · ,
  133. The AI Future of Frontend Development (by) · · ,
  134. HTML Garden (by) · · , ,
  135. Best Practices for Future-Proofing Your Flutter Apps in 2023 and Beyond (by/via) · · ,
  136. ARIA Live Regions for JavaScript Frameworks (by/via) · · , , , ,
  137. The Anatomy of a Good Design: An Analysis of 4 Sites (by/via) · ·
  138. Balanced Text Wrapping Is Coming to CSS (by) · · ,
  139. 10 Helpful JavaScript Utility Functions (by) · · ,
  140. 50.1% Empty Links (by) · · , , , ,
  141. Continuous Growth Is Cancer (by) · · ,
  142. The Cost of Architectural Complexity (by) · · , ,
  143. Making the Case for Signals in JavaScript (by/via) · · ,
  144. Optimising Large Contentful Paint (by/via) · · , , ,
  145. AI-Generated Git Commit Messages (by) · · , , ,
  146. The Art of Unlearning (by/via) · · ,
  147. Everything You Need to Know About the Gap After the List Marker (by/via) · ·
  148. Toolkit Tuesday: Using YouTube for Captions and Transcripts (via) · · , , ,
  149. Are You Making These Five Mistakes When Writing Alt Text? (by/via) · · , , ,
  150. Signals in Angular: The Future of Change Detection (by) · · ,
  151. Moving From Vue 1 to Vue 2 to Vue 3: A Case Study of Migrating a Headless CMS System (by/via) · · , , , ,
  152. Responsive Headlines Are About to Get Awesome (by/via) · · , , ,
  153. Announcing TypeScript 5.0 RC (by/via) · · ,
  154. A Beginner’s Guide to Manual Accessibility Testing (via) · · , ,
  155. The Web Needs a Native “.visually-hidden” (by) · · ,
  156. You Don’t Need a Build Step (by/via) · · , ,
  157. Declarative Design (by/via) · · ,
  158. The WebAIM Strategic Accessibility Framework (via) · · ,
  159. A Native “Visually Hidden” in CSS? Yes Please! (by/via) · · , , , ,
  160. How We Built Our Multi-Platform Design System at Booking.com (by/via) · · , , ,
  161. React vs. Signals: 10 Years Later (by/via) · · , , , ,
  162. Throttle Your CPU (by/via) · · , , ,
  163. Relative Rounded Corners (by/via) · · ,
  164. Learn How to Set Up a CI/CD Pipeline From Scratch (by) · · ,
  165. Unlocking SVG’s Superpowers (by/via) · · , ,
  166. Accessible but Never Boring: Rebranding the Wise Design System for Everyone (by/via) · · , ,
  167. The Seven Archetypes of Organizational Topologies (by+/via) · · ,
  168. Conformance and Accessibility (by) · · , ,
  169. Animated Gradient Text in CSS (by) · · , ,
  170. Are You Testing to Test, or Testing to Prove? (via) · · ,
  171. What Is “ref()” in Vue? (by) · ·
  172. Without Accessibility, There Is No Privacy or Security (via) · · , ,
  173. How People Read Online (by/via) · · , , ,
  174. Ten Tips for Better CSS Transitions and Animations (by) · · , , ,
  175. Quick Tip: How to Handle Exceptions in PHP (via) · · , , ,
  176. Could We Make the Web More Immersive Using a Simple Optical Illusion? (via) · · , ,
  177. A Guide to Accessible Form Validation (by/via) · · , , , ,
  178. A Guide to CSS “object-view-box” (via) · · ,
  179. The Ultimate Guide to Web Development Tools (via) · · , ,
  180. Simplified Dark Mode With Style Queries (by) · · , ,
  181. The Evolution of Signals in JavaScript (by/via) · · ,
  182. On Container Queries, Responsive Images, and JPEG-XL (by/via) · · , , , ,
  183. The Coolest JavaScript Features From the Last 5 Years (by) · · ,
  184. Designers, Use Your intuition (via) · · ,
  185. Conveniently Toggle and Add Tailwind CSS Classes in Chrome DevTools (by) · · , , , , , ,
  186. Dithering Images With React/JavaScript (by) · · , , ,
  187. 22 Useful CSS Tips and Tricks Every Developer Should Know · · ,
  188. Is It Time to Replace Sass? (by) · · ,
  189. CSS Animation Libraries: 10 Popular Choices (via) · · , , ,
  190. Crawl Weather Using Cypress (by) · · ,
  191. Learn CSS Positioning (by) · · ,
  192. Step-by-Step Guide: Creating a Template for Vue 3, Vuetify 3, and Storybook · · , ,
  193. Debugging JavaScript Like a Pro: Tools and Techniques for Finding and Fixing Bugs (by) · · , , ,
  194. How to Style Your Alt Text (by) · · , , ,
  195. How to Contribute to a Project You Have No Idea About (by) · · , , ,
  196. Prepare for Chrome’s User Agent [String] Reduction (by/via) · · , , , ,
  197. 3 Common Antipersonas in UX (via) · · , ,
  198. In-Depth Guide to CSS Logical Properties (by/via) · · , , ,
  199. The JavaScript Site Generator Review, 2023 (by) · · , , , , , , , , ,
  200. You Have the Users You Have (via) · · , ,
  201. Getting Started With Style Queries (by/via) · · , ,
  202. Privacy Principles (by+/via) · · ,
  203. Node.js Toolbox (by) · · , ,
  204. Successful Teams Ensure 100% of Their Members Understand Keyboard Accessibility (via) · ·
  205. Experiments With the JavaScript Garbage Collector (by/via) · · ,
  206. 7 Essential React Libraries for Front-End Web Development (by) · · , ,
  207. All About Promises in JavaScript (by) · · ,
  208. 16 Best CSS Books for Beginners and Advanced Coders (via) · · , ,
  209. Learn Privacy (by/via) · · ,
  210. Where Does Developer Relations Belong in an Organization? (by) · · ,
  211. The State of Node.js Core (by/via) · · ,
  212. Automatic Captions: Our Experiments and Best Practices (via) · · , , ,
  213. Open Captions vs. Closed Captions: What’s the Difference? (via) · · , ,
  214. The Great Gaslighting of the JavaScript Era (by) · · , ,
  215. The Importance of Adding Accessibility Design Reviews to the Design Process (by/via) · · , ,
  216. When JavaScript Fails (by) · ·
  217. Understanding Easing and Cubic Bézier Curves in CSS (by) · · , ,
  218. The Page With No Code (by) · · , ,
  219. Thoughts on Dev Rel in the Post-Twitter Era (by) · · , ,
  220. How to Handle Date and Time With JavaScript (via) · · ,
  221. How Shadow DOM and Accessibility Are in Conflict (by/via) · · , ,
  222. Understanding the Difference Between Props and State in React · · , , ,
  223. What Framework Should I Use? (by) · ·
  224. “(255,255,255)” Is the Highest Specificity (by/via) · · ,
  225. 5 Super Useful CSS Properties That Don’t Get Enough Attention (by) · · ,
  226. ARIA vs. HTML (by) · · , , , ,
  227. Ethical Alternatives to Revenue-Generating Deceptive Patterns (via) · · , , ,
  228. “Make It Easier” Is Not a Product Strategy (by/via) · · , ,
  229. Design Systems in the Time of AI (by) · · ,
  230. Not Everyone Uses a Computer in the Same Way That You Do (by/via) · · ,
  231. Use the Child-Element Count in CSS (by) · · ,
  232. Surviving Design Systems (by/via) · ·
  233. The State of JS Frameworks (by+/via) · · , ,
  234. Understanding the Cost of Not Being Accessible (by) · · ,
  235. Updating a Design System (via) · · ,
  236. Style File Selector Button Using CSS (by) · · ,
  237. Quick Tip: How to Trim Whitespace With PHP (via) · · , ,
  238. React Libraries for 2023 (by) · · , ,
  239. Learn All About Node.js Worker Threads With Examples (via) · · , ,
  240. All About Iterative Design (by/via) · · ,
  241. Arranging Diamond Tiles in a Grid (by) · · ,
  242. Last Baseline Alignment (by/via) · · , , ,
  243. Avoid Spanning Table Headers (by) · · , , ,
  244. Using Focal Points, Aspect Ratio, and Object-Fit to Crop Images Correctly (by) · · ,
  245. Keys to an Accessibility Mindset (by/via) · · ,
  246. Create a Rainbow-Coloured List With “:nth-of-type()” (by) · · , ,
  247. How to Password-Protect a Static HTML Page With No JS (by) · · , , ,
  248. Ideas for Making Accessibility and Equity a Core Part of the Software Development Lifecycle (by) · · , ,
  249. Do We Need CSS “flex-wrap” Detection? (by) · · ,
  250. The Spirit of CSS-Tricks Is Now Gone (by) · · ,