Frontend Dogma

News and Tools for Frontend Developers (18)

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

  1. Accessibility Audits for All (by) · · , ,
  2. S.P.A.C.E. Framework—the Ultimate Framework for Measuring Your Tech Team Productivity (by) · · , , , , , ,
  3. What Is Personalization? (via) · · ,
  4. The Art of Code Review (by/via) · · , ,
  5. I Think I Finally “Get” JS Objects (by) · · ,
  6. Hands on With the Node.js Test Runner (by/via) · · ,
  7. Cracking the Theme Switcher and Dark Mode (by/via) · · , ,
  8. Announcing the Second Compute Pressure Origin Trial (by/via) · · , , ,
  9. An Introduction to JavaScript Proxies (by/via) · · ,
  10. 21 Awesome Web Features You’re Not Using Yet (by/via) · · , , ,
  11. The Double-Edged Sword of Design Systems (via) · · ,
  12. Simple Things Make Things Simple (by) · · ,
  13. Don’t Meddle With User Input (by) · · ,
  14. 10 Incident Management Best Practices (via) · · , ,
  15. Improving the Quality of the Software With Qodana and GitHub Actions (by) · · , , , , ,
  16. Sass-Like Nesting in Native CSS (by) · · , ,
  17. The Problem With Nested Fieldsets and How to Avoid Them (by) · · , , ,
  18. The Optimization Sinkhole (by) · · ,
  19. Mastering CSS Blend Modes (by) · · ,
  20. How Screen-Reader Users Type on and Control Mobile Devices (by/via) · · , , , , ,
  21. Understanding the Importance of Encoding (by) · ·
  22. WordPress Turns 20 (by/via) · ·
  23. Why Does “👩🏾‍🌾” Have a Length of 7 in JavaScript? (by) · · ,
  24. When to Use Plain Text or Images Instead of MathML (via) · · , ,
  25. Plain Old JavaScript and the DOM (by) · · ,
  26. We Need to Talk About How We Talk About Accessibility (by+/via) · · , ,
  27. Supper Club × Bramus Van Damme on CSS (by+/via) · · , ,
  28. How to Draw Any Regular Shape With Just One JavaScript Function (by/via) · · , ,
  29. Designing a Better Design Handoff File in Figma (by/via) · · , ,
  30. Brief Note on Popovers With Dialogs (by) · · , , , ,
  31. A Practical Overview on Architecture Decision Records (ADR) (by) · · , ,
  32. Two Things That Are Not Great About OKLCH (by) · · ,
  33. Seven Lessons From 7 Years Designing Systems (by) · · ,
  34. Levelling Up Accessibility Skills in Your Organisation (by+/via) · · ,
  35. “display: contents” Considered Harmful (by) · · ,
  36. A Complete Guide to Using IndexedDB (via) · · , ,
  37. Responsive CSS Layout Grids Without Media Queries (by/via) · · , , ,
  38. Single Line Comments in CSS (by) · · ,
  39. Reading a Voluntary Product Accessibility Template (VPAT) or Accessibility Conformance Report (ACR) (by/via) · · , ,
  40. WebKit and web-platform-tests (by) · ·
  41. The Yellow Fade Technique With Modern CSS Using “@ starting-style” (by/via) · · , ,
  42. Register Custom Properties in CSS, Get and Update Them With JavaScript (by) · · ,
  43. Querying Parsed HTML in BigQuery (by) · ·
  44. Deploying AVIF for More Responsive Websites (by/via) · · , ,
  45. 11 HTML Best Practices for Login and Sign-Up Forms (by/via) · · , ,
  46. Where to Put Your Types in Application Code (by) · ·
  47. Two Simple Layouts That Work Better With Grid (by) · · , , ,
  48. File Upload Security and Malware Protection (by) · · , ,
  49. Introducing the Popover API (by/via) · · , , ,
  50. You Don’t Need a Modal Window (by) · · ,
  51. I Created 100+ Unique CSS Patterns (by) · · , ,
  52. Graph Slider (by) · ·
  53. Future of CSS: Popover API (by) · · , ,
  54. Addressing Timeout Modals: Navigating the Nuances for Inclusive Web Design (by/via) · · , ,
  55. Building a Modern Design System in Layers (by) · ·
  56. Stop Rewriting Your CSS! Use “:not()” Instead (by/via) · · , , ,
  57. Working With URLs With Vanilla JavaScript (by) · · ,
  58. Why We’re Bad at CSS (by) · ·
  59. Visual-Design Principles and UX Design Best Practices (via) · · , , ,
  60. Be Careful Using “Menu” (by) · · , , ,
  61. 10 Ways to Boost Your Landing Page Conversion Rates (via) · · , ,
  62. Beyond Design Systems for Interfaces: A Mega System of Design Systems · ·
  63. Building Offline-First Web Applications With Service Workers and IndexedDB (by) · · , , , , ,
  64. A Web Component Intro With Example · · , ,
  65. Server-Sent Events With Node.js (via) · · ,
  66. A Beginners Guide to Digital Accessibility (by) · · ,
  67. A New Approach to Measuring Developer Productivity (by) · · , ,
  68. Website Issues: On the Relevance of Audience Size and Impact (by) · · ,
  69. Using “linear()” for Better Animation (by) · · , ,
  70. Measuring Design System “Adoption” (by) · · ,
  71. How to Build Lean Efficient Websites in 2023 (by) · · , , ,
  72. Creating a Shine Effect on a Card With Tailwind CSS (by) · · ,
  73. Getting Started With View Transitions on Multi-Page Apps (by) · · , ,
  74. Write Better Code by Following These JavaScript Best Practices (by) · · ,
  75. What Devs Can Do on Global Accessibility Awareness Day (by) · · ,
  76. How to Create a Custom Range Slider Using CSS (by/via) · · , ,
  77. Are We There Yet? WCAG 2.2 Is at the Candidate Recommendation [Stage] v3 (by/via) · · , ,
  78. Accessible Numbers (by) · · ,
  79. 6 Tips for Improving Language Switchers on Ecommerce Sites (via) · · , , , ,
  80. Thinking on Ways to Solve Color Palettes (by/via) · · , , ,
  81. Release Notes for Safari Technology Preview 170 (by/via) · · , , ,
  82. Jekyll Tutorial: How to Create a Static Website (by/via) · · , ,
  83. ESLint Guide: How to Use It With Confidence (by/via) · · , , , ,
  84. A History of Metaphors for the Internet (by/via) · · , ,
  85. Why Your Design Language System Needs a Product Manager (via) · · ,
  86. Fieldsets, Legends, and Screen Readers Again (by/via) · · , , , , ,
  87. Why Is Web Accessibility Important? (by/via) · · ,
  88. Python Developers Survey 2022 Results (via) · · ,
  89. Vertical Rhythm Using CSS “lh” and “rlh” Units (by) · · ,
  90. State of Node.js Performance 2023 (by) · ·
  91. Semantics and the “popover” Attribute: What to Use When? (by) · · , , ,
  92. It’ll Soon Be (Too) Easy to Develop a Website in A Day (via) · · , , ,
  93. I Just Did a Test to Apply as a Front End Developer—and Things Aren’t Going Well (by) · · ,
  94. GitHub Copilot and ChatGPT Alternatives (by) · · , ,
  95. Getting an Item an Array With a Negative Index With Modern JavaScript (by) · · ,
  96. Design Patterns Are a Better Way to Collaborate on Your Design System (by/via) · · , ,
  97. Conditional CSS With “:has” and “:nth-last-child” (by) · · ,
  98. Comparing Version Control Systems: Git, SVN, CVS, and More · · , , , ,
  99. Using HTML Landmark Roles to Improve Accessibility (by/via) · · ,
  100. Solving Media Object Float Issues With CSS Block Formatting Contexts (by/via) · · ,
  101. Let’s Share Our Salaries, Title, Location, XP · · ,
  102. HTML Landmark Roles Screen Reader Demo (by/via) · · , , , , ,
  103. How to Handle Production Support When Using Scrum (by/via) · · , , ,
  104. Get Full Type Support With Plain JavaScript (via) · ·
  105. CSS Art: Drawing a Coffee Stain (by) · · ,
  106. 10 Books to Improve Coding Skill in 2023 (by) · · , ,
  107. The Problem With Disabled Buttons and What to Do Instead (by) · · , ,
  108. Screen Readers Don’t Announce When the User Reaches the “maxlength” Character Limit (by/via) · · , , , , ,
  109. ES2023 Features (by) · ·
  110. Error Message Guidelines (by+/via) · · , , ,
  111. 7 Secret TypeScript Tricks Pros Use (by) · · ,
  112. Building a Frontend Framework—Reactivity and Composability With Zero Dependencies (by) · · , ,
  113. What Is “Fake Door” Testing in UX? (via) · · ,
  114. Respect Your Children (by/via) · · , ,
  115. Keeping Up With an Ever Changing Web (by/via) · · ,
  116. Building a Greener Web (by/via) · · , ,
  117. Add Opacity to an Existing Color (by) · · ,
  118. Announcing INP as the Next Core Web Vital: What Shopify Stores Can Do Now (by/via) · · , ,
  119. What’s New in CSS and UI: I/O 2023 Edition (by+/via) · · ,
  120. The JavaScript Ecosystem Is Delightfully Weird (by/via) · ·
  121. Regular Expressions in JavaScript (by/via) · · ,
  122. Introduction to Screen‐Readers: VoiceOver macOS Edition (by) · · , , , , ,
  123. Introduction to Screen‐Readers: NVDA Edition (by) · · , , , ,
  124. Introduction to Screen‐Readers: JAWS Edition (by) · · , , , ,
  125. Best Practices for All Developers (by) · ·
  126. An Introduction to the Bun JavaScript Runtime (by/via) · · , ,
  127. The Difference Between Agile and UX Is Not About Quantity vs. Quality (by/via) · · , , ,
  128. Introducing Baseline (by/via) · · , , ,
  129. Introducing INP to Core Web Vitals (via) · · , , ,
  130. Introducing Baseline: A Unified View of Stable Web Features (by/via) · · , , ,
  131. Why an Engineering Manager Should Not Review Code (by/via) · · ,
  132. What’s New in Web (by/via) · · , , ,
  133. What’s New in Web Animations (by/via) · · ,
  134. The 9 Most Effective Core Web Vitals Opportunities of 2023 (by/via) · · , ,
  135. Slow Design (via) · · ,
  136. Is Data Transfer the Best Proxy for Website Carbon Emissions? (by) · · ,
  137. How to Optimize Web Responsiveness With Interaction to Next Paint (by+/via) · · , , ,
  138. ES2023 Introduces New Array Copying Methods to JavaScript (by/via) · · , , ,
  139. Developer Tools That Shouldn’t Be Secrets (by/via) · · , ,
  140. Crafting a Modern Spotlight Effect With React and CSS (by) · · , ,
  141. Baseline Features You Can Use Today (by/via) · · , ,
  142. Advancing Interaction to Next Paint (by+/via) · · ,
  143. Rearrange/Animate CSS Grid Layouts With the View Transition API (by/via) · · , , , ,
  144. The Ongoing Defence of Frontend as a Full-Time Job (by) · ·
  145. See What’s New in Firefox [113.0] (via) · · , , ,
  146. Script Evaluation and Long Tasks (by/via) · · , ,
  147. Optimize Input Delay (by/via) · · , ,
  148. How to Handle Emojis in Node.js (by) · · , , ,
  149. How Large DOM Sizes Affect Interactivity, and What You Can Do About It (by/via) · · , , ,
  150. Find Slow Interactions in the Field (by/via) · · , ,
  151. Diagnose Slow Interactions in the Lab (by/via) · · ,
  152. Design Systems [Are] a Mindset Not a Library (by/via) · ·
  153. Client-Side Rendering of HTML and Interactivity (by/via) · · , ,
  154. An Introduction to Container Queries in CSS (by/via) · · , ,
  155. Proportional Design Systems With Proportio.app (by/via) · ·
  156. A Comprehensive Guide to Using Langchain.js and Google Cloud Functions for AI Applications (by/via) · · , , , , ,
  157. Speed Trap (by/via) · · , ,
  158. ShatGPT (by) · · ,
  159. Pay Attention to Web Performance Metrics to Improve the UX (by/via) · · , , , ,
  160. Improving Web-Site Conversion Rates Through Better UX Design (via) · · , , ,
  161. Dithering (by) · · ,
  162. A Complete Guide to Usability Testing (by/via) · · , ,
  163. How to Configure Path Aliases in Frontend Projects in the Native Way · · , , ,
  164. The Problem With Sticky Menus and What to Do Instead (by) · · , ,
  165. How Far Back in Time Can I Take My Website’s Design · · , , , ,
  166. The Image Sorting Experiment (by/via) · · , , ,
  167. Should the Confirmation Button Come First or Last? (via) · · ,
  168. Scaling Node.js Web Apps With Docker (by) · · , , ,
  169. Cron Job: A Comprehensive Guide for Beginners (via) · · ,
  170. Complete Guide on Playwright Visual Regression Testing (by/via) · · , , , ,
  171. Speed Up or Slow Down a Video (by/via) · · , ,
  172. Scroll-Driven Animations (by) · · , ,
  173. I’m Done With React (by) · · ,
  174. HTTP/1 vs. HTTP/2 vs. HTTP/3 (via) · · , ,
  175. htmx Is the Future (by) · · ,
  176. How “:not()” Chains Multiple Selectors (by/via) · · ,
  177. Design Tokens: Beginner’s Guide (by) · · , ,
  178. CSS Logical Properties: A Good Use Case (by) · · , ,
  179. 5 Best Practices to Sustainably Improve Core Web Vitals (by/via) · · , ,
  180. Using Go for Front End Development (by/via) · ·
  181. The Frontend Cloud Advantage (via) · ·
  182. React Testing Library and Accessibility (by) · · , , , ,
  183. How Do You Declare Namespace in JavaScript? · · ,
  184. GitHub Actions: All Actions Will Run on Node 16 Instead of Node 12 (via) · · , ,
  185. Code Coverage vs. Test Coverage (via) · · , , ,
  186. An Introduction to the “:has()” Selector in CSS (by/via) · · , ,
  187. Make Your Website Load Fast by Optimizing Request Priorities (via) · · , ,
  188. How to Make a CSS-Only Hamburger Menu (by) · · , ,
  189. 7 Practical CSS Typography Tips and Tricks (by/via) · · , , ,
  190. Where Would You Take the W3C? (by) · · ,
  191. The Latest Innovations in Drupal (by) · ·
  192. The Intersectionality of Web Performance (by) · · , ,
  193. Security Implications of HTTP Response Headers (via) · · ,
  194. Release Notes for Safari Technology Preview 169 (by/via) · · , , ,
  195. How to Write More Efficient JavaScript Conditions (via) · · , ,
  196. Don’t Use Custom CSS Scrollbars (by) · · ,
  197. Digital Accessibility Is a Bigger Education Issue Than We Think—Here’s What We Can Do About It (by/via) · · ,
  198. Detecting if an Event Was Triggered by a User or by JavaScript (by/via) · · ,
  199. Angular v16 Is Here (by/via) · · ,
  200. The Simple Trick to Transition From Height “0” to “auto” With CSS (by) · · , , ,
  201. CSS Naked Day and the Missing Wikipedia Page (by) · · , ,
  202. Why “font-size” Must Never Be in Pixels (by) · · , , ,
  203. SupportsCSS (by) · · , , ,
  204. Short Note: Why Isn’t “role=presentation”/“none” Allowed on Focusable Elements? (by) · · , , ,
  205. Do Logical Properties Make CSS Easier to Learn? (by) · · , ,
  206. developers.events: Maintaining a GitHub repository—What Have I Learned in 7 Years? (by) · · , ,
  207. Creating an Animated Gradient Border With CSS (by) · · , , ,
  208. An Update on the Lock Icon (by+/via) · · , ,
  209. A Radical Proposal: Put UX Research in Charge (by/via) · · , , ,
  210. A Complete Guide to Performance Budgets (by/via) · · , , ,
  211. A/B Testing: A Primer · · , , ,
  212. 3 Engineering Mistakes That Kill Startups (by) · · ,
  213. Qwik Reaches v1.0 (via) · · ,
  214. What’s New in Svelte: May 2023 (by/via) · · , ,
  215. CDNs: Speed Up Performance by Reducing Latency (by) · · ,
  216. This Blog Is Hosted on My Android Phone (by) · · ,
  217. Testing Feature Support for Modern CSS (by) · · , ,
  218. Tailwind CSS vs. UnoCSS (by) · · , , , ,
  219. “:root” Isn’t Global (by) · ·
  220. Practical Guide to Not Blocking the Event Loop · · , , , ,
  221. CSS Wishlist 2023 (by) · · ,
  222. Configuring ESLint, Prettier, and TypeScript Together (by) · · , , , , , ,
  223. Beyond Content Creation: How Open Source Contributions Can Help You Get Noticed (by/via) · · , ,
  224. 7 Things to Remove From Your Job Postings to Be More Inclusive (by/via) · · ,
  225. 30th Anniversary of Licensing the Web for General Use and at No Cost (by/via) · · , , , , ,
  226. Two Underused Arguments for Writing Documentation (by) · · , ,
  227. My Favorite Free Courses to Learn JavaScript in Depth (by) · · , , ,
  228. The Popover API Is Exciting, Sort Of (by) · · ,
  229. Dark Mode in 3 Lines of CSS and Other Adventures (by) · · ,
  230. Write Better CSS by Borrowing Ideas From JavaScript Functions (by/via) · · , , ,
  231. Rebuilding a Featured News Section With Modern CSS: Vox News (by) · · , , ,
  232. New to the Web Platform in April (by/via) · · , , , , , ,
  233. JS Private Class Fields Considered Harmful (by) · ·
  234. Everything You Need to Know About Webpack’s Bundle Analyzer (by) · · , ,
  235. Animating the Impossible (by/via) · · , ,
  236. A Beginner’s Introduction to the Most Common Data Types in Programming (via) · · , ,
  237. What Is the Value of a Design System? (by/via) · ·
  238. Progress Over Perfection: The Better Way for Communication and Accessibility Advocacy (by) · · , , ,
  239. Writing Unit Tests in Node.js Using Jest (by+/via) · · , ,
  240. Typography for Everyone (by/via) · · , ,
  241. The Most Underrated Section of Design Portfolios (by/via) · · ,
  242. Modern CSS Layout Is Awesome! (by/via) · · , ,
  243. How to Manage Design Tokens (by) · · , ,
  244. How to Deep Merge Arrays and Objects With JavaScript (by) · · , , ,
  245. Accessible Target Sizes Cheatsheet (by/via) · · ,
  246. The Most Important Thing Productivity Tools Are Missing About AI (by/via) · · , ,
  247. The Interactive Guide to Rendering in React (by/via) · · , ,
  248. Discovering the Power of JavaScript Proxy After All This Time (by) · ·
  249. Adding Motion to the Next Decade of Atomic Design (via) · · ,
  250. Transition To and From “display: none” With Upcoming CSS Capabilities (by) · · , ,