Frontend Dogma

News and Tools for Frontend Development (10)

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

  1. The WebP 0-Day (by) · · , , ,
  2. The Design System Ecosystem (by) · · ,
  3. What Is Strict Mode in JavaScript? · ·
  4. What Makes an Accessible Date Picker? Is It Even Possible? (by/via) · · , ,
  5. Unlocking a World of Accessibility: How Internationalization Is the Key (by/via) · · , , ,
  6. Save Our World With Progressive Enhancement and Accessibility (by/via) · · , ,
  7. Accessible Web Components? (by/via) · · , ,
  8. Supercharge Your Repository With Code Owners (by/via) · · , ,
  9. The Character Encoding Cheat Sheet for JS Developers (by/via) · · , , ,
  10. Speeding Up the JavaScript Ecosystem—Polyfills Gone Rogue (by) · · , ,
  11. Developers Talking About Code Quality (by+/via) · · , , ,
  12. Open Source Trends to Look for in 2024 (via) · · , , , ,
  13. CSS Findings From The Threads App II (by) · · ,
  14. Introducing Runes (via) · ·
  15. The Psychology of Web Performance (by/via) · · ,
  16. Building a Core Accessibility Team: The Keys to the Kingdom (by/via) · · , ,
  17. How to Use the New “<search>” Element With WordPress (by) · · , ,
  18. How to Make Forms in Angular Reusable (by) · · , , , ,
  19. Release Notes for Safari Technology Preview 179 (by/via) · · , , ,
  20. Experimenting With Measuring Soft Navigations (by+/via) · · , , , ,
  21. What Can You Do With “data” Attributes? (by) · · ,
  22. We are Chrome for Developers (via) · · , , , , , ,
  23. Bun vs. Node.js: Everything You Need to Know (by/via) · · , ,
  24. What an Economist Article Says About Website Accessibility and Lawsuits (by/via) · · ,
  25. Get All That Network Activity Under Control With Priority Hints (by) · · , ,
  26. Better User and Developer Experience With htmx (by+/via) · · ,
  27. Git: Don’t Create .gitkeep Files, Use .gitignore Instead (by) · ·
  28. One Thing Nobody Explained to You About TypeScript (by) · · ,
  29. Understanding the JavaScript Modulo Operator (by) · · ,
  30. Managing Design Debt: Strategies for Sustainable User Experience (by/via) · · , ,
  31. 1-Minute CSS Tip: Accent Colors (by) · · , ,
  32. WebKit Features in Safari 17.0 (by/via) · · , , , ,
  33. A (More) Modern CSS Reset (by) · · ,
  34. First Steps to an Accessible Website—Skip Links (via) · · ,
  35. Node.js: A Guide to Native .env Support and Local Development (by) · · , ,
  36. Node v20.7.0 (by/via) · · ,
  37. Arrow Functions vs. Traditional Functions in JavaScript (by) · · , , ,
  38. Sustainability and Tech and Us (by) · · , , ,
  39. Why Not React? (by) · ·
  40. Expanding Your Touch Targets (by) · · , ,
  41. The JS Community on Twitter Is Dead (by) · · , ,
  42. Expert CSS: The CPU Hack (by) · · ,
  43. How to Make a Strong Case for Accessibility (by/via) · · , ,
  44. How UnoCSS Works Internally With Vite? (by) · · ,
  45. Accessibility and Inclusivity: Study Guide (by/via) · · , , , ,
  46. Solved by CSS Scroll-Driven Animations: Detect If an Element Can Scroll or Not (by/via) · · , ,
  47. Writing Clean Code: Best Practices and Principles (by) · · , , , , ,
  48. Bun Hype: How We Learned Nothing From Yarn (by) · · , , ,
  49. Revealing Images With CSS Mask Animations (by/via) · · , ,
  50. What Makes Some Interruptions More Disruptive Than Others? (by) · · , ,
  51. Whataboutism (by) · ·
  52. Securing Your Node.js Apps by Analyzing Real-World Command Injection Examples (by) · · , , ,
  53. JavaScript Is Getting Array Grouping Methods (by) · · ,
  54. The 10 Tools I Install on Every New Mac I Get (by) · · , ,
  55. The 5 Principles of Unit Testing (via) · · , ,
  56. v0.dev (via) · · , , , , ,
  57. View Transition Debugging (by) · · , , ,
  58. The 10ish Tools I Install on Every New Mac I Get (by) · · , ,
  59. Why Is Creativity So Blurry, and Am I Creative? (via) · · , ,
  60. How Custom Property Values Are Computed (by) · · ,
  61. Submit Your Proposals for Interop 2024 (by+/via) · · , ,
  62. Incremental Static Regeneration for Angular (by/via) · · ,
  63. Use Cases for IIFEs (by) · ·
  64. Documentation Is a Living Thing: How We Talk Informs What We Make (by/via) · · , ,
  65. Getting Started With CSS in JS (via) · · ,
  66. Multi-Page Web Apps (by) · · , ,
  67. Why Drupal 10 (by/via) · · ,
  68. Why I Quit Open Source (by) · · , ,
  69. How to Set Up Personal OKRs (by) · · , , ,
  70. I Think I Kind of Hate Lazy Loading (by) · · ,
  71. Nuclear Anchored Sidenotes (by) · · ,
  72. Stop Lazy Loading Product and Hero Images (by/via) · · , ,
  73. The Cult of Productivity (by/via) · · , ,
  74. Limitations of Scoped CSS (by) · · ,
  75. From Silos to Design Systems (via) · · , ,
  76. Changes and Additions in Pointer Events Level 3 (by/via) · · , , ,
  77. State of Web Accessibility, ARIA in HTML, and Missing UI Patterns (by+/via) · · , , ,
  78. The Real Value of Tokens (via) · · ,
  79. What Is Functional Testing? Definition, Key Concepts, and Types (by/via) · · , ,
  80. Gradients, Blend Modes, and a Really Cool Hover Effect (by/via) · · , ,
  81. JPEG and EXIF Data Manipulation in JavaScript (by/via) · · , ,
  82. Cool Tools (by/via) · · ,
  83. Discover Bun—a Faster, Modern JavaScript Runtime (by) · · , ,
  84. Medium vs. DEV vs. Hashnode vs. Hackernoon (by) · · , , ,
  85. Rewriting Digital Content for Brevity (via) · · , , ,
  86. Creating Dynamic README.md File (by) · · ,
  87. Why Your Design System Needs a Component Process (by) · · , ,
  88. Running a Playwright Script on AWS Lambda (by) · · , ,
  89. How I Approach and Structure Enterprise Frontend Applications After 4 Years of Using Next.js (by) · · , ,
  90. Bun, JavaScript, and TCO (by) · · , ,
  91. Bun 1.0 (by+/via) · · ,
  92. The Dangers of Deceptive Design Patterns (and How to Avoid Them) (via) · · ,
  93. JavaScript WTF: Why Does “every()” Return “true” for Empty Arrays? (by) · ·
  94. A New Method to Validate URLs in JavaScript (by) · · , ,
  95. CSS “display” Is a Multi-Keyword Property? (by/via) · · ,
  96. CSS Lobotomized Owl Selector: A Modern Guide (by/via) · · , , ,
  97. From Data-Driven to Decision-Driven (by/via) · · , ,
  98. The New Google Fonts: Find What You’re Looking For (by/via) · · ,
  99. Web Components Accessibility FAQ (by) · · ,
  100. Why Are We Not Still Using Tables-for-Layout? (by) · · , ,
  101. WOFF Has Left the Building (by) · · , , ,
  102. Delay, Sleep, Pause, and Wait in JavaScript (by/via) · ·
  103. Building a Real-Time Chat With Websockets, Novel, and Clerk (by/via) · · , , , , ,
  104. Gulp vs. Webpack—What Is Better: Using Webpack or Gulp.js? (via) · · , ,
  105. The “Array.prototype.every()” Method Always Returns “true” for an Empty Array (by) · · ,
  106. GoDaddy Retires Media Temple Brand (by/via) · · ,
  107. Is AI the Silver Bullet of Accessibility? (via) · · ,
  108. Long Live the Test Pyramid (by/via) · · , ,
  109. Making Sense of React Server Components (by) · · ,
  110. Using Labeled Loops in JavaScript (by) · ·
  111. Four Common Types of Code Coverage (by+/via) · · ,
  112. Turbo 8 Is Dropping TypeScript (by/via) · · , ,
  113. Release Notes for Safari Technology Preview 178 (by/via) · · , , ,
  114. Equivalent Experience Can Cut Both Ways (by) · · ,
  115. Essential Metrics for Click Testing (by/via) · · , ,
  116. Node.js Includes Built-In Support for .env Files (by) · · , ,
  117. Node.js vs. Deno vs. Bun: JavaScript Runtime Comparison (via) · · , , , , ,
  118. Progressively Enhanced Form Validation: Custom Validation Messages (by/via) · · , , ,
  119. The Perpetual Circle of Accessibility (by) · · ,
  120. 8 Micro Tips for Remarkably Better Typography (by/via) · · , ,
  121. Browser Video Players Review (by) · · , , , , , ,
  122. First, Do No Harm: Mistakes to Avoid in Creating Accessible User Experiences (via) · · , ,
  123. Web Components Don’t Need You (by/via) · ·
  124. Understanding SSR, CSR, ISR, and SSG: A Comprehensive Guide (by) · · , , ,
  125. NODE_ENV Considered Harmful (by) · · ,
  126. Node v20.6.0 (by/via) · · ,
  127. Information Architecture vs. Sitemaps: What’s the Difference? (by/via) · · , ,
  128. A Wide View of Automated Testing in React Apps (by) · · , ,
  129. On Productivity Metrics and Management Consultants (by) · · , ,
  130. Style Is Consistent Constraint (by) · · ,
  131. Top Website Redesign Tips for 2023 (via) · · ,
  132. Three Dimensions of Developer Productivity (by) · · , ,
  133. Clocks and Countdowns: Timing in CSS and JavaScript (by) · · ,
  134. Selecting the Scoping Root (by) · · ,
  135. Small Details to Improve Your Website’s Experience (by) · · , , ,
  136. Dialog Dilemmas and Modal Mischief: A Deep Dive Into Popovers and How to Build Them (by) · · , , ,
  137. Type Safe CSS Design Systems With “@ property” (by) · · , , ,
  138. Build a GraphQL Gateway: Combine, Stitch, or Merge Any Datasource (by/via) · · ,
  139. How to Make Charts and Graphs More Accessible (via) · · , , ,
  140. Things That Jakob’s Law Is Not (by) · · , ,
  141. Decoding WCAG: “Alternative for Time-Based Media” and “Media Alternative for Text” (by/via) · · , ,
  142. Understanding Feature Flags: Improving Feature Management (by/via) · · , ,
  143. An Introduction to the Laravel PHP Framework (via) · · , , ,
  144. Is Atomic Design Dead? (by/via) · · , ,
  145. Case Study: Rebuilding TechCrunch Layout With Modern CSS (by) · · , ,
  146. CSS Loaders (by) · · , , ,
  147. Accessibility Theater (via) · ·
  148. Astro 3.0 (by+/via) · · ,
  149. Memorization and Learning to Code (by/via) · · , , ,
  150. Using “rem” Doesn’t Make Your Website Responsive—Here’s Why · · , ,
  151. Getting Started With htmx: A Comprehensive Guide for Beginners (via) · · , ,
  152. Web Sustainability Guidelines (WSG) 1.0 (by+/via) · · ,
  153. Why Do I Have Layout Shift? (by+/via) · · , ,
  154. Connected Grid Layout Animation (by/via) · · , ,
  155. Tracking Errors in a Node.js Application (by/via) · · , ,
  156. Let’s Make a Rubber Button With HTML, CSS and SVG (by/via) · · , , , ,
  157. What Is the View Transitions API and How to Use It With Meta Frameworks (by/via) · · , , ,
  158. What Is Inclusion Anyways? Lessons From the Disabled Community · · , , ,
  159. Git Uncommit (by) · · ,
  160. Five Optimization and Performance Tools That Enhance Website User Experience (via) · · , , , ,
  161. Hover Triangles (by) · · ,
  162. Benchmarks [for 24 CSV Parsing Approaches] (by) · · , , ,
  163. How to Implement SSL/TLS Pinning in Node.js (via) · · , , , ,
  164. Measuring Developer Productivity? A Response to McKinsey (by+) · · ,
  165. Web Apps Are Better Than No Apps (by) · ·
  166. Announcing Cypress 13 With Test Replay (via) · · ,
  167. Why Are Websites Embarrassing? (by) · · ,
  168. Building Accessibility Into Your Company, Team, and Culture (by/via) · · , ,
  169. Falling for OKLCH: A Love Story of Color Spaces, Gamuts, and CSS (by/via) · · , ,
  170. How I Write Alt Text for Code Snippets on Social Media (by) · · , , ,
  171. 8 Habits That Hold Back Your Developer Potential (by) · · ,
  172. From User Needs to User Dreams: Find the Future of Your Product (by/via) · · , ,
  173. Six Reasons Not to Use React (by) · · ,
  174. Realistic CSS Animations and the “linear()” Timing Function (by) · · , ,
  175. Single-Page Applications: Ember vs. Angular (via) · · , , ,
  176. Code Splitting in React: Optimize Performance by Splitting Your Code (by) · · , , ,
  177. An Overview of Feature Flags (via) · · , , , ,
  178. Navigating Web Accessibility Litigation: Advice From a General Counsel (via) · · ,
  179. Dark Mode: How Users Think About It and Issues to Avoid (by/via) · · , , ,
  180. Biases in Design: Hiding in Plain Sight in a World Full of Visuals (via) · ·
  181. Accessible Navigation (by) · · ,
  182. Package-Based Architecture—Let’s Deliver the Packages (by/via) · · , ,
  183. State of CSS 2023 (by+/via) · · ,
  184. Co-Authoring Git Commits (by) · · , ,
  185. Web UX: Study Guide (via) · · , , ,
  186. Visualizing Recursion With the Sierpinski Triangle (by) · · ,
  187. Browser Automation With Puppeteer (by) · · , ,
  188. Where to Put Focus When Deleting a Thing (by) · · ,
  189. Scope vs. Shadow DOM (by) · · , , , , ,
  190. WTF Is a Vector Database: A Beginner’s Guide (by) · · ,
  191. Catching Errors Thrown From “connectedCallback” (by) · · , ,
  192. Introducing the 100-Year Plan: Secure Your Online Legacy for a Century (by/via) · · , ,
  193. Announcing TypeScript 5.2 (by/via) · · ,
  194. A More Intelligent and Secure Web (by/via) · · , , , , ,
  195. European Accessibility Act: Article 32, and Why It Sucks (by) · · ,
  196. Main-ly Speaking (by) · · ,
  197. TypeScript 5.3 First Look (by) · ·
  198. What Is Alt Text and How to Write It (via) · · , ,
  199. Stakeholder Management for Design Systems (by/via) · · , ,
  200. A Few Interesting Ways to Use CSS Shadows for More Than Depth (by/via) · · , ,
  201. The Art of UX Writing (via) · · , ,
  202. Use Web Components for What They’re Good At (by) · ·
  203. Google August 2023 Broad Core Update Is Live—What We Are Seeing Now (by/via) · · ,
  204. How Organisations Respond to Accessibility Monitoring (via) · · ,
  205. Pros and Cons of Using Shadow DOM and Style Encapsulation (by) · · , ,
  206. To Test or Not to Test, a Technical Perspective (by/via) · · , ,
  207. How to Get 12% More LinkedIn Followers, Impressions, and Clicks—Practical Accessibility Tips and Tricks (by/via) · · , , , ,
  208. Block the Bots That Feed “AI” Models by Scraping Your Website (by) · · , ,
  209. WebGlossary.info (by) · · , , , ,
  210. View Transitions Break Incremental Rendering (by) · · , ,
  211. No One Actually Wants Simplicity (by) · · ,
  212. Release Notes for Safari Technology Preview 177 (by/via) · · , , ,
  213. A Guide to Migrating From Webpack to Vite (by/via) · · , , ,
  214. A Quick Introduction to CSS “@ scope” (by/via) · · , , , ,
  215. Debugging Speculation Rules (by/via) · · ,
  216. Two Important New Roles for UX Designers in the Era of AI (by/via) · · , , ,
  217. Can We Truly “Create” Value? (by/via) · · ,
  218. Bézier Curves (by+) · ·
  219. Patterns for Reactivity With Modern Vanilla JavaScript (by/via) · · ,
  220. Progressively Enhanced Form Validation: Validating a Checkbox Group (by/via) · · , ,
  221. Writing Component Specs (by) · · , ,
  222. The Ideal Viewport Doesn’t Exist (by+/via) · · ,
  223. Migrating From Color Styles to Local Variables in Figma (via) · · , ,
  224. Changes Over the Last 25 Years of UX Research (by/via) · · , ,
  225. Please Size Your Inline SVGs (by) · · ,
  226. 7 Reasons to Replace Advanced Search With Filters So Users Can Easily Find What They Need (by) · · , , ,
  227. The Definitive Guide to Web Personalization: Strategies, Tools, and More to Know (via) · · , ,
  228. “We’re All Just Temporarily Abled” (by) · ·
  229. How to Make an Impact as a Developer Advocate (by) · · , , ,
  230. Combining “:placeholder-shown” and “:has” (by) · · , ,
  231. Let’s Build a Website Using XML (by) · · ,
  232. Getting Started With SCSS—the CSS Preprocessor With Superpowers · · , ,
  233. Why htmx Does Not Have a Build Step (by/via) · · ,
  234. Styling Links and Buttons (by) · · , , ,
  235. Identifying, Fixing, and Preventing Cannibalization (by/via) · · ,
  236. Being “Polite” Does Not Ensure Access (via) · · ,
  237. How to Use Headless Chrome in Serverless Functions With a 50 MB Limit (by) · · , , , , , ,
  238. Demystifying CORS: Understanding How Cross-Origin Resource Sharing Works · · , ,
  239. React JSX (via) · · ,
  240. Adding a “Share to Mastodon” Link to Any Web Site (by) · · , , , ,
  241. Scroll Shadows With “animation-timeline” (by) · · , ,
  242. React Props: A Visual Guide · · , ,
  243. A Beginner’s Guide to Using Pico CSS (by/via) · · ,
  244. “aria-haspopup” and Screen Readers (by) · · , , , ,
  245. The New CSS Math: “round()” (by) · · ,
  246. How to Use the CSS “gap” Property (by/via) · · , ,
  247. XUL and HTML (by/via) · · , ,
  248. A Deep Dive Into CSS “color-mix()” (by) · · , ,
  249. Why Do Users Prefer Certain Design? Insights From the Landscape Theory (via) · ·
  250. Tabs Are Objectively Better Than Spaces (by) · · , ,