Frontend Dogma

News and Tools for Frontend Developers (11)

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

  1. Accessibility Training Can Sometimes Harm Accessibility (by) · · ,
  2. AI Is the New UI (by/via) · · ,
  3. Stop Using AI-Generated Images (by/via) · · ,
  4. NCSA Mosaic: How the First Mainstream Web Browser Changed the World Forever · · , ,
  5. Mastering Cryptography Fundamentals With Node’s “crypto” Module (by) · · , ,
  6. Lost in Translation: Tips for Multilingual Web Accessibility (by) · · , , ,
  7. Do You Really Need to Validate Your HTML Code? · · , ,
  8. Never Use “scroll” Value for Overflow (by) · · ,
  9. Never Use “Scroll” Value for Overflow (by) · · ,
  10. CSS Nesting Is Here (by/via) · · ,
  11. Creating Accessible UI Animations (via) · · ,
  12. Cookie Permissions 101 (by/via) · · , ,
  13. A Faster Web in 2024 (by) · · , , ,
  14. Understanding HTML Landmarks and How to Apply Them (by/via) · · , , ,
  15. NaN or Not a Number? (by/via) · ·
  16. Modern Frontend Testing With Vitest, Storybook, and Playwright (by/via) · · , ,
  17. HTML Web Components (by) · · , ,
  18. How Long Until Your Website Is Accessible? (by) · · ,
  19. Front End Devs Really Don’t Understand Accessibility (by) · · ,
  20. ES6 Features You Didn’t Know You Needed: A JavaScript Guide for Beginners (via) · · ,
  21. Effective Engineering Teams (by) · · , ,
  22. CSS Nesting Relaxed Syntax Update (by/via) · · , , , , ,
  23. Can Bun Eat Node.js’s Lunch? Testing the Trendy Toolkit (by/via) · · , ,
  24. CSS Positioning Crash Course (by/via) · · , , , ,
  25. Introducing Angular v17 (by/via) · · , ,
  26. Web Developers: Remarkably Untalented and Careless? (by) · · , ,
  27. Using CSS “content-visibility” to Boost Your Rendering Performance (via) · · , ,
  28. Secure Code Review Tips to Defend Against Vulnerable Node.js Code (by) · · , ,
  29. “@ scope” (by/via) · · , ,
  30. Monolith to Microservices: 5 Strategies, Challenges, and Solutions (by/via) · · , , , ,
  31. How to Use Timeouts in Node.js (by/via) · · , ,
  32. Handling Null, Undefined, and Zero Values in JavaScript (by/via) · ·
  33. Everything About SEO Is Obnoxious (by) · · , ,
  34. Angular (via) · · ,
  35. Writing Components That Work in Any Frontend Framework (by) · · ,
  36. Why We Need a “Green” Perf Metric (by/via) · · , , ,
  37. Truly Semantic (by) · · , ,
  38. Surprising Facts About New CSS Selectors (by/via) · · ,
  39. React Router v6: A Beginner’s Guide (by/via) · · , ,
  40. How Miro Migrated Its Analytics Event Tracking System (by/via) · · , , ,
  41. How Core Web Vitals Saved Users 10,000 Years of Waiting for Web Pages to Load (by+/via) · · , , ,
  42. Headless Component: A Pattern for Composing React UIs (by/via) · · , ,
  43. (Don’t) Mind the Gap (by/via) · · ,
  44. Deploying a Vue Application With Netlify and GitHub (via) · · , , ,
  45. Creating Accessible Content in Drupal 10 (by/via) · · , ,
  46. Addressing Accessibility Concerns With Using Fluid Type (by/via) · · , ,
  47. Accessibility Training Will Not Save You (by) · · , , ,
  48. 13 HTML Attributes You Should Know About (by) · ·
  49. The Role of Prototyping in UX Design: From Wireframes to Interactive Mockups (by/via) · · , ,
  50. Removing List Styles Without Affecting Semantics (by) · · , , ,
  51. How to Use npm Packages Outside of Node (via) · · , , ,
  52. How to Build a Server-Side React App Using Vite and Express (by/via) · · , , , ,
  53. “git rebase”: What Can Go Wrong? (by) · ·
  54. Default Layouts in 11ty (by) · ·
  55. Understanding React Error Boundary (via) · ·
  56. To Hell With the Business Case (by) · · , ,
  57. How Creating Content as a Developer Changed My Life (by) · · ,
  58. WCAG 2.2 Will Be a Part of EN 301 549 and With That a Part of WAD and EAA (by) · · , , ,
  59. Understanding CORS (by) · · ,
  60. Workarounds for Buggy Gradients (by) · · , ,
  61. Totally Remdom, or How Browsers Zoom Text (by) · · , , , ,
  62. Messing About With CSS Gradients (by/via) · · ,
  63. How to Do a TypeScript Conversion (by) · · , , , , ,
  64. GitHub Copilot Now Generates AI Commit Messages (by) · · , ,
  65. An Accessibility Bookmarklet for Testing 200% Text Size (by) · · , ,
  66. Shadow DOM on Regular Elements (by) · · ,
  67. Information vs. Experience: How to Build Mature Design Systems (via) · · , ,
  68. Why You Should Use “px” Units for Margin, Padding, and Other Spacing Techniques (by) · · , , ,
  69. Use the CSS “:disabled” Pseudo-Class Instead of the “[disabled]” Attribute Selector to Match Disabled Form Controls (by/via) · · , ,
  70. In Quest to Defeat Euro Red-Tape, Apple Said It Had Three Safari Browsers—Not One (by/via) · · , , , ,
  71. How to Write Good Alt Text for Screen Readers (by) · · , , , , ,
  72. How to Use the Fetch API in Node.js, Deno, and Bun (by/via) · · , , , , , ,
  73. “:fullscreen” Demo Without JavaScript (by) · · ,
  74. Don’t Turn a Table Into an ARIA Grid Just for a Clickable Row (by) · · , , ,
  75. Can AI Help Boost Accessibility? These Researchers Tested It for Themselves (via) · · , ,
  76. Answers to Common (Web) Accessibility Questions (by) · ·
  77. 10 Best Web Development Stacks · · ,
  78. The “prefers-reduced-transparency” Media Feature (by) · · , ,
  79. The People Who Ruined the Internet (by/via) · · , ,
  80. The Dangers of Doomscrolling for Designers and How to Break Free (via) · ·
  81. Technical Standards Bodies Are Regulators (by) · · , ,
  82. Speeding Up the JavaScript Ecosystem—Tailwind CSS (by) · · , ,
  83. Response Code Cheat Sheet for Laravel HTTP Client (by) · · , ,
  84. Release Notes for Safari Technology Preview 182 (by/via) · · , , ,
  85. Personal-Scale Web Scraping for Fun and Profit · · , , ,
  86. One HTML Tag, Thirty+ CSS Drawings—My Divtober 2023 Collection (by) · · ,
  87. Learn Performance (by+/via) · · ,
  88. How Bear Does Analytics With CSS · · , , ,
  89. Getting Started With NVDA (via) · · , , , , ,
  90. Dark Visitors (by) · · , , ,
  91. Confusing Git Terminology (by) · · ,
  92. Breaking Down a Design (by) · ·
  93. Blinded by the Light DOM (by) · · , , ,
  94. A Comprehensive Guide to Data Engineering · · ,
  95. 0 KB Social Media Embeds (by) · · ,
  96. 2023: 0 of the Global Top 100 Websites Use Valid HTML (by) · · , , , ,
  97. Mobile-First Indexing Has Landed—Thanks for All Your Support (by/via) · · , , ,
  98. Why Signals Are Better Than React Hooks (by) · · , , , , ,
  99. Remix ❤️ Vite (by+/via) · · , ,
  100. Better Dynamic Themes in Tailwind With OKLCH Color Magic (by+/via) · · , , ,
  101. Answering Common Questions About Interpreting Page Speed Reports (by/via) · · ,
  102. Accessibility by Degrees (by) · · ,
  103. A Complete Guide to LangChain in JavaScript (by/via) · · , , ,
  104. What Exactly Is “Modern” CSS? (by) · ·
  105. Interop 2023 October Update (by/via) · · , , ,
  106. Effective Strategies for Optimizing Performance (by/via) · · , ,
  107. Don’t Disable Buttons (by) · · , ,
  108. 20 Effective Tips to Speed Up Your Drupal Website (by/via) · · , , ,
  109. Unit-Testing: The Unsung Hero of Code Quality (by) · · ,
  110. The New CSS Math: “rem()” and “mod()” (by) · · , ,
  111. Is Express Still “De Facto” for Building Node Backends? (by) · · ,
  112. A Guide to Using MSSQL With Node.js (via) · · , , ,
  113. Why Is node_modules Heavier Than the Universe? (by) · ·
  114. View Transitions and Stacking Context: Why Does My CSS View Transition Ignore “z-index”? (by) · · , ,
  115. Let’s Reinvent the Wheel (by) · · , , , ,
  116. An Introduction to Working With SVGs in React (via) · · , , ,
  117. You’re Gonna Need a Bigger Browser (by) · · , , ,
  118. State of React 2023 (by/via) · · ,
  119. Some Sensible Defaults for Your “img” Elements (by) · · ,
  120. So You’ve Been Publicly Accessibility-Shamed (by) · · , ,
  121. How to Find a Developer Job in 2023 (With Little or No Experience) (by) · · ,
  122. AI as a UX Assistant (by/via) · · ,
  123. Why I Won’t Use Next.js (by/via) · · ,
  124. What the !#@% Is a Passkey? (by/via) · · ,
  125. Testing and Code Quality in Node.js (by/via) · · , ,
  126. Secret Scanning Scans Public npm Packages (via) · · , , ,
  127. Performance Optimization With Worker Threads Node.js · · , , ,
  128. Next.js 14 (by+/via) · · ,
  129. Introduction to Real-Time Communication in PHP Laravel (by/via) · · ,
  130. Introduction to htmx (via) · · ,
  131. HTML vs. DOM? Let’s Debug Them (by/via) · · , , , ,
  132. Deprecation of Formatting Rules (by/via) · · , , , ,
  133. Astro 3.4: Page Partials (by+/via) · · ,
  134. Arrays—Implementation in JavaScript (by) · · ,
  135. 20 Simple Ways to Style the HTML “details” Element (by/via) · · ,
  136. What Does the “A” Mean in “DEAI”? (via) · · ,
  137. WebKit Features in Safari 17.1 (by/via) · · , , , ,
  138. Web Components Will Outlive Your JavaScript Framework (by) · · , ,
  139. Vue.js (Vue v3) for Beginners (by/via) · · , ,
  140. Understanding SC 2.4.11 “Focus Not Obscured (Minimum)” (by/via) · · , ,
  141. Sheet, Dialog, or Snackbar—What Should a Designer Go For? (by) · · , ,
  142. Data Engineering Essentials #1: Your First Pipeline (by) · ·
  143. CSS “prefers-reduced-transparency” (by/via) · · , ,
  144. My Problem With Using TypeScript in 2023 (by) · · ,
  145. It’s 2023, Here Is Why Your Web Design Sucks (by) · · , ,
  146. Goodbye, Node.js Buffer (by) · ·
  147. Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators (via) · · , , , ,
  148. Complex MPA View Transitions (by) · · , ,
  149. Change Project, Change Node Version, Let .nvmrc Help You · · ,
  150. A Comprehensive Guide to Django Caching (by/via) · · , ,
  151. What Removing Object Properties Tells Us About JavaScript (by/via) · · ,
  152. Unlocking JavaScript Design Patterns: Mastering Singleton for Ultimate Code Efficiency (by) · · , ,
  153. Tailwind vs. Semantic CSS (by) · · , , , , ,
  154. Svelte by Example (by) · · , ,
  155. Stop Waiting (by) · · ,
  156. Splitting Within Selects (by) · · , , , ,
  157. Solved by CSS Scroll-Driven Animations: Style an Element Based on the Active Scroll Direction and Scroll Speed (by/via) · · , ,
  158. Select Element: Now With Horizontal Rules (by/via) · · , , , , , , , ,
  159. Release: Yarn 4.0 (by/via) · · ,
  160. Navigating the Ethical Complexities of Personalized User Experiences: Balancing Innovation With Privacy and Consent (via) · · , , , ,
  161. JavaScript Is Enabled by Default in Web Browsers (by) · · , ,
  162. JavaScript Decorators: An In-Depth Guide (by/via) · · ,
  163. JavaScript Anti-Pattern: Self-Documenting Code (by) · · , ,
  164. In Defense of Learning on Company Time (by) · · ,
  165. Igalia Chats: Web History Part VI (by+/via) · · , , ,
  166. HTML Meta Tags · · ,
  167. CSS “text-wrap: pretty” (by/via) · · , , , , ,
  168. Color Contrast Accessibility Tools With Examples (via) · · , , , , ,
  169. Changing Colors in an SVG Element Using CSS and JavaScript (by) · · , , ,
  170. Accessibility Improvements for User-Agents (by) · · ,
  171. Strikethrough Accessibility (by/via) · · , , , , ,
  172. What Should Be the Contrast Level of Inactive Buttons? (via) · · , , ,
  173. When to Use CSS “text-wrap: balance;” vs. “text-wrap: pretty;” (by) · · , ,
  174. Using ChatGPT, GitHub Copilot, and Phind to Generate Tailwind Config for Width Classes (by) · · , , ,
  175. Using ChatGPT for Smart Truncation in Responsive Web Design (by) · · , , ,
  176. Is CAPTCHA Accessible? (via) · · ,
  177. How Do You Even Web Dev Without Node? A Quick Introduction to Test-Driven Web Development Using Just the Browser (by) · · ,
  178. Finding the Primary Branch of a Git Repository (by) · ·
  179. Embedding Accessibility Into Code Reviews (via) · · , , ,
  180. I Asked People to Make This Simple Layout and Was Surprised by the Results (by) · · , , ,
  181. Why Unique ID Attributes Matter (via) · · , ,
  182. Web Accessibility Strategies for Non-Accessible Projects (by/via) · · , , ,
  183. The Need for Recognition in Open Source (by/via) · · , , ,
  184. Prodding Firefox to Update “:has()” Selection (by) · · , , , ,
  185. How to Map a Number Between Two Ranges (by) · · , ,
  186. How to Collaborate on Pull Requests for Beginners (by/via) · · , ,
  187. Don’t Do It on Frontend or… Frontend Good Practices for Devs (by) · · , , ,
  188. The Inverse Value of UX and Art (via) · · ,
  189. The New “light-dark()” Function to Switch Theme Color in CSS (by) · · , ,
  190. Storybook 7.5 (by/via) · · ,
  191. Solid.js Creator Outlines Options to Reduce JavaScript Code (by/via) · · ,
  192. Release Notes for Safari Technology Preview 181 (by/via) · · , , ,
  193. On the Uniting Power of a Commitment to HTML Conformance (by) · · , , , ,
  194. How to Animate Along a Path in CSS (by/via) · · , ,
  195. Does the HTML “hr” (Horizontal Rule) Benefit Screen Reader Users? (by/via) · · , , , ,
  196. Do We Need State Management in Angular? · · ,
  197. Start Styling Your “console.log()” Messages in DevTools (by/via) · · , , , ,
  198. Transition Animations: A Practical Guide (by) · · , , ,
  199. The True Cost of Not Prioritizing Accessibility: Avoid Risk and Maximize Product ROI (by/via) · · , , ,
  200. The Three Cs: Concatenate, Compress, Cache (by) · · , ,
  201. The Nuances of Base64 Encoding Strings in JavaScript (by) · · ,
  202. Synchronizing Figma Variables With Design Tokens (by) · · , ,
  203. React Design Patterns (by/via) · · ,
  204. Node.js 21 Available Now! (via) · · ,
  205. How to Use SEO to Build Long-Term Brand Recognition and Visibility (by/via) · · , ,
  206. Design System Documentation Sucks—How We Can Do Better (by) · · ,
  207. Burn Your Toast (by) · · , ,
  208. A Couple of New CSS Functions I’d Never Heard Of (by) · · ,
  209. Scroll-Driven State Transfer (by) · · ,
  210. Link Colors and the Rule of Tincture (by) · · ,
  211. “JavaScript Is Weird” as a Compressor (by) · · ,
  212. Ensuring Negative Numbers Are Available for Everyone (by+/via) · · , ,
  213. Common Vue.js Development Mistakes and How to Avoid Them (by) · · ,
  214. 2.4.11: Adversarial Conformance (by) · · , ,
  215. CSS Findings From Photoshop Web Version (by) · · , , , ,
  216. How to Style Element Descendants With Tailwind CSS (by) · · ,
  217. Bubble Sort… in Pure CSS? (No JS) (by) · · , ,
  218. Button Labels: Is “OK” Ok? (via) · · , , ,
  219. The Negative Impact of Mobile-First Web Design on Desktop (by+/via) · · , , , , ,
  220. What’s New in CSS? (by/via) · · ,
  221. Organizing Multiple Git Identities (by) · ·
  222. How We Optimized Package Imports in Next.js (by/via) · · , , ,
  223. Forget Twitter: WordPress.com Blogs Can Now Connect to Mastodon (by/via) · · , , ,
  224. 44 React Frontend Interview Questions · · ,
  225. Digital Accessibility Blogs and Newsletters (by/via) · · ,
  226. Why Companies Kill Great Design (by/via) · ·
  227. Using CSS Custom Properties Like This Is a Waste (by) · · , ,
  228. Unpopular Opinion: It’s Harder Than Ever to Be a Good Software Engineer (by) · · ,
  229. Scrollbars Are Becoming a Problem (by) · · , ,
  230. Quick Tip: Creating Polymorphic Components in TypeScript (by/via) · · , ,
  231. Honor User’s Transparency Setting in CSS (by) · · , , ,
  232. Astro 3.3: Picture Component (by+/via) · · ,
  233. You Can’t Get Faster Than No Build (by/via) · · ,
  234. Why Naming Is #1 Skill for Writing Clean Code (by/via) · · , ,
  235. We Need Web Progress, Not Pessimism (by) · · ,
  236. Styling External Links With Attribute Selectors (by/via) · · , ,
  237. Skip Links on ikea.com (by) · · , ,
  238. Preventing and Debugging Memory Leaks in Node.js (by/via) · · , ,
  239. Let’s Prototype a JavaScript JIT Compiler (by) · · , , ,
  240. Introduction to Web Sustainability (by/via) · · ,
  241. Designing for All: The Basic Principles of Web Accessibility (via) · · , , , ,
  242. CSS Relative Color Syntax (by/via) · · , ,
  243. AI Could Soon Need as Much Electricity as an Entire Country (by/via) · · ,
  244. The Selected Date Must Be Within the Last 10 Years (by/via) · · , ,
  245. The Global “innerWidth” and “innerHeight” Properties Return the Width and Height of the Layout Viewport (by/via) · · , ,
  246. Local HTTPS for Next.js 13.5 (by) · · , , ,
  247. Hashnode’s Overall Architecture (by/via) · · ,
  248. Greenwashing and the COP28 Website (by/via) · · ,
  249. 5 Best Practices for Preventing Chaos in Tailwind CSS (by+/via) · · ,
  250. Why the Internet Isn’t Fun Anymore (by/via) · · ,