Frontend Dogma

News and Tools for Frontend Development (9)

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

  1. “JavaScript Is Weird” as a Compressor (by) · · ,
  2. Scroll-Driven State Transfer (by) · · ,
  3. Link Colors and the Rule of Tincture (by) · · ,
  4. CSS Findings From Photoshop Web Version (by) · · , , ,
  5. Bubble Sort… in Pure CSS? (No JS) (by) · · , ,
  6. How to Style Element Descendants With Tailwind CSS (by) · · ,
  7. What’s New in CSS? (by/via) · · ,
  8. 44 React Frontend Interview Questions · · ,
  9. Organizing Multiple Git Identities (by) · ·
  10. How We Optimized Package Imports in Next.js (by/via) · · , , ,
  11. The Negative Impact of Mobile-First Web Design on Desktop (by+/via) · · , , , ,
  12. Forget Twitter: WordPress.com Blogs Can Now Connect to Mastodon (by/via) · · , , ,
  13. Button Labels: Is “OK” Ok? (via) · · , , ,
  14. Honor User’s Transparency Setting in CSS (by) · · , ,
  15. Scrollbars Are Becoming a Problem (by) · · , ,
  16. Digital Accessibility Blogs and Newsletters (by/via) · · ,
  17. Unpopular Opinion: It’s Harder Than Ever to Be a Good Software Engineer (by) · · ,
  18. Why Companies Kill Great Design (by/via) · ·
  19. Using CSS Custom Properties Like This Is a Waste (by) · · , ,
  20. Quick Tip: Creating Polymorphic Components in TypeScript (by/via) · · , ,
  21. Astro 3.3: Picture Component (by+/via) · · ,
  22. We Need Web Progress, Not Pessimism (by) · · ,
  23. You Can’t Get Faster Than No Build (by/via) · · ,
  24. Why Naming Is #1 Skill for Writing Clean Code (by/via) · · , ,
  25. Let’s Prototype a JavaScript JIT Compiler (by) · · , , ,
  26. Introduction to Web Sustainability (by/via) · · ,
  27. CSS Relative Color Syntax (by/via) · · , ,
  28. Preventing and Debugging Memory Leaks in Node.js (by/via) · · , ,
  29. Styling External Links With Attribute Selectors (by/via) · · , ,
  30. Designing for All: The Basic Principles of Web Accessibility (via) · · , , , ,
  31. Skip Links on ikea.com (by) · · , ,
  32. Greenwashing and the COP28 Website (by/via) · · ,
  33. Local HTTPS for Next.js 13.5 (by) · · , , ,
  34. AI Could Soon Need as Much Electricity as an Entire Country (by/via) · · ,
  35. 5 Best Practices for Preventing Chaos in Tailwind CSS (by+/via) · · ,
  36. The Global “innerWidth” and “innerHeight” Properties Return the Width and Height of the Layout Viewport (by/via) · · , ,
  37. The Selected Date Must Be Within the Last 10 Years (by/via) · · , ,
  38. Hashnode’s Overall Architecture (by/via) · · ,
  39. The Future of CSS: Easy Light-Dark Mode Color Switching With “light-dark()” (by/via) · · , ,
  40. Obligatory WCAG 2.2 Launch Post (by) · · , ,
  41. Why the Internet Isn’t Fun Anymore (by/via) · · ,
  42. CSS-Only Scroll-Driven Animation and Other Impossible Things (by+/via) · · , ,
  43. Extending the Properties of an HTML Element in TypeScript (by/via) · · , ,
  44. Adding Search to an Eleventy Site Without Client-Side JavaScript (by) · · , , ,
  45. Inclusivity in the Digital Age: The Importance of Accessibility Advocacy (via) · · , , ,
  46. The Hidden Performance Cost of Node.js and GraphQL (by) · · , ,
  47. Speeding Up the JavaScript Ecosystem—the Barrel File Debacle (by) · · , ,
  48. CSS 3D Text Effects · · ,
  49. Naming Variables in CSS (by) · · , ,
  50. Welcome WCAG 2.2 and Goodbye Success Criterion 4.1.1 “Parsing” (by) · · , ,
  51. Don’t Use Fixed CSS “height” or “width” on Buttons, Links, or Any Other Text Containers (by) · · , , , ,
  52. Table of Contents: The Ultimate Design Guide (by/via) · · , , ,
  53. Demystifying WCAG 2.2 (by/via) · · , ,
  54. WCAG 2.2 and Validation (by) · · , , ,
  55. Writing Accessible Form Messages (by) · · , ,
  56. Which Is the Best Image Format for Your Website? (via) · · , , , , , ,
  57. Quick Tip: Decorators in TypeScript (by/via) · · ,
  58. The Nonvisual Website (by) · · ,
  59. How Did You Switch From JavaScript to TypeScript? · · , , ,
  60. An Anchored Navbar Solution (by) · · , ,
  61. What’s New in WCAG 2.2 (by/via) · · , , ,
  62. Intopia Launches WCAG 2.2 Map (by/via) · · , ,
  63. When to Nest CSS (by/via) · · ,
  64. WCAG 2.2 Is Now a W3C Recommendation (by) · · , ,
  65. What Happened to Separation of Concerns in Frontend Development (by) · · , , , ,
  66. React Micro-Frontends Using Vite · · , ,
  67. Hey Designers, They’re Gaslighting You (by) · · ,
  68. Web Content Accessibility Guidelines (WCAG) 2.2 (by+/via) · · , , ,
  69. GitHub Actions: “NODE_OPTIONS” Is Now Restricted From “GITHUB_ENV” (via) · · , ,
  70. WCAG 2.2 Is Now a Published Web Standard (by/via) · · , , , ,
  71. It’s Time to Rethink the Americans With Disabilities Act (via) · · ,
  72. Chrome Now Shows Each Active Tab’s Memory Usage (by) · · , , ,
  73. Whatever Happened to the Zend Framework (by) · · , ,
  74. Let’s Create a Filter Table Component in Vue (by) · · , , ,
  75. Career Growth After 35: What Awaits Programmers? (via) · · ,
  76. Accessibility vs. Inclusive Design (by/via) · · , , ,
  77. Still No CSS Reset (by) · · ,
  78. The Power of Type Safety in TypeScript (via) · · ,
  79. An Interactive Intro to CRDTs (by) · · , ,
  80. Release Notes for Safari Technology Preview 180 (by/via) · · , , ,
  81. Deploy and Test AWS Step Functions With Node.js (via) · · , , , ,
  82. Limit the Reach of Your Selectors With the CSS “@ scope” At-Rule (by/via) · · , , ,
  83. The Problem With WordPress Is Positioning, Not Plugins (by/via) · ·
  84. Being Picky About a CSS Reset for Fun and Pleasure (by) · · ,
  85. Your Website Does Not Need JavaScript (by/via) · · , ,
  86. How to Be an Accessibility Ally (by) · · , ,
  87. Get Ready for Interop 2024 (by/via) · · ,
  88. Return to Office Is Bullshit and Everyone Knows It (by) · · ,
  89. The Most Minimal Valid HTML Document (by) · · , , ,
  90. Crawlers (by) · · ,
  91. Have You Seen These Weird Image Tag Issues? (by) · · ,
  92. Demystifying CSS Container Queries (by+/via) · · , ,
  93. Nine Things Automated Accessibility Tests Can’t Test (by) · · , ,
  94. The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses) (by) · · , ,
  95. How to Clear Cache and Cookies on a Customer’s Device (by) · · , , ,
  96. TypeScript Monorepo With npm Workspaces (by) · · , , ,
  97. In-Page Links for Content Navigation (via) · · , ,
  98. The 3 Secrets to Font Pairing · · , ,
  99. Monitoring a Kubernetes Application With Prometheus, Grafana, and Loki (by/via) · · , ,
  100. Making a Website Is for Everyone (by) · · , ,
  101. The Myth of Infinite Data Growth (by) · · ,
  102. All the Ways to Turn an Array Into an Object in JavaScript (by) · · , ,
  103. Test Assertion Styles in JavaScript (by) · · ,
  104. Managing and Mitigating Design Debt: A Solo UX Designer’s Guide · · , ,
  105. Understanding the CSS Auto-Resizing Textarea Trick (by) · · , ,
  106. Re-Creating the Pop-Out Hover Effect With Modern CSS (by/via) · · ,
  107. Four Reasons to Give WCAG AAA a Second Look (via) · · , ,
  108. 20+ Tools for Node.js Development in 2023 (via) · · , ,
  109. How I Deployed My Website as a Docker Container (by) · · ,
  110. Naming Things Needn’t Be Hard (by) · · ,
  111. Crafting Future-Ready Experiences: The Power of Progressive Web Apps (PWAs) and Offline-First Design (by) · · ,
  112. Characteristics of Code Quality (by) · · ,
  113. Node v20.8.0 (by/via) · · ,
  114. Exploring Enhanced Patterns in WordPress 6.3 (via) · ·
  115. Easy Dark Mode With “color-scheme” (by) · · , , , ,
  116. A Socket API That Works Across JavaScript Runtimes—Announcing a WinterCG Spec and Node.js Implementation of “connect()” (by+/via) · · , ,
  117. CSS Nesting and the Cascade (by/via) · · , ,
  118. A Comprehensive Guide to the Dangers of Regular Expressions in JavaScript (by/via) · · , , ,
  119. 5 Pillars of Responsible Generative AI: A Code of Ethics for the Future (via) · · ,
  120. The Ultimate Low-Quality Image Placeholder Technique (by) · · , ,
  121. CSS Terminology Demystified (by/via) · · , ,
  122. An Introduction to Web Components (by) · · ,
  123. Best Practices for Securing Node.js Applications in Production (by+/via) · · , ,
  124. Honey, I Shrunk the npm Package (by) · · , ,
  125. The Saga of the Closure Compiler, and Why TypeScript Won (by) · · , , ,
  126. Stop Using JS for That: Moving Features to CSS and HTML (by/via) · · , , ,
  127. Frontend Monitoring: Strategies, Best Practices, Tools, and More (via) · · , , ,
  128. SSH Keys Stolen by Stream of Malicious PyPI and npm Packages (by/via) · · , , ,
  129. How to Make the Case for Design Systems (by/via) · · ,
  130. The Cost of Obsessing Over Design Perfection (by/via) · · , ,
  131. Real AI Solutions for Accessibility Challenges (via) · · ,
  132. Form Accessibility and Usability Beyond the Basics (via) · · , ,
  133. Top 5 ARIA Implementation Errors (by/via) · · , ,
  134. Overlays: Just Another Disability Dongle (by/via) · · ,
  135. No More 404 (by) · · , , ,
  136. npm Provenance General Availability (via) · · , , ,
  137. 8 More Micro Tips for Remarkably Better Typography (by/via) · · , , ,
  138. Taming Tailwind (by) · · ,
  139. Textareas With Auto-Increasing Height Using CSS (by) · · ,
  140. The Future of Web Design: Emerging AI Technologies and Trends (by/via) · · , , ,
  141. The Illusion of Developer “Productivity” Opens the Door to Snake Oil (via) · · ,
  142. Why HTTP/3 Is Eating the World (by/via) · · ,
  143. How Mastodon Handles Images and Web Previews (by) · · , , , , ,
  144. Understanding Puppeteer Headless (via) · · , , ,
  145. What Are Accessibility Overlays? (by) · · , ,
  146. HTML Popover, Videos and “display:blackhole” (by) · · , ,
  147. Accessibility Is Easy… Except for When It Isn’t (by/via) · · ,
  148. Misconceptions Can Kill Accessibility Momentum (by) · · , ,
  149. Token Based Authentication With Fastify, JWT, and TypeScript (by) · · , , ,
  150. GitHub Actions Could Be So Much Better (by) · · , ,
  151. Upgrading Frontend Dependencies With Confidence (by/via) · · , , , ,
  152. Responsive Type Scales With Composable CSS Utilities (by) · · , ,
  153. How to Build Trust With Others by Organizing Your Figma Files (by/via) · · , , ,
  154. How to Escape CSS Selectors in JavaScript (by) · · , , , ,
  155. The Path to Awesome CSS Easing With the “linear()” Function (by/via) · · , ,
  156. State of HTML 2023 (by/via) · · ,
  157. Open Source Trends to Look for in 2024 (via) · · , , , ,
  158. TypeScript Origins: The Documentary (via) · · , ,
  159. Native Mobile Accessibility Testing (by/via) · · , , ,
  160. The WebP 0-Day (by) · · , , ,
  161. The Design System Ecosystem (by) · · ,
  162. What Is Strict Mode in JavaScript? · ·
  163. What Makes an Accessible Date Picker? Is It Even Possible? (by/via) · · , ,
  164. Unlocking a World of Accessibility: How Internationalization Is the Key (by/via) · · , , ,
  165. Save Our World With Progressive Enhancement and Accessibility (by/via) · · , ,
  166. Accessible Web Components? (by/via) · · , ,
  167. Supercharge Your Repository With Code Owners (by/via) · · , ,
  168. The Character Encoding Cheat Sheet for JS Developers (by/via) · · , , ,
  169. Speeding Up the JavaScript Ecosystem—Polyfills Gone Rogue (by) · · , ,
  170. Developers Talking About Code Quality (by+/via) · · , , ,
  171. CSS Findings From The Threads App II (by) · · ,
  172. Introducing Runes (via) · ·
  173. The Psychology of Web Performance (by/via) · · ,
  174. We are Chrome for Developers (via) · · , , , , , ,
  175. Building a Core Accessibility Team: The Keys to the Kingdom (by/via) · · , ,
  176. How to Use the New “<search>” Element With WordPress (by) · · , ,
  177. How to Make Forms in Angular Reusable (by) · · , , , ,
  178. Release Notes for Safari Technology Preview 179 (by/via) · · , , ,
  179. Experimenting With Measuring Soft Navigations (by+/via) · · , , , ,
  180. What Can You Do With “data” Attributes? (by) · · ,
  181. Bun vs. Node.js: Everything You Need to Know (by/via) · · , ,
  182. What an Economist Article Says About Website Accessibility and Lawsuits (by/via) · · ,
  183. Get All That Network Activity Under Control With Priority Hints (by) · · , ,
  184. Better User and Developer Experience With htmx (by+/via) · · ,
  185. Git: Don’t Create .gitkeep Files, Use .gitignore Instead (by) · ·
  186. One Thing Nobody Explained to You About TypeScript (by) · · ,
  187. Understanding the JavaScript Modulo Operator (by) · · ,
  188. Managing Design Debt: Strategies for Sustainable User Experience (by/via) · · , ,
  189. 1-Minute CSS Tip: Accent Colors (by) · · , ,
  190. WebKit Features in Safari 17.0 (by/via) · · , , , ,
  191. A (More) Modern CSS Reset (by) · · ,
  192. First Steps to an Accessible Website—Skip Links (via) · · ,
  193. Node.js: A Guide to Native .env Support and Local Development (by) · · , ,
  194. Node v20.7.0 (by/via) · · ,
  195. Arrow Functions vs. Traditional Functions in JavaScript (by) · · , , ,
  196. Sustainability and Tech and Us (by) · · , , ,
  197. Why Not React? (by) · ·
  198. Expanding Your Touch Targets (by) · · , ,
  199. The JS Community on Twitter Is Dead (by) · · , ,
  200. Expert CSS: The CPU Hack (by) · · ,
  201. How to Make a Strong Case for Accessibility (by/via) · · , ,
  202. How UnoCSS Works Internally With Vite? (by) · · ,
  203. Accessibility and Inclusivity: Study Guide (by/via) · · , , , ,
  204. Solved by CSS Scroll-Driven Animations: Detect If an Element Can Scroll or Not (by/via) · · , ,
  205. Writing Clean Code: Best Practices and Principles (by) · · , , , , ,
  206. Bun Hype: How We Learned Nothing From Yarn (by) · · , , ,
  207. Revealing Images With CSS Mask Animations (by/via) · · , ,
  208. What Makes Some Interruptions More Disruptive Than Others? (by) · · , ,
  209. Whataboutism (by) · ·
  210. Securing Your Node.js Apps by Analyzing Real-World Command Injection Examples (by) · · , , ,
  211. JavaScript Is Getting Array Grouping Methods (by) · · ,
  212. The 10 Tools I Install on Every New Mac I Get (by) · · , ,
  213. The 5 Principles of Unit Testing (via) · · , ,
  214. v0.dev (via) · · , , , , ,
  215. View Transition Debugging (by) · · , , ,
  216. The 10ish Tools I Install on Every New Mac I Get (by) · · , ,
  217. Why Is Creativity So Blurry, and Am I Creative? (via) · · , ,
  218. How Custom Property Values Are Computed (by) · · ,
  219. Submit Your Proposals for Interop 2024 (by+/via) · · , ,
  220. Incremental Static Regeneration for Angular (by/via) · · ,
  221. Why I Quit Open Source (by) · · , ,
  222. Use Cases for IIFEs (by) · ·
  223. Documentation Is a Living Thing: How We Talk Informs What We Make (by/via) · · , ,
  224. Getting Started With CSS in JS (via) · · ,
  225. Multi-Page Web Apps (by) · · , ,
  226. Why Drupal 10 (by/via) · · ,
  227. I Think I Kind of Hate Lazy Loading (by) · · ,
  228. Nuclear Anchored Sidenotes (by) · · ,
  229. Stop Lazy Loading Product and Hero Images (by/via) · · , ,
  230. The Cult of Productivity (by/via) · · , ,
  231. Limitations of Scoped CSS (by) · · ,
  232. From Silos to Design Systems (via) · · , ,
  233. Changes and Additions in Pointer Events Level 3 (by/via) · · , , ,
  234. State of Web Accessibility, ARIA in HTML, and Missing UI Patterns (by+/via) · · , , ,
  235. The Real Value of Tokens (via) · · ,
  236. What Is Functional Testing? Definition, Key Concepts, and Types (by/via) · · , ,
  237. Gradients, Blend Modes, and a Really Cool Hover Effect (by/via) · · , ,
  238. JPEG and EXIF Data Manipulation in JavaScript (by/via) · · , ,
  239. Cool Tools (by/via) · · ,
  240. Discover Bun—a Faster, Modern JavaScript Runtime (by) · · , ,
  241. Medium vs. DEV vs. Hashnode vs. Hackernoon (by) · · , , ,
  242. Rewriting Digital Content for Brevity (via) · · , , ,
  243. Creating Dynamic README.md File (by) · · ,
  244. Why Your Design System Needs a Component Process (by) · · , ,
  245. Running a Playwright Script on AWS Lambda (by) · · , ,
  246. How I Approach and Structure Enterprise Frontend Applications After 4 Years of Using Next.js (by) · · , ,
  247. Bun, JavaScript, and TCO (by) · · , ,
  248. Bun 1.0 (by+/via) · · ,
  249. The Dangers of Deceptive Design Patterns (and How to Avoid Them) (via) · · ,
  250. JavaScript WTF: Why Does “every()” Return “true” for Empty Arrays? (by) · ·