Frontend Dogma

News and Tools for Frontend Development (9)

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

  1. You’re Gonna Need a Bigger Browser (by) · · , , ,
  2. AI as a UX Assistant (by/via) · · ,
  3. How to Find a Developer Job in 2023 (With Little or No Experience) (by) · · ,
  4. So You’ve Been Publicly Accessibility-Shamed (by) · · , ,
  5. Some Sensible Defaults for Your “img” Elements (by) · · ,
  6. State of React 2023 (by/via) · · ,
  7. HTML vs. DOM? Let’s Debug Them (by/via) · · , , , ,
  8. What the !#@% Is a Passkey? (by/via) · · ,
  9. Why I Won’t Use Next.js (by) · · ,
  10. Testing and Code Quality in Node.js (by/via) · · , ,
  11. Next.js 14 (by+/via) · · ,
  12. Secret Scanning Scans Public npm Packages (via) · · , , ,
  13. 20 Simple Ways to Style the HTML “details” Element (by/via) · · ,
  14. Deprecation of Formatting Rules (by/via) · · , , , ,
  15. Introduction to htmx (via) · · ,
  16. Introduction to Real-Time Communication in PHP Laravel (by/via) · · ,
  17. Astro 3.4: Page Partials (by+/via) · · ,
  18. Performance Optimization With Worker Threads Node.js · · , , ,
  19. Arrays—Implementation in JavaScript (by) · · ,
  20. Understanding SC 2.4.11 “Focus Not Obscured (Minimum)” (by/via) · · , ,
  21. Vue.js (Vue v3) for Beginners (by/via) · · , ,
  22. Web Components Will Outlive Your JavaScript Framework (by) · · , ,
  23. CSS “prefers-reduced-transparency” (by/via) · · , ,
  24. Data Engineering Essentials #1: Your First Pipeline (by) · ·
  25. WebKit Features in Safari 17.1 (by/via) · · , , , ,
  26. Sheet, Dialog, or Snackbar—What Should a Designer Go For? (by) · · , ,
  27. What Does the “A” Mean in “DEAI”? (via) · · ,
  28. It’s 2023, Here Is Why Your Web Design Sucks (by) · · , ,
  29. Goodbye, Node.js Buffer (by) · ·
  30. My Problem With Using TypeScript in 2023 (by) · · ,
  31. A Comprehensive Guide to Django Caching (by/via) · · , ,
  32. Complex MPA View Transitions (by) · · , ,
  33. Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators (via) · · , , , ,
  34. Change Project, Change Node Version, Let .nvmrc Help You · · ,
  35. What Removing Object Properties Tells Us About JavaScript (by/via) · · ,
  36. Igalia Chats: Web History Part VI (by+/via) · · , , ,
  37. Release: Yarn 4.0 (by/via) · · ,
  38. Stop Waiting (by) · · ,
  39. In Defense of Learning on Company Time (by) · · ,
  40. Splitting Within Selects (by) · · , , , ,
  41. JavaScript Decorators: An In-Depth Guide (by/via) · · ,
  42. Solved by CSS Scroll-Driven Animations: Style an Element Based on the Active Scroll Direction and Scroll Speed (by/via) · · , ,
  43. Changing Colors in an SVG Element Using CSS and JavaScript (by) · · , , ,
  44. Unlocking JavaScript Design Patterns: Mastering Singleton for Ultimate Code Efficiency (by) · · , ,
  45. CSS “text-wrap: pretty” (by/via) · · , , , , ,
  46. Color Contrast Accessibility Tools With Examples (via) · · , , , , ,
  47. Svelte by Example (by) · · , ,
  48. Navigating the Ethical Complexities of Personalized User Experiences: Balancing Innovation With Privacy and Consent (via) · · , , , ,
  49. Tailwind vs. Semantic CSS (by) · · , , , , ,
  50. HTML Meta Tags · · ,
  51. Select Element: Now With Horizontal Rules (by/via) · · , , , , , , , ,
  52. JavaScript Is Enabled by Default in Web Browsers (by) · · , ,
  53. JavaScript Anti-Pattern: Self-Documenting Code (by) · · , ,
  54. Accessibility Improvements for User-Agents (by) · · ,
  55. Strikethrough Accessibility (by/via) · · , , , , ,
  56. Finding the Primary Branch of a Git Repository (by) · ·
  57. How Do You Even Web Dev Without Node? A Quick Introduction to Test-Driven Web Development Using Just the Browser (by) · · ,
  58. Is CAPTCHA Accessible? (via) · · ,
  59. Using ChatGPT for Smart Truncation in Responsive Web Design (by) · · , , ,
  60. When to Use CSS “text-wrap: balance;” vs. “text-wrap: pretty;” (by) · · , ,
  61. Using ChatGPT, GitHub Copilot, and Phind to Generate Tailwind Config for Width Classes (by) · · , , ,
  62. What Should Be the Contrast Level of Inactive Buttons? (via) · · , , ,
  63. Embedding Accessibility Into Code Reviews (via) · · , , ,
  64. Web Accessibility Strategies for Non-Accessible Projects (by/via) · · , , ,
  65. Prodding Firefox to Update “:has()” Selection (by) · · , , , ,
  66. How to Collaborate on Pull Requests for Beginners (by/via) · · , ,
  67. Don’t Do It on Frontend or… Frontend Good Practices for Devs (by) · · , , ,
  68. I Asked People to Make This Simple Layout and Was Surprised by the Results (by) · · , , ,
  69. Why Unique ID Attributes Matter (via) · · , ,
  70. How to Map a Number Between Two Ranges (by) · · , ,
  71. The Need for Recognition in Open Source (by/via) · · , , ,
  72. Storybook 7.5 (by/via) · · ,
  73. Do We Need State Management in Angular? · · ,
  74. The Inverse Value of UX and Art (via) · · ,
  75. Does the HTML “hr” (Horizontal Rule) Benefit Screen Reader Users? (by/via) · · , , , ,
  76. On the Uniting Power of a Commitment to HTML Conformance (by) · · , , , ,
  77. The New “light-dark()” Function to Switch Theme Color in CSS (by) · · , ,
  78. How to Animate Along a Path in CSS (by/via) · · , ,
  79. Release Notes for Safari Technology Preview 181 (by/via) · · , , ,
  80. Solid.js Creator Outlines Options to Reduce JavaScript Code (by/via) · · ,
  81. How to Use SEO to Build Long-Term Brand Recognition and Visibility (by/via) · · , ,
  82. Burn Your Toast (by) · · , ,
  83. A Couple of New CSS Functions I’d Never Heard Of (by) · · ,
  84. Transition Animations: A Practical Guide (by) · · , , ,
  85. React Design Patterns (by/via) · · ,
  86. The Nuances of Base64 Encoding Strings in JavaScript (by) · · ,
  87. Node.js 21 Available Now! (via) · · ,
  88. Design System Documentation Sucks—How We Can Do Better (by) · · ,
  89. Synchronizing Figma Variables With Design Tokens (by) · · , ,
  90. The Three Cs: Concatenate, Compress, Cache (by) · · , ,
  91. Start Styling Your “console.log()” Messages in DevTools (by/via) · · , , , ,
  92. The True Cost of Not Prioritizing Accessibility: Avoid Risk and Maximize Product ROI (by/via) · · , , ,
  93. Common Vue.js Development Mistakes and How to Avoid Them (by) · · ,
  94. 2.4.11: Adversarial Conformance (by) · · , ,
  95. Ensuring Negative Numbers Are Available for Everyone (by+/via) · · , ,
  96. “JavaScript Is Weird” as a Compressor (by) · · ,
  97. Scroll-Driven State Transfer (by) · · ,
  98. Link Colors and the Rule of Tincture (by) · · ,
  99. CSS Findings From Photoshop Web Version (by) · · , , , ,
  100. Bubble Sort… in Pure CSS? (No JS) (by) · · , ,
  101. How to Style Element Descendants With Tailwind CSS (by) · · ,
  102. What’s New in CSS? (by/via) · · ,
  103. 44 React Frontend Interview Questions · · ,
  104. Organizing Multiple Git Identities (by) · ·
  105. How We Optimized Package Imports in Next.js (by/via) · · , , ,
  106. The Negative Impact of Mobile-First Web Design on Desktop (by+/via) · · , , , ,
  107. Forget Twitter: WordPress.com Blogs Can Now Connect to Mastodon (by/via) · · , , ,
  108. Button Labels: Is “OK” Ok? (via) · · , , ,
  109. Honor User’s Transparency Setting in CSS (by) · · , ,
  110. Scrollbars Are Becoming a Problem (by) · · , ,
  111. Digital Accessibility Blogs and Newsletters (by/via) · · ,
  112. Unpopular Opinion: It’s Harder Than Ever to Be a Good Software Engineer (by) · · ,
  113. Why Companies Kill Great Design (by/via) · ·
  114. Using CSS Custom Properties Like This Is a Waste (by) · · , ,
  115. Quick Tip: Creating Polymorphic Components in TypeScript (by/via) · · , ,
  116. Astro 3.3: Picture Component (by+/via) · · ,
  117. We Need Web Progress, Not Pessimism (by) · · ,
  118. You Can’t Get Faster Than No Build (by/via) · · ,
  119. Why Naming Is #1 Skill for Writing Clean Code (by/via) · · , ,
  120. Let’s Prototype a JavaScript JIT Compiler (by) · · , , ,
  121. Introduction to Web Sustainability (by/via) · · ,
  122. CSS Relative Color Syntax (by/via) · · , ,
  123. Preventing and Debugging Memory Leaks in Node.js (by/via) · · , ,
  124. Styling External Links With Attribute Selectors (by/via) · · , ,
  125. Designing for All: The Basic Principles of Web Accessibility (via) · · , , , ,
  126. Skip Links on ikea.com (by) · · , ,
  127. Greenwashing and the COP28 Website (by/via) · · ,
  128. Local HTTPS for Next.js 13.5 (by) · · , , ,
  129. AI Could Soon Need as Much Electricity as an Entire Country (by/via) · · ,
  130. 5 Best Practices for Preventing Chaos in Tailwind CSS (by+/via) · · ,
  131. The Global “innerWidth” and “innerHeight” Properties Return the Width and Height of the Layout Viewport (by/via) · · , ,
  132. The Selected Date Must Be Within the Last 10 Years (by/via) · · , ,
  133. Hashnode’s Overall Architecture (by/via) · · ,
  134. The Future of CSS: Easy Light-Dark Mode Color Switching With “light-dark()” (by/via) · · , ,
  135. Obligatory WCAG 2.2 Launch Post (by) · · , ,
  136. Why the Internet Isn’t Fun Anymore (by/via) · · ,
  137. CSS-Only Scroll-Driven Animation and Other Impossible Things (by+/via) · · , ,
  138. Extending the Properties of an HTML Element in TypeScript (by/via) · · , ,
  139. Adding Search to an Eleventy Site Without Client-Side JavaScript (by) · · , , ,
  140. Inclusivity in the Digital Age: The Importance of Accessibility Advocacy (via) · · , , ,
  141. The Hidden Performance Cost of Node.js and GraphQL (by) · · , ,
  142. Speeding Up the JavaScript Ecosystem—the Barrel File Debacle (by) · · , ,
  143. CSS 3D Text Effects · · ,
  144. Naming Variables in CSS (by) · · , ,
  145. Welcome WCAG 2.2 and Goodbye Success Criterion 4.1.1 “Parsing” (by) · · , ,
  146. Don’t Use Fixed CSS “height” or “width” on Buttons, Links, or Any Other Text Containers (by) · · , , , ,
  147. Table of Contents: The Ultimate Design Guide (by/via) · · , , ,
  148. Demystifying WCAG 2.2 (by/via) · · , ,
  149. WCAG 2.2 and Validation (by) · · , , ,
  150. Writing Accessible Form Messages (by) · · , ,
  151. Which Is the Best Image Format for Your Website? (via) · · , , , , , ,
  152. Quick Tip: Decorators in TypeScript (by/via) · · ,
  153. The Nonvisual Website (by) · · ,
  154. How Did You Switch From JavaScript to TypeScript? · · , , ,
  155. An Anchored Navbar Solution (by) · · , ,
  156. What’s New in WCAG 2.2 (by/via) · · , , ,
  157. Intopia Launches WCAG 2.2 Map (by/via) · · , ,
  158. When to Nest CSS (by/via) · · ,
  159. WCAG 2.2 Is Now a W3C Recommendation (by) · · , ,
  160. What Happened to Separation of Concerns in Frontend Development (by) · · , , , ,
  161. React Micro-Frontends Using Vite · · , ,
  162. Hey Designers, They’re Gaslighting You (by) · · ,
  163. Web Content Accessibility Guidelines (WCAG) 2.2 (by+/via) · · , , ,
  164. GitHub Actions: “NODE_OPTIONS” Is Now Restricted From “GITHUB_ENV” (via) · · , ,
  165. WCAG 2.2 Is Now a Published Web Standard (by/via) · · , , , ,
  166. It’s Time to Rethink the Americans With Disabilities Act (via) · · ,
  167. Chrome Now Shows Each Active Tab’s Memory Usage (by) · · , , ,
  168. Whatever Happened to the Zend Framework (by) · · , ,
  169. Let’s Create a Filter Table Component in Vue (by) · · , , ,
  170. Career Growth After 35: What Awaits Programmers? (via) · · ,
  171. Still No CSS Reset (by) · · ,
  172. The Power of Type Safety in TypeScript (via) · · ,
  173. An Interactive Intro to CRDTs (by) · · , ,
  174. Release Notes for Safari Technology Preview 180 (by/via) · · , , ,
  175. Deploy and Test AWS Step Functions With Node.js (via) · · , , , ,
  176. Limit the Reach of Your Selectors With the CSS “@ scope” At-Rule (by/via) · · , , ,
  177. Accessibility vs. Inclusive Design (by/via) · · , , ,
  178. The Problem With WordPress Is Positioning, Not Plugins (by/via) · ·
  179. Being Picky About a CSS Reset for Fun and Pleasure (by) · · ,
  180. Your Website Does Not Need JavaScript (by/via) · · , ,
  181. How to Be an Accessibility Ally (by) · · , ,
  182. Get Ready for Interop 2024 (by/via) · · ,
  183. Return to Office Is Bullshit and Everyone Knows It (by) · · ,
  184. The Most Minimal Valid HTML Document (by) · · , , ,
  185. Crawlers (by) · · ,
  186. Have You Seen These Weird Image Tag Issues? (by) · · ,
  187. Demystifying CSS Container Queries (by+/via) · · , ,
  188. Nine Things Automated Accessibility Tests Can’t Test (by) · · , ,
  189. The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses) (by) · · , ,
  190. How to Clear Cache and Cookies on a Customer’s Device (by) · · , , ,
  191. TypeScript Monorepo With npm Workspaces (by) · · , , ,
  192. In-Page Links for Content Navigation (via) · · , ,
  193. The 3 Secrets to Font Pairing · · , ,
  194. Monitoring a Kubernetes Application With Prometheus, Grafana, and Loki (by/via) · · , ,
  195. The Myth of Infinite Data Growth (by) · · ,
  196. All the Ways to Turn an Array Into an Object in JavaScript (by) · · , ,
  197. Making a Website Is for Everyone (by) · · , ,
  198. Test Assertion Styles in JavaScript (by) · · ,
  199. Managing and Mitigating Design Debt: A Solo UX Designer’s Guide · · , ,
  200. Understanding the CSS Auto-Resizing Textarea Trick (by) · · , ,
  201. Re-Creating the Pop-Out Hover Effect With Modern CSS (by/via) · · ,
  202. Four Reasons to Give WCAG AAA a Second Look (via) · · , ,
  203. 20+ Tools for Node.js Development in 2023 (via) · · , ,
  204. How I Deployed My Website as a Docker Container (by) · · ,
  205. Naming Things Needn’t Be Hard (by) · · ,
  206. Crafting Future-Ready Experiences: The Power of Progressive Web Apps (PWAs) and Offline-First Design (by) · · ,
  207. Characteristics of Code Quality (by) · · ,
  208. Node v20.8.0 (by/via) · · ,
  209. Exploring Enhanced Patterns in WordPress 6.3 (via) · ·
  210. Easy Dark Mode With “color-scheme” (by) · · , , , ,
  211. A Socket API That Works Across JavaScript Runtimes—Announcing a WinterCG Spec and Node.js Implementation of “connect()” (by+/via) · · , ,
  212. CSS Nesting and the Cascade (by/via) · · , ,
  213. A Comprehensive Guide to the Dangers of Regular Expressions in JavaScript (by/via) · · , , ,
  214. 5 Pillars of Responsible Generative AI: A Code of Ethics for the Future (via) · · ,
  215. The Ultimate Low-Quality Image Placeholder Technique (by) · · , ,
  216. CSS Terminology Demystified (by/via) · · , ,
  217. An Introduction to Web Components (by) · · ,
  218. Best Practices for Securing Node.js Applications in Production (by+/via) · · , ,
  219. Honey, I Shrunk the npm Package (by) · · , ,
  220. The Saga of the Closure Compiler, and Why TypeScript Won (by) · · , , ,
  221. Stop Using JS for That: Moving Features to CSS and HTML (by/via) · · , , ,
  222. Frontend Monitoring: Strategies, Best Practices, Tools, and More (via) · · , , ,
  223. SSH Keys Stolen by Stream of Malicious PyPI and npm Packages (by/via) · · , , ,
  224. How to Make the Case for Design Systems (by/via) · · ,
  225. The Cost of Obsessing Over Design Perfection (by/via) · · , ,
  226. Real AI Solutions for Accessibility Challenges (via) · · ,
  227. Form Accessibility and Usability Beyond the Basics (via) · · , ,
  228. Top 5 ARIA Implementation Errors (by/via) · · , ,
  229. Overlays: Just Another Disability Dongle (by/via) · · ,
  230. No More 404 (by) · · , , ,
  231. npm Provenance General Availability (via) · · , , ,
  232. 8 More Micro Tips for Remarkably Better Typography (by/via) · · , , ,
  233. Taming Tailwind (by) · · ,
  234. Textareas With Auto-Increasing Height Using CSS (by) · · ,
  235. The Future of Web Design: Emerging AI Technologies and Trends (by/via) · · , , ,
  236. The Illusion of Developer “Productivity” Opens the Door to Snake Oil (via) · · ,
  237. Why HTTP/3 Is Eating the World (by/via) · · ,
  238. How Mastodon Handles Images and Web Previews (by) · · , , , , ,
  239. Understanding Puppeteer Headless (via) · · , , ,
  240. What Are Accessibility Overlays? (by) · · , ,
  241. HTML Popover, Videos and “display:blackhole” (by) · · , ,
  242. Accessibility Is Easy… Except for When It Isn’t (by/via) · · ,
  243. Misconceptions Can Kill Accessibility Momentum (by) · · , ,
  244. Token Based Authentication With Fastify, JWT, and TypeScript (by) · · , , ,
  245. GitHub Actions Could Be So Much Better (by) · · , ,
  246. Upgrading Frontend Dependencies With Confidence (by/via) · · , , , ,
  247. Responsive Type Scales With Composable CSS Utilities (by) · · , ,
  248. How to Build Trust With Others by Organizing Your Figma Files (by/via) · · , , ,
  249. How to Escape CSS Selectors in JavaScript (by) · · , , , ,
  250. The Path to Awesome CSS Easing With the “linear()” Function (by/via) · · , ,