Frontend Dogma

News and Tools for Frontend Developers (24)

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

  1. “<article>” vs. “<section>”: How to Choose the Right One (by/via) · · , ,
  2. 5 Best UX Careers to Pursue in 2022 (via) · · ,
  3. Mobile UX: Study Guide (by/via) · · , , , ,
  4. Clean Architecture: Applying With React · · ,
  5. The History of JavaScript (by) · · ,
  6. Ancient Web Browsers · · , ,
  7. What Is HCI (Human-Computer Interaction)? Meaning, Importance, Examples, and Goals (via) · · , ,
  8. Understanding CSS “:has()” (by/via) · · , ,
  9. Type Annotations in JavaScript (by/via) · · ,
  10. Say No to Tailwind, Embrace Plain CSS (by) · · , ,
  11. Intro to Serverless Functions (by/via) · · , , ,
  12. Definitive Guide to CAPTCHA Accessibility (via) · · , ,
  13. Research Insight: Accessibility of Images (by/via) · · , , ,
  14. Where’s the Fun in Accessibility? (by/via) · · ,
  15. Vector Animations With Figma and SVG Animate (by/via) · · , , ,
  16. With “:focus-visible”, You Can Have Focus Styles When It Makes Sense (by) · · , , , ,
  17. Top Layer Support in Chrome DevTools (by/via) · · , , , ,
  18. Roundup of Recent Document Outline Chatter (by/via) · · , ,
  19. RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks (by/via) · · , ,
  20. Introduction to SvelteKit (by/via) · · , ,
  21. Front-End Internationalisation Tips (by/via) · · , , ,
  22. Escaping the sRGB Prison (by/via) · · ,
  23. 20 Git Commands Every Developer Should Know (by) · · ,
  24. Powerful Image Optimization Tools (by/via) · · , , , ,
  25. Create Complex Transitions With Individual CSS Transform Properties (by/via) · · , ,
  26. Rethinking Device Emulation in Browsers (by) · · , ,
  27. Creating an App Using Drag and Drop With React Without Libraries (by) · ·
  28. An Introduction to Multithreading in Node.js (by/via) · · , ,
  29. Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (by/via) · · , , , ,
  30. The 10 Most Common JavaScript Issues Developers Face (via) · · ,
  31. Logical Properties for Useful Shorthands (by/via) · · , ,
  32. JavaScript SDK “Package Size Is Massive”—So We Reduced It by 29% (via) · · , ,
  33. Expert Tips for Color Accessibility on the Web (via) · · , ,
  34. 15 Common Beginner JavaScript Mistakes (by) · · ,
  35. Why I No Longer Care What People “Like” or “Don’t Like” (by/via) · ·
  36. What Is WAI? The Web Accessibility Initiative (via) · ·
  37. What Is Passwordless Authentication and How to Implement It (by/via) · · , ,
  38. Useful Tips and Tricks in JavaScript (by) · · ,
  39. JSON Creator Douglas Crockford Interview (by/via) · · ,
  40. How Scrum With Kanban Works (by/via) · · , , ,
  41. How Did REST Come to Mean the Opposite of REST? (via) · ·
  42. Hacking JavaScript Objects (by) · · ,
  43. Abbreviations Can Be Problematic (by) · · ,
  44. CSS Gradient Background From Figma to CodePen (by) · · , , , ,
  45. Using Grids in Interface Designs (via) · · ,
  46. Use Firefox for Accessibility Testing (by/via) · · , , , ,
  47. Can SVG Symbols Affect Web Performance? (by) · · , ,
  48. An Approach to Continuous Learning (by) · · ,
  49. 7 Tips for Clean React TypeScript Code You Must Know (by) · · , ,
  50. What Does x% of Issues Mean? (by) · · ,
  51. Welcome to the Dark Side (by) · · , ,
  52. 7 Quick Facts About WCAG 2.2 (via) · · , ,
  53. Working With File System Paths on Node.js (by) · · ,
  54. Could Sustainable Websites Increase Energy Consumption? (via) · ·
  55. What Is the Best Way to Mark Up an Exclusive Button Group? (by) · · , , ,
  56. Web Accessibility Laws and Policies (by) · · , , ,
  57. The Hidden History of Screen Readers (by/via) · · , , , ,
  58. Perceived Affordances and the Functionality Mismatch (by) · · , ,
  59. Minimal Social Markup (by) · · , ,
  60. Optimizing Node.js Dependencies in AWS Lambda (by/via) · · , , , ,
  61. The “Array.prototype.at()” Method in Vanilla JavaScript (by) · ·
  62. My War on Animation (by/via) · · ,
  63. Custom ESM Loaders: Who, What, When, Where, Why, How (by) · · ,
  64. Bag Some AAA Wins Where You Can (by) · · ,
  65. What You Need to Know About ARIA and How to Fix Common Mistakes (via) · · , , ,
  66. The Methods UX Professionals Use (by/via) · · ,
  67. The Cost of Consistency in UI Frameworks (by/via) · · ,
  68. Applying SOLID Principles in React (by) · · , , , ,
  69. Statements vs. Expressions (by) · · ,
  70. The Many Faces of Themeable Design Systems (by) · · ,
  71. Technical Writing for Developers (by/via) · · ,
  72. Integer Math in JavaScript (by) · · ,
  73. Guide to Trending Front-End Frameworks in 2022 (via) · · , , , , , ,
  74. Generating Accessibility Test Results for a Whole Website With Pa11y CI (by) · · , ,
  75. Fundamentals Matter (by) · ·
  76. Forms in Modals: UX Case (by) · · , ,
  77. Building (or Rebuilding) a Website With Accessibility in Mind (by) · ·
  78. Avoiding “<img>” Layout Shifts: “aspect-ratio” vs. “width” and “height” Attributes (by) · · , , , ,
  79. A Look at Remix and the Differences With Next.js (by/via) · · , , ,
  80. 37 Easy Ways to Spice Up Your UI Designs (by) · · ,
  81. The Ultimate Guide to Debugging Accessibility Issues · · , ,
  82. JavaScript Obfuscation Techniques by Example · · , , ,
  83. Choosing the Right Mindset to Design Complex Applications (by/via) · · , ,
  84. Working on a New Feature as a Senior Frontend Developer (by) · ·
  85. Figma Auto Layout = “display: flex” (by) · · ,
  86. Data Structure and Algorithms 102 (by) · · ,
  87. The Future of CSS: Variable Units, Powered by Custom Properties (by/via) · · , ,
  88. Set JAWS Free! (by) · · , , , ,
  89. CSS Complexity: It’s Complicated (by/via) · · ,
  90. Why the HTML Outlining Algorithm Was Removed From the Spec—the Truth Will Shock You! (by) · · , ,
  91. The CSS Cascade, a Deep Dive (by/via) · · , ,
  92. Make It Accessible (via) · · ,
  93. It’s Mid-2022 and Browsers (Mostly Safari) Still Break Accessibility via Display Properties (by) · · , , , ,
  94. Holograms, Light-Leaks, and How to Build CSS-Only Shaders (by) · · , , ,
  95. An Accessibility-First Approach to Chart Visual Design (by+/via) · · ,
  96. Captions: Humans vs. Artificial Intelligence: Who Wins? (by/via) · · , , , ,
  97. What Are Color Gamuts (by) · ·
  98. Truly Portable Design Patterns (by/via) · · ,
  99. The Joy of Variable Fonts: Getting Started on the Frontend (by+/via) · · , ,
  100. The Hard Parts of Developer Advocacy (for Me) (by) · · , , ,
  101. The Ballad of Text Overflow (by/via) · · ,
  102. Consistency in UX Design: To What Extent Is “Best Practice” the Right Choice? (by/via) · · , , ,
  103. The Off by Default Web (by) · · ,
  104. The Case for Null in Design Systems (by/via) · ·
  105. Style With Stateful, Semantic Selectors (by) · · ,
  106. Masonry? In CSS?! (by/via) · · ,
  107. Inverted Media Queries and Breakpoints (by) · · ,
  108. Executing Shell Commands From Node.js (by) · · ,
  109. Super-Helpful Tips When Working With Figma Component Properties (by/via) · · , ,
  110. Two Levels of Customising “<selectmenu>” (by) · · ,
  111. The Unlocked Possibilities of the “:has()” Selector (by) · · ,
  112. How to Make Text Improve User Experience: Insights Into UX Writing (by/via) · · , ,
  113. Body Margin 8px (by) · · ,
  114. Frontend Web Performance: The Essentials · · ,
  115. css-browser-support (by) · · , , , ,
  116. Faster WordPress Rendering With 3 Lines of Configuration (by) · · , , , ,
  117. Write Git Commit Messages That Your Colleagues Will Love (by) · · ,
  118. Web Development Is Like Assembling IKEA Furniture (by) · ·
  119. Reimagining Front-End Web Development With htmx and Hyperscript (by) · · ,
  120. How to Auto-Prefix and Minify CSS? (by) · · , , , ,
  121. Breaking Out of a Central Wrapper (by/via) · ·
  122. Best Practices for Images (by) · · , ,
  123. The New Wave of React State Management · · , ,
  124. “That’s Not Accessible!” and Other Statements About Accessibility (by) · ·
  125. CSS Variable Secrets (by/via) · · ,
  126. 404 vs. 410—the Technical SEO Experiment (by/via) · · , , ,
  127. What the Hell Is “<!DOCTYPE html>”? · · ,
  128. What Every Newbie Developer Should Know (by) · ·
  129. Thoughts on an Accessibility “Get Well” Plan (by) · · , , ,
  130. Farewell to HTML5Rocks (by/via) · · , ,
  131. Building Tabs in Web Components (by) · ·
  132. Working With the File System on Node.js (by) · · , ,
  133. Googlebot and the 15 MB Thing (via) · · ,
  134. Are You Sure That’s a Number Input? (by) · ·
  135. Imagemin Guard (by) · · , , , , , , , , ,
  136. What Do the Developers Do in the Last Week of the Sprint? (by/via) · · , ,
  137. Style Queries (by) · · ,
  138. SPAs: Theory Versus Practice (by) · · ,
  139. Demystifying the New Gatsby Framework (by/via) · · ,
  140. A CLS Punishment for Progressive Enhancement? (by/via) · · , ,
  141. UX Writing: Study Guide (by/via) · · , , , ,
  142. Using JavaScript to Fill localStorage to Its Maximum Capacity (by) · · ,
  143. A Previous Sibling Selector (by) · · ,
  144. Why Use Sass? (by/via) · ·
  145. GA4 Is Being Blocked by Content Security Policy (by) · · , , ,
  146. Accessible Design Systems (by/via) · · ,
  147. WCAG 2.1 AA Web Accessibility Checklist (via) · · , ,
  148. Single Element Loaders: The Bars (by/via) · ·
  149. Missing Introduction to React (by) · · ,
  150. Introduction to Defensive CSS (by/via) · · ,
  151. 4+ Years of Cracking Technical Interviews (by) · · ,
  152. Managing Specificity With CSS Cascade Layers (by/via) · · , , ,
  153. 5 Useful CSS Properties That Get No Love (by) · · ,
  154. Stop the Screen Going to Sleep With JavaScript (by) · ·
  155. Mastering “z-index” in CSS (by/via) · ·
  156. How We Designed an Accessible Color Palette From Scratch (via) · · , , ,
  157. Getting Started With Vue Composables (via) · · ,
  158. Everything You Need to Know About Web Performance (in 5 Minutes) (by/via) · · , ,
  159. Can We Enterprise CSS Grid? (by) · · , ,
  160. Apple Is Not Defending Browser Engine Choice (by) · · , , ,
  161. 7 UX Laws You’re Probably Getting Wrong (by/via) · · , ,
  162. User Vulnerabilities in the Data Cycle (by/via) · · , , ,
  163. What Would a Chromium-Only Web Look Like? (by) · · , , , ,
  164. “text-overflow: ellipsis” Considered Harmful (by) · · ,
  165. Style Scoping Versus Shadow DOM: Which Is Fastest? (by) · · , , , , , ,
  166. Please Remove That .git Folder · · ,
  167. Looking Ahead—Insights From Jeffrey Zeldman and Eric Meyer (by+/via) · · , ,
  168. Introducing Keyboard Navigation (by+/via) · · , ,
  169. In Defense of Blocks for Local Scopes (by) · · ,
  170. In Defense of Blocks for Local Scopes II (by) · · ,
  171. Different Ways to Write CSS in React (by/via) · · ,
  172. 10 Incident Management Best Practices for Streamlined Operations (via) · · , ,
  173. What Is Alternative Text? How Do I Write It for Images, Charts, and Graphs? (by) · · , , ,
  174. The Right Space Around Headings in Web Typography (by) · · , ,
  175. Svelte Origins: A JavaScript Documentary (via) · · , ,
  176. How and When to Use the CSS “:has” Selector (by/via) · · ,
  177. Cascade Layers—There’s a Polyfill for That! (by/via) · · , ,
  178. Be the Browser’s Mentor, Not Its Micromanager (by/via) · · ,
  179. A Beginner’s Guide to Inclusive UX Design (via) · · , , ,
  180. How I Built a Dark Mode Toggle (by) · · ,
  181. One Line of CSS to Add Basic Dark/Light Mode (by) · · ,
  182. Icon-Only Links Fail WCAG (by) · · , , , , ,
  183. Future Features of JS (by/via) · · ,
  184. Best Practices for Overlays II (via) · · , ,
  185. The Dos and Don’ts of Pairing Typefaces (by/via) · · , , , ,
  186. The Case for Using Sass in 2022 (by) · · ,
  187. Alternatives to Installing npm Packages Globally (by) · · , ,
  188. Why Do We Call It Breadcrumbs? Diving Into the History of UI Components (via) · · , ,
  189. Using Web Streams on Node.js (by) · · ,
  190. The Cost of Convenience (by) · · ,
  191. Pop-Ups Are Dead, Long Live Pop-Ups: Or, the Bait-and-Switch Hidden in Today’s Cookie Announcement (by) · · , , ,
  192. Is It Expensive to Build an Eco-Friendly Website? (via) · · ,
  193. 3 Useful CSS Hacks (by) · · ,
  194. Web Design Tool Wish List (by/via) · · , ,
  195. Notes on Maintaining an Internal React Component Library (by) · · , , ,
  196. Naming Conventions for Design Systems (via) · · , ,
  197. In and Out of Style (by/via) · · ,
  198. How to Use ESLint and Prettier for Code Analysis and Formatting (by) · · , , , , , ,
  199. Communication Accessibility: It’s Time to Change How We Communicate (by) · · ,
  200. You Don’t Need a JavaScript Library for Your Components · · , ,
  201. The Guide to Windows High Contrast Mode (by/via) · · , , , ,
  202. How to Remove 99% of JavaScript From Main Thread (by/via) · · , , ,
  203. How to Prevent Merge Conflicts (or at Least Have Less of Them) (by/via) · · , ,
  204. Fun CSS-Only Scrolling Effects for Matterday (by/via) · · ,
  205. Do Dyslexia Fonts Improve Accessibility? (via) · · ,
  206. Conditionally Styling Selected Elements in a Grid Container (by/via) · · ,
  207. Complex vs. Compound Selectors (by) · · , ,
  208. 5 Very Simple Steps You Can Take for Accessibility Improvement (via) · · ,
  209. Simple CSS Solutions (by) · · ,
  210. Why You Shouldn’t Modify Scrum (by/via) · · , ,
  211. Understanding the JavaScript Window Object (by/via) · · ,
  212. Software Engineering: The Soft Parts (by) · ·
  213. Should I Have Separate GitHub Accounts for Personal and Professional Projects? (via) · · , , ,
  214. Dialogs and Shadow DOM: Can We Make It Accessible? (by) · · , , ,
  215. Design Principles for the Web (by/via) · · , , ,
  216. CSS Card Shadow Effects (by) · · ,
  217. Change Management for Accessibility (by+/via) · · ,
  218. What We’ve Learned From One Year of Real User Monitoring Data on GOV.UK (by/via) · · , ,
  219. The Smallest CSS (by) · · ,
  220. The Folly of Design System “Foundations” (by) · ·
  221. Designing the Perfect Button (by/via) · · ,
  222. Design System Maturity (by/via) · · ,
  223. Modern JavaScript, 10 Things You Should Be Using, Starting Today (by/via) · ·
  224. AbortController Is Your Friend (by) · ·
  225. Better Scrolling Through Modern CSS (by) · · ,
  226. Write HTML Right (by) · · ,
  227. The Many Definitions of Server-Side Rendering (by) · ·
  228. State of the Vuenion 2022 (by/via) · · ,
  229. Single Element Loaders: The Spinner (by/via) · · ,
  230. Measuring the Performance of Typefaces for Users II (via) · · , ,
  231. Make DevTools Pick Colors Outside of Chrome (by) · · , , , ,
  232. How We Think About Browsers (by/via) · · ,
  233. 10 Dos and Don’ts of Web Design in 2022 (by/via) · · ,
  234. Design Systems; the Great Connector (by/via) · ·
  235. The Future of Frontend Build Tools (by/via) · · ,
  236. Inclusive User Research: Analysing Findings (via) · · , ,
  237. Mobile-First CSS: Is It Time for a Rethink? (via) · · , ,
  238. WCAG SC 1.4.4 Resize Text and 1.4.10 Reflow (by) · · , , ,
  239. Simplify Your Color Palette With CSS “color-mix()” (by/via) · · , ,
  240. Patterns for Building JavaScript Websites in 2022 (by/via) · · , ,
  241. JavaScript Hydration Is a Workaround, Not a Solution (by/via) · · ,
  242. How to Use Headings for Website Accessibility (via) · · , , ,
  243. How to Animate SVG Shapes on Scroll (by/via) · · , , ,
  244. How to Create Dark Mode for Your Designs in Figma (by/via) · · , ,
  245. Optimize the Use of “if–else” · ·
  246. Meet Web Push (by/via) · · , , ,
  247. Mathematical Notation for JavaScript Developers Explained (by/via) · · ,
  248. Building Interoperable Web Components That Even Work With React (by/via) · · , ,
  249. Aspects of Accessibility—Semantics, Contrast, and… Anxiety? (by) · · , , , ,
  250. A New Definition of HTTP (by) · · ,