Frontend Dogma

News and Tools for Frontend Development (13)

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

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