Frontend Dogma

News and Tools for Frontend Development (13)

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

  1. How to Write Comments in React: The Good, the Bad, and the Ugly (by) · · , ,
  2. Upgrading Our CSS Habits: “aspect-ratio” (by) · ·
  3. Read-Only Web Apps (by) · · ,
  4. CSS Custom Properties Beyond the “:root” (by) · · , ,
  5. Designing and Coding for Voice (by) · ·
  6. 5 Topics You Should Touch on During the Recruitment Process · · , ,
  7. Spinning Diagrams With CSS (by) · · ,
  8. Why Is Scrum the Most Popular Agile Framework? (by/via) · · , ,
  9. It’s Time for the Tech Industry to Live Up to Its Ideals (via) · · ,
  10. Intro to Runtime Performance in the Chrome DevTools Performance Panel (by/via) · · , , , , , ,
  11. Visually Accessible Data Visualization (by/via) · · ,
  12. Using HTML Elements as CSS Masks (by) · ·
  13. 5 Code Refactoring Techniques to Improve Your Code (by/via) · · , ,
  14. Productivity and Well-Being: A Summary of What Works · · ,
  15. Introducing npm Package Provenance (by+/via) · · , , , ,
  16. Generating Provenance Statements (by/via) · · , ,
  17. Release Notes for Safari Technology Preview 168 (by/via) · · , , ,
  18. Audio Accessibility in Miro: A Hackathon Story in 3 Acts (by/via) · · , ,
  19. What’s New in ECMAScript 2023 (by) · · ,
  20. DevTools: A Better Way to Visualize Your JavaScript (by) · · , , , , , , ,
  21. Container Query Units and Fluid Typography (by) · · , ,
  22. Signals: Fine-Grained Reactivity for JavaScript Frameworks (by/via) · · , , ,
  23. How to Create an SEO Strategy (by/via) · · , ,
  24. Kubernetes Quick Tutorial (by) · · ,
  25. 8 Best Tools for Cryptography and Encryption (via) · · , , , , ,
  26. Node.js 20 Is Now Available! (via) · · ,
  27. Firefox May Soon Reject Cookie Prompts Automatically (by/via) · · , , , ,
  28. Using a Muted Color Palette in Web Design (via) · · , ,
  29. A List of Programming Playgrounds (by) · · , ,
  30. Deno vs. Node: No One Is Ready for the Move (by/via) · · , , ,
  31. Business Impacts of UI Design and UX Design (by/via) · · ,
  32. What Is Design Thinking? (via) · ·
  33. You Are What You Measure (by) · · ,
  34. Answering “What ARIA Can I Use?” (by/via) · · , , , , ,
  35. It’s Very Likely That… (by) · · , , ,
  36. Exploring “:has()” Again (by/via) · · ,
  37. The Acronyms of Rendering on the Web (by) · · , , ,
  38. 3 Common IA Mistakes (That Are All Due to Low Information Scent) (via) · · , ,
  39. My Favorite Courses to Learn Microservices in Depth (by) · · , , ,
  40. How to Name Design Tokens in a Design System (by/via) · · , , ,
  41. Serving Less Data to Users With the “prefers-reduced-data” Media Query (by) · · , , ,
  42. Speeding Up the JavaScript Ecosystem—Draft-js Emoji Plugin (by) · · , ,
  43. Angular 16 Is Huge (by/via) · ·
  44. Dissecting npm Malware: Five Packages and Their Evil Install Scripts (by/via) · · ,
  45. Lessons of Design (by/via) · · ,
  46. 9 Bogus Reasons Why Some Designers Claim UX Research Is a Waste (via) · · , ,
  47. Web Accessibility: A Reference to Creating Inclusive Websites (via) · ·
  48. 4 Ways to Create an Enum in JavaScript (by) · ·
  49. Ping Animation With Minimal CSS (by) · · ,
  50. The “details” Element Is Amazing (by) · ·
  51. Consume Web Streams From OpenAI Using Vanilla JavaScript (by) · · , , , ,
  52. What’s New In DevTools: Debugging, Testing, and CSS (Chrome 110–112) (by/via) · · , , , , , , ,
  53. 10 Best Sorting Algorithms Explained (via) · · ,
  54. Embracing AI as a Material for Design (by/via) · · , ,
  55. Costly CSS Properties and How to Optimize Them (by) · · , ,
  56. The Pros and Cons of Different UI Automation Test Tools—Puppeteer (by) · · , ,
  57. Breaking Down Accessibility Barriers: Top 4 Challenges With Screen Magnifiers (by/via) · · , ,
  58. A History of the World Wide Web From 1989 to the Present Day (via) · · ,
  59. Transparent Video for the Web in 2023 (by) · ·
  60. Passkeys: What the Heck and Why? (by/via) · · ,
  61. Solving the CSS Layout and Source Order Disconnect (by/via) · · ,
  62. Angular Is Back With a Vengeance (by/via) · · ,
  63. Shifting Left, or: Making Accessibility Easier by Doing It Earlier (by) · · , , ,
  64. How to Work With Dates and Times in Vanilla JavaScript (by) · · ,
  65. CSS: Tricks for Targeting Elements With CSS (by) · · , ,
  66. Shallow vs. Deep Copying in JavaScript (by/via) · · ,
  67. Understanding CSS Preload and Other Resource Hints (by/via) · · , ,
  68. HTML Accessibility API Mappings 1.0 (by+/via) · · , ,
  69. Expanding Grid Cards With View Transitions (by) · · ,
  70. Firefox Rolls Out Total Cookie Protection by Default to More Users Worldwide (via) · · , , , ,
  71. Accessibility in Design Systems: Building More Inclusive Products for a Better User Experience (via) · · , , , ,
  72. Advanced Figma Components Tips and Tricks: Little Gems We Love (by/via) · · , , ,
  73. Don’t Override Screen Reader Pronunciation (by) · · , , , ,
  74. What’s a Basic Use Case for Cascade Layers in CSS? (by) · · , ,
  75. New HTML Element: “search” (by) · · ,
  76. Formulating Your Product Design North Star (aka Design Principles) (by/via) · · , ,
  77. The Performance Golden Rule Revisited (by) · · ,
  78. Trying Node.js Test Runner (by) · · ,
  79. Temporal Intervals Are Handy in MySQL (by) · · ,
  80. Document or Die: The Importance of Writing Things Down in Tech · · , ,
  81. Building Pagination in React With React Paginate (by/via) · · , ,
  82. React, Visualized (via) · · ,
  83. Why Astro Is My Favorite Framework (by) · · ,
  84. CSS Text Balancing With “text-wrap: balance” (by) · · ,
  85. Becoming a Frontend Developer in 100 Days: A Step-by-Step Guide (by) · · , ,
  86. What’s New in CSS? (by/via) · · ,
  87. Mastering Yarn’s Lifecycle With Hooks (by) · · ,
  88. Understanding Apache Web Server Configuration (by) · · , ,
  89. Boost Your JavaScript With JSDoc Typing (by) · · , , ,
  90. Choosing Humanity Over Automation (via) · · , ,
  91. DevTools: A Clever Overview of All Your CSS Code (by) · · , , , , ,
  92. Chasing Rainbows (by/via) · · ,
  93. The Pattern to Make Your Frontend Tests 10× Better (by) · ·
  94. It’s Time to Learn OKLCH Color (by) · · , ,
  95. Stream File Uploads to S3 Object Storage and Save Money (by) · · , , ,
  96. Programming-Language Popularity by GitHub Pull Requests (by) · · , , , , , ,
  97. Frontend Developer Tries Tailwind for the First Time (by/via) · · , ,
  98. Establishing Metrics for Accessibility ROI (by) · · , ,
  99. Unlocking the Power of Design Tokens to Create Dark Mode UI (by) · · ,
  100. 3 Methods for Scoped Styles in Web Components That Work Everywhere (by) · · , , , , ,
  101. 10 CSS Animation Tips and Tricks (by) · · , , ,
  102. Foundations: Accessible Names and Descriptions (by/via) · · , , ,
  103. Designing for Reduced Motion (by/via) · · ,
  104. Can You Create Beautiful Stroked Text in CSS? (via) · · ,
  105. Observing CSS (by) · · , ,
  106. What’s New in WCAG 2.2? (by/via) · · , ,
  107. Choosing a Name for Your Design System (by) · · ,
  108. The Alt Text War—SEO vs. Accessibility (by/via) · · , , , ,
  109. 7 Tips for Getting Started With Vue.js (by/via) · · , ,
  110. Release Notes for Safari Technology Preview 167 (by/via) · · , , ,
  111. 4 GitHub Alternatives for Code Repositories (via) · · ,
  112. Code Explanation Using GitHub Copilot (by) · · , ,
  113. What Is Semantic HTML? (by/via) · · ,
  114. New in Chrome 112 (by/via) · · , , ,
  115. What Makes a Good Screenshot? (by/via) · · ,
  116. The Revenge of the Pop-Up (by/via) · · , ,
  117. Testing Localhost on Multiple Devices (by) · · ,
  118. Accessibility for Designers: Where Do I Start? (by) · · , ,
  119. Exposing Field Errors (by) · · , , , ,
  120. How WebAssembly Is Accelerating New Web Functionality (by/via) · · ,
  121. Safari Releases Are Development Hell (by/via) · · , , ,
  122. Copy to Clipboard In JavaScript and React (by) · · ,
  123. What Is a Design System and Why Should You Use One? (by/via) · ·
  124. So, How Can We Measure UX? (via) · · ,
  125. Five Pieces of Advice for More Accessible Websites (by) · · ,
  126. A Small JavaScript Pattern I Enjoy Using (by) · ·
  127. A Color Wheel With Gradient (by) · · , , , ,
  128. Slow Start and Congestion Control (Browser Networking) (by) · · , ,
  129. JSON vs. XML With Douglas Crockford (by+/via) · · , , , , ,
  130. Quick Tip: Pull Data From an API Into a Figma Layer (by/via) · · , , ,
  131. Modern HTML Email (Tables No Longer Required) (by) · · , ,
  132. Sticky Page Header Shadow on Scroll (by) · · , ,
  133. When I Get That Low Contrast Feeling, I Need Non-Textual Healing (by/via) · · , ,
  134. Why Do They Ignore My Awesome Design Documentation? (by) · · ,
  135. The Future of Senior Developers in an AI-Driven World (by) · · , ,
  136. 10 Ways to Hide Elements in CSS (by/via) · · , ,
  137. 7 Tricks to Take the Performance of Your Website to the Moon (by) · · , , ,
  138. We Need Accessibility Action (by) · · ,
  139. The Ultimate Guide to Automatic Accessibility Testing in CI/CD for React Apps · · , , , , ,
  140. Folder Structure for Modern Web Applications (by) · · ,
  141. New to the Web Platform in March (by/via) · · , , , , , , , ,
  142. The Pros and Cons of Different UI Automation Test Tools—Playwright (by) · · , ,
  143. Alternative Text in the Wild: 5 Alternative Text Examples (via) · · , ,
  144. A CSS Selector to Highlight Clickable Elements (by) · · ,
  145. Modern Web Development: Centering Divs in New Exciting Wrong Ways With AI (by) · · , ,
  146. DevTools: Getting Data From DevTools Into Your Code Editor (by) · · ,
  147. Checkered Background Using Two Lines of Code in CSS (by+) · · ,
  148. One in Two New npm Packages Is SEO Spam Right Now (by/via) · · ,
  149. What Are Source Maps? (by/via) · · ,
  150. CSS Masking (by) · · ,
  151. Why I Quit Being a Tech “Influencer” (by) · ·
  152. From Burnout to Balance: Why Are So Many UX Designers Fatigued? (by/via) · · , , ,
  153. Why JavaScript Is a Prototype-Based OOP (by) · · ,
  154. XUL Layout Is Gone (by) · · , , , ,
  155. Using PHP Arrays: A Guide for Beginners (by/via) · · , ,
  156. Usability Heuristics in Game Design (by/via) · · , ,
  157. 6 Steps to Reduce the Carbon Footprint of Your Website (by/via) · ·
  158. HTML: Help Users to Download Files With the HTML “download” Attribute (by) · ·
  159. How to Use Google Fonts and “font-display” (by/via) · · , , ,
  160. Flutter Performance Optimization Techniques and Best Practices (via) · · , , ,
  161. The WebAIM Million (via) · · , , ,
  162. Framework Popularity on Netlify (by/via) · · , , , , ,
  163. JavaScript Import Maps Are Now Supported Cross-Browser (by/via) · · , ,
  164. 10 AI Tools for Content Writing (via) · · , , , ,
  165. Guardrails for Better Accessibility Support in Frontend (by) · · , ,
  166. Accessibility vs. Emojis (via) · · , , ,
  167. How to Review and Refactor Code With GPT-4 (and ChatGPT) (by/via) · · , , , ,
  168. Improving CSS Shapes With Trigonometric Functions (by) · · ,
  169. In Praise of Vite (by/via) · ·
  170. TypeScript Function Types: A Beginner’s Guide (by) · · , ,
  171. Connecting Dots of an Accessibility Audit (by/via) · · ,
  172. File Uploads for the Web: File Uploads in Node and Nuxt (by) · · , ,
  173. How to Split an Angular App Into Micro-Frontend Apps · · , , ,
  174. Fighting Inter-Component HTML Bloat (by) · · , , ,
  175. Defaulting on Single Page Applications (SPA) (by) · · , ,
  176. Mastering the JavaScript “switch” Statement (by/via) · ·
  177. CSS Creator Håkon Wium Lie Interview (by/via) · · ,
  178. Getting Started With HTML Tables (by/via) · · , ,
  179. AI-Enhanced Development Makes Me More Ambitious With My Projects (by) · · , ,
  180. Function Overloading in TypeScript (by/via) · · ,
  181. A Quick Guide to Reviewing a VPAT ACR (by) · · , , ,
  182. UX Principles for AI Products (by/via) · · , ,
  183. Using TypeScript Without Compilation (by) · ·
  184. UX Basics: Study Guide (by/via) · · , , , ,
  185. CSS-Only Widgets Are Inaccessible (by) · · ,
  186. Harnessing GPT-4 for Writing Assistance and Content Creation (by/via) · · , , ,
  187. Brief Introduction to Edge Computing · · ,
  188. The “search” Element (by) · · , ,
  189. WYSIWYGPT (by) · · ,
  190. Usability 101 (by/via) · · ,
  191. CSS “overflow” Property (by/via) · ·
  192. The IL1 Typography Test (by/via) · · , , , ,
  193. The State of JS Frameworks (by+/via) · · , , ,
  194. The Causes of Unreliable Software (by) · · ,
  195. The Landscape of npm Packages for CLI Apps · · , , ,
  196. What Is Strict Mode in React? (by) · ·
  197. DevTools: Convert Network Requests to Code, or Even to a Terminal Command (by) · · , , ,
  198. The Ultimate Guide to Image Optimisation (by/via) · · , , , ,
  199. Everything You Wanted to Know About Video Storage APIs (via) · · , ,
  200. The Machines Won’t Save Your Design System (by) · · ,
  201. A Complete Visual Guide to Understanding the Node.js Event Loop (by/via) · · , ,
  202. Circular Text With CSS? (by) · ·
  203. Accessible but Never Boring: Rebranding the Wise Design System for Everyone II (by/via) · · , ,
  204. What We’ve Learned About Designing for Accessibility From Our Users (by/via) · · ,
  205. 5 Lesser-Known Spacing Tips for Product Designers (by/via) · · ,
  206. Some Cross-Browser DevTools Features You Might Not Know (by/via) · · , , , , , , ,
  207. Certifications Should Be Hard (by) · · , ,
  208. Automatic npm Publishing With GitHub Actions and npm Granular Tokens (by/via) · · , ,
  209. npx: The Easy Way to Run Node.js Packages (by) · · ,
  210. What’s New in Eleventy 2: A Great SSG Just Got Better (by/via) · ·
  211. With or Without the JS Framework (by) · · , ,
  212. Annotating Designs for Accessibility (by/via) · · , ,
  213. The Carbon Cost of Social Media (via) · · ,
  214. That Time When SVG Almost Got Network Support for Raw Sockets · · , ,
  215. Visually Hidden Content Is a Hack That Needs to Be Resolved, Not Enshrined (by) · · , , , ,
  216. How to Start a React Project in 2023 (by) · · ,
  217. File Uploads for the Web: Upload Files With JavaScript (by) · · ,
  218. When Is “:focus-visible” Visible? (by) · · , ,
  219. State of Node.js 2023 (by+/via) · · ,
  220. 7 Ways Web Developers and UX Designers Can Collaborate (by/via) · · ,
  221. Why We Added package.json Support to Deno (via) · · , , ,
  222. What Is Git Merge and How to Use It? (by/via) · ·
  223. The End of Front-End Development (by) · · , ,
  224. The Intersection of Data Visualization and UX Design (via) · · , ,
  225. The Age of Average (by) · ·
  226. Preventing Too-Short Final Lines of Text Blocks (by) · · ,
  227. Regression Testing in the Agile Universe (via) · · , , ,
  228. The Cost of Craft (by) · · , , ,
  229. CSS Is Dead! (by) · ·
  230. 5 Ways to Modernize Your Web Application (by/via) · · , , , , , , ,
  231. The 5 Best Status Page Tools (via) · · , , ,
  232. Rich Harris Talks SvelteKit and What’s Next for Svelte (by+/via) · · , ,
  233. Using “forRoot()” and “forChild()” in Angular (by) · ·
  234. Laying Out a Print Book With CSS · · ,
  235. Speeding Up the JavaScript Ecosystem—npm Scripts (by) · · , , ,
  236. Introduction to Flutter: Getting Started With Cross-Platform Development (by) · · ,
  237. Deep Dive Into How Web Browsers Work (With Illustrations) (by) · · ,
  238. Design System Guide (by) · · , ,
  239. Unexpected Moments of JavaScript That Will Challenge Your Understanding of the Language (by) · ·
  240. How to Stop a React Component From Rendering (by) · · , , ,
  241. Foundations: Pointer Gestures (by/via) · · ,
  242. Hijacking Screenreaders With CSS (by/via) · · , , , , ,
  243. How Screen Readers Read Special Characters: An Update (by/via) · · , , , , ,
  244. Everything You Need to Know About the Updated React Docs (by) · · ,
  245. How to Use “v-model” With Form Inputs in Vue (by) · · , ,
  246. The Problem With React (by) · ·
  247. 5 Tips for New Prototypers (via) · · , ,
  248. Cryptographically Protecting Your SPA (by) · · , ,
  249. Retro-Specifying Fetch/Performance (by/via) · · , ,
  250. What Is Server Side Includes (SSI)? How We Can Use It? What Are the Pros and Cons of SSI? · ·