Frontend Dogma

News and Views in Frontend Development (3)

(Explore all topics. Stay informed per feed and on Twitter.)

  1. Avoiding “<img>” Layout Shifts: “aspect-ratio” vs. “width” and “height” Attributes (tweet this) · · , , , ,
  2. A Look at Remix and the Differences with Next.js (tweet this) · · , , ,
  3. 37 Easy Ways to Spice Up Your UI Designs (tweet this) · · ,
  4. The Ultimate Guide to Debugging Accessibility Issues (tweet this) · · , ,
  5. JavaScript Obfuscation Techniques by Example (tweet this) · · ,
  6. Working on a New Feature as a Senior Frontend Developer (tweet this) · ·
  7. Figma Auto Layout = “display: flex” (tweet this) · · ,
  8. Choosing the Right Mindset to Design Complex Applications (tweet this) · · , ,
  9. The Future of CSS: Variable Units, Powered by Custom Properties (tweet this) · · ,
  10. Set JAWS Free! (tweet this) · · , ,
  11. Data Structure and Algorithms 102 (tweet this) · · ,
  12. CSS Complexity: It’s Complicated (tweet this) · · ,
  13. Why the HTML Outlining Algorithm Was Removed from the Spec—The Truth Will Shock You! (tweet this) · · , ,
  14. The CSS Cascade, a Deep Dive (tweet this) · · , ,
  15. It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility Via Display Properties (tweet this) · · , ,
  16. Holograms, Light-Leaks, and How to Build CSS-Only Shaders (tweet this) · · ,
  17. An Accessibility-First Approach to Chart Visual Design (tweet this) · · ,
  18. What Are Color Gamuts (tweet this) · ·
  19. Truly Portable Design Patterns (tweet this) · · ,
  20. The Joy of Variable Fonts: Getting Started on the Frontend (tweet this) · · ,
  21. The Hard Parts of Developer Advocacy (for Me) (tweet this) · · ,
  22. Captions: Humans vs. Artificial Intelligence: Who Wins? (tweet this) · · , , ,
  23. The Off by Default Web (tweet this) · · ,
  24. The Case for Null in Design Systems (tweet this) · ·
  25. The Ballad of Text Overflow (tweet this) · · ,
  26. Style with Stateful, Semantic Selectors (tweet this) · · ,
  27. Masonry? In CSS?! (tweet this) · · ,
  28. Inverted Media Queries and Breakpoints (tweet this) · · ,
  29. Executing Shell Commands from Node.js (tweet this) · · ,
  30. Consistency in UX Design: To What Extent Is “Best Practice” the Right Choice? (tweet this) · · , , ,
  31. Two Levels of Customising “<selectmenu>” (tweet this) · · ,
  32. The Unlocked Possibilities of the “:has()” Selector (tweet this) · · ,
  33. Super-Helpful Tips When Working with Figma Component Properties (tweet this) · · , ,
  34. How to Make Text Improve User Experience: Insights Into UX Writing (tweet this) · · ,
  35. Body Margin 8px (tweet this) · · ,
  36. Frontend Web Performance: The Essentials (tweet this) · · ,
  37. css-browser-support (tweet this) · · , , , ,
  38. Imagemin Guard (tweet this) · · , , , , ,
  39. Faster WordPress Rendering with 3 Lines of Configuration (tweet this) · · , , , ,
  40. Write Git Commit Messages That Your Colleagues Will Love (tweet this) · ·
  41. Web Development Is Like Assembling IKEA Furniture (tweet this) · · ,
  42. Reimagining Front-End Web Development with htmx and Hyperscript (tweet this) · ·
  43. Breaking Out of a Central Wrapper (tweet this) · ·
  44. Best Practices for Images (tweet this) · · , ,
  45. The New Wave of React State Management (tweet this) · · , ,
  46. “That’s Not Accessible!” and Other Statements About Accessibility (tweet this) · ·
  47. CSS Variable Secrets (tweet this) · · ,
  48. 404 vs. 410—The Technical SEO Experiment (tweet this) · · , , ,
  49. What the Hell is “<!DOCTYPE html>”? (tweet this) · ·
  50. What Every Newbie Developer Should Know (tweet this) · ·
  51. Thoughts on an Accessibility “Get Well” Plan (tweet this) · · , ,
  52. Farewell to HTML5Rocks (tweet this) · · , ,
  53. Building Tabs in Web Components (tweet this) · ·
  54. Working with the File System on Node.js (tweet this) · · ,
  55. Googlebot and the 15 MB Thing (tweet this) · · ,
  56. Are You Sure That’s a Number Input? (tweet this) · ·
  57. What Do the Developers Do in the Last Week of the Sprint? (tweet this) · · , ,
  58. Style Queries (tweet this) · ·
  59. SPAs: Theory Versus Practice (tweet this) · · ,
  60. Demystifying the New Gatsby Framework (tweet this) · · ,
  61. A CLS Punishment for Progressive Enhancement? (tweet this) · · , ,
  62. UX Writing: Study Guide (tweet this) · · ,
  63. Using JavaScript to Fill localStorage to Its Maximum Capacity (tweet this) · · ,
  64. A Previous Sibling Selector (tweet this) · · ,
  65. Why Use Sass? (tweet this) · · ,
  66. GA4 Is Being Blocked by Content Security Policy (tweet this) · · , ,
  67. WCAG 2.1 AA Web Accessibility Checklist (tweet this) · · , ,
  68. Single Element Loaders: The Bars (tweet this) · ·
  69. Missing Introduction to React (tweet this) · ·
  70. Introduction to Defensive CSS (tweet this) · ·
  71. Accessible Design Systems (tweet this) · · ,
  72. 4+ Years of Cracking Technical Interviews (tweet this) · · ,
  73. Stop the Screen Going to Sleep with JavaScript (tweet this) · ·
  74. Mastering “z-index” in CSS (tweet this) · ·
  75. Managing Specificity with CSS Cascade Layers (tweet this) · · , ,
  76. How We Designed an Accessible Color Palette from Scratch (tweet this) · · ,
  77. Getting Started with Vue Composables (tweet this) · ·
  78. Everything You Need to Know About Web Performance (in 5 Minutes) (tweet this) · · , ,
  79. Can We Enterprise CSS Grid? (tweet this) · · , ,
  80. Apple Is Not Defending Browser Engine Choice (tweet this) · · , ,
  81. 7 UX Laws You’re Probably Getting Wrong (tweet this) · · , ,
  82. 5 Useful CSS Properties That Get No Love (tweet this) · · ,
  83. What Would a Chromium-Only Web Look Like? (tweet this) · · , ,
  84. User Vulnerabilities in the Data Cycle (tweet this) · · , ,
  85. “text-overflow: ellipsis” Considered Harmful (tweet this) · · ,
  86. Style Scoping Versus Shadow DOM: Which Is Fastest? (tweet this) · · , , , ,
  87. Please Remove That .git Folder (tweet this) · · ,
  88. Looking Ahead—Insights from Jeffrey Zeldman and Eric Meyer (tweet this) · · , ,
  89. Introducing Keyboard Navigation (tweet this) · · ,
  90. In Defense of Blocks for Local Scopes (tweet this) · ·
  91. In Defense of Blocks for Local Scopes II (tweet this) · ·
  92. Different Ways to Write CSS in React (tweet this) · · ,
  93. What Is Alternative Text? How Do I Write It for Images, Charts, and Graphs? (tweet this) · · , , ,
  94. The Right Space Around Headings in Web Typography (tweet this) · · ,
  95. Svelte Origins: A JavaScript Documentary (tweet this) · · , ,
  96. How and When to Use the CSS “:has” Selector (tweet this) · · ,
  97. Be the Browser’s Mentor, Not Its Micromanager (tweet this) · · ,
  98. One Line of CSS to Add Basic Dark/Light Mode (tweet this) · · ,
  99. Icon-Only Links Fail WCAG (tweet this) · · , , ,
  100. How I Built a Dark Mode Toggle (tweet this) · ·
  101. Future Features of JS (tweet this) · · ,
  102. Best Practices for Overlays II (tweet this) · · , ,
  103. A Beginner’s Guide to Inclusive UX Design (tweet this) · · , , ,
  104. The Dos and Don’ts of Pairing Typefaces (tweet this) · · , , , ,
  105. The Case for Using Sass in 2022 (tweet this) · · ,
  106. Alternatives to Installing npm Packages Globally (tweet this) · · ,
  107. Why Do We Call It Breadcrumbs? Diving into the History of UI Components (tweet this) · · , ,
  108. Using Web Streams on Node.js (tweet this) · ·
  109. The Cost of Convenience (tweet this) · · ,
  110. Pop-Ups Are Dead, Long Live Pop-Ups: Or, the Bait-and-Switch Hidden in Today’s Cookie Announcement (tweet this) · · , ,
  111. Is It Expensive to Build an Eco-Friendly Website? (tweet this) · · , ,
  112. Notes on Maintaining an Internal React Component Library (tweet this) · · , , ,
  113. Naming Conventions for Design Systems (tweet this) · · , ,
  114. In and Out of Style (tweet this) · · ,
  115. How to Use ESLint and Prettier for Code Analysis and Formatting (tweet this) · · , ,
  116. 3 Useful CSS Hacks (tweet this) · · ,
  117. You Don’t Need a JavaScript Library for Your Components (tweet this) · · , ,
  118. The Guide to Windows High Contrast Mode (tweet this) · · ,
  119. How to Remove 99% of JavaScript from Main Thread (tweet this) · · , ,
  120. How to Prevent Merge Conflicts (or at Least Have Less of Them) (tweet this) · · ,
  121. Fun CSS-Only Scrolling Effects for Matterday (tweet this) · · ,
  122. Do Dyslexia Fonts Improve Accessibility? (tweet this) · · ,
  123. Conditionally Styling Selected Elements in a Grid Container (tweet this) · · ,
  124. Complex vs. Compound Selectors (tweet this) · · , ,
  125. Communication Accessibility: It’s Time to Change How We Communicate (tweet this) · · ,
  126. 5 Very Simple Steps You Can Take for Accessibility Improvement (tweet this) · · ,
  127. Why You Shouldn’t Modify Scrum (tweet this) · · , ,
  128. Understanding the JavaScript Window Object (tweet this) · ·
  129. Software Engineering—The Soft Parts (tweet this) · · ,
  130. Simple CSS Solutions (tweet this) · · ,
  131. Should I Have Separate GitHub Accounts for Personal and Professional Projects? (tweet this) · · , , ,
  132. Dialogs and Shadow DOM: Can We Make It Accessible? (tweet this) · · ,
  133. Design Principles for the Web (tweet this) · · , , ,
  134. CSS Card Shadow Effects (tweet this) · · ,
  135. Change Management for Accessibility (tweet this) · · ,
  136. What We’ve Learned from One Year of Real User Monitoring Data on GOV.UK (tweet this) · · , ,
  137. The Smallest CSS (tweet this) · · ,
  138. The Folly of Design System “Foundations” (tweet this) · ·
  139. Designing the Perfect Button (tweet this) · · ,
  140. Design System Maturity (tweet this) · · ,
  141. Modern JavaScript, 10 Things You Should Be Using, Starting Today (tweet this) · ·
  142. AbortController Is Your Friend (tweet this) · ·
  143. Better Scrolling Through Modern CSS (tweet this) · · ,
  144. Write HTML Right (tweet this) · · ,
  145. The Many Definitions of Server-Side Rendering (tweet this) · ·
  146. State of the Vuenion 2022 (tweet this) · · ,
  147. Single Element Loaders: The Spinner (tweet this) · · ,
  148. Measuring the Performance of Typefaces for Users II (tweet this) · · , ,
  149. Make DevTools Pick Colors Outside of Chrome (tweet this) · · ,
  150. How We Think About Browsers (tweet this) · ·
  151. 10 Dos and Don’ts of Web Design in 2022 (tweet this) · · ,
  152. The Future of Frontend Build Tools (tweet this) · ·
  153. Design Systems; the Great Connector (tweet this) · ·
  154. WCAG SC 1.4.4 Resize Text and 1.4.10 Reflow (tweet this) · · ,
  155. Simplify Your Color Palette with CSS “color-mix()” (tweet this) · · ,
  156. Patterns for Building JavaScript Websites in 2022 (tweet this) · · , ,
  157. Mobile-First CSS: Is It Time for a Rethink? (tweet this) · · ,
  158. JavaScript Hydration Is a Workaround, Not a Solution (tweet this) · · ,
  159. Inclusive User Research: Analysing Findings (tweet this) · · ,
  160. How to Use Headings for Website Accessibility (tweet this) · · ,
  161. How to Animate SVG Shapes on Scroll (tweet this) · · , ,
  162. Optimize the Use of “if–else” (tweet this) · ·
  163. Meet Web Push (tweet this) · · , , ,
  164. Mathematical Notation for JavaScript Developers Explained (tweet this) · · ,
  165. How to Create Dark Mode for Your Designs in Figma (tweet this) · · ,
  166. Building Interoperable Web Components That Even Work with React (tweet this) · · , ,
  167. Aspects of Accessibility—Semantics, Contrast, and… Anxiety? (tweet this) · · , , ,
  168. Web Typography: Establishing a Strong Typographic System (tweet this) · ·
  169. Shallow Copy and Deep Copy (tweet this) · ·
  170. Best Practices for Overlays (tweet this) · · , ,
  171. Are You Ignoring Digital Accessibility at Your Job? (tweet this) · · ,
  172. How to Use Variables in CSS (tweet this) · · ,
  173. Can I DevTools? (tweet this) · · , ,
  174. Measuring the Performance of Typefaces for Users (tweet this) · · , ,
  175. Why Most Design Systems Implode (tweet this) · · ,
  176. WCAG 3 Compliant? Check Again (tweet this) · · , ,
  177. Hamburger Footer: Reaching the Bottom of Infinite Scroll (tweet this) · · ,
  178. Web Development Resources (tweet this) · · ,
  179. Don’t Sink Your Website with Third Parties (tweet this) · · , ,
  180. A Brief History of Responsive Web Design (tweet this) · · ,
  181. Useful Built-In Node.js APIs (tweet this) · · ,
  182. Obscure CSS: Implicit List-Item Counter (tweet this) · ·
  183. Monorepos in JavaScript and TypeScript (tweet this) · · , ,
  184. How to Pick the Least Wrong Colors (tweet this) · · , ,
  185. Do We Have a Lack of Developers or a False Assumption What the Job Is? (tweet this) · · ,
  186. Declarative Design Systems (tweet this) · ·
  187. Dealing with Hover on Mobile (tweet this) · · , ,
  188. Writing Useful Alt Text (tweet this) · · ,
  189. The Cicada Principle and Why It Matters to Web Designers (tweet this) · · ,
  190. Understanding CSRF Attacks (tweet this) · ·
  191. Two Lines of CSS That Boosts 7× Rendering Performance (tweet this) · · , ,
  192. Interview with Léonie Watson (tweet this) · · ,
  193. How Does Social Interaction Change in an Age of New Media? (tweet this) · · ,
  194. Checklist for Moderating a Usability Test (tweet this) · · , ,
  195. JavaScript of Halftone Printing (tweet this) · · ,
  196. 7 Tips to Improve Your TypeScript (tweet this) · · , ,
  197. You May Not Need a Bundler for Your npm Library (tweet this) · · ,
  198. Just How Long Should Alt Text Be? (tweet this) · · ,
  199. What’s the Alternative (Text)? (tweet this) · · ,
  200. What npm Can Learn from Go (tweet this) · ·