Frontend Dogma

News and Tools for Frontend Development (18)

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

  1. Moving From React to htmx (via) · · , ,
  2. Accessibility Checkers—a Good Start, Not a Solution (by/via) · · , ,
  3. Design for Them Not for You (by/via) · · , ,
  4. New Brutalism and Web Accessibility: What You Need to Know (by/via) · · ,
  5. Scoop: Meta Ending Support for Instant Articles (by/via) · · ,
  6. Container Queries: Style Queries (by/via) · · ,
  7. Microfrontends: Microservices for the Frontend (by/via) · · ,
  8. Intro to Why Accessibility Is Important for Good SEO (via) · · , ,
  9. Two JavaScripts (by) · ·
  10. Upgrading Colors to HD on the Web (by/via) · · ,
  11. A Pure CSS Gallery Focus Effect With “:not” (via) · · ,
  12. Augmenting Node.js With WebAssembly (by/via) · · , ,
  13. CDN (by/via) · · , , , ,
  14. Some Things I Took Away From an Event Apart 2022 in Denver (by/via) · · , ,
  15. What I Learned About SVG Accessibility (Among Other Things) From NBC News’ Senate “What If” Project (by) · · ,
  16. Representation in “alt” Text (by) · · , ,
  17. The Web’s Next Transition (by) · ·
  18. Create a Passkey for Passwordless Logins (by/via) · · , ,
  19. Early Days of Container Style Queries (by/via) · · ,
  20. How to Animate CSS Box Shadows and Optimize Performance (by/via) · · , , , ,
  21. Design Specifications Template (by/via) · · ,
  22. Speeding Up Async Snippets (by) · · ,
  23. The Border Property You Never Knew You Needed (by) · · ,
  24. Tree Views in CSS (by) · ·
  25. Sustainable Web Development Strategies Within an Organization (by/via) · · , ,
  26. Bun? Deno? Node.js? Creating Your Own JavaScript Runtime Using V8, Libuv, and More (by) · · , , ,
  27. Quick Tip: How to Use the Ternary Operator in JavaScript (via) · · , , ,
  28. Challenges of Multi-Brand Design Systems (by/via) · · , ,
  29. SVG Sprites: Old-School, Modern, Unknown, and Forgotten (by) · · ,
  30. When New CSS Features Collide: Possibility and Complexity at the Intersections (by) · · , , ,
  31. Delightful UI Animations With Shared Element Transitions API II (by/via) · · , , ,
  32. WCAG 2.2 Success Criteria (by) · · ,
  33. :where :is CSS? (by) · · ,
  34. How to Write Good Alt Text (by) · · , , ,
  35. New Patterns for Amazing Apps (by/via) · ·
  36. A Little Semantic HTML Trick for React Components (by) · · , , , ,
  37. Landing the Second Click: A Guide to Designing Better Landing Pages (by/via) · · , , ,
  38. HTML 2022: 20 Additional Observations From Analyzing the Web Almanac Data (by) · · ,
  39. Usability Heuristic Frameworks: Which One Is Right for You? (by/via) · · ,
  40. Personas: Study Guide (by/via) · · , , , ,
  41. Turn Around Your Git Mistakes in 17 Ways (by) · · , ,
  42. 4 Required Tests Before Shipping New Features (by) · · ,
  43. Layout Breakouts With CSS Grid (by) · · ,
  44. Understanding “async” and “await” (by) · ·
  45. 2022 Web Almanac Report Finds WordPress Adoption Is Growing, Adds New Page Builder Data (by/via) · · , , ,
  46. Debugging CSS, No Extensions Required (by) · · , ,
  47. Five Months Worth of Takes on the Digital Accessibility Space (by/via) · · , ,
  48. The Future of Rendering in React (by) · · , ,
  49. The Future of the Web Is on the Edge (by/via) · · ,
  50. Unless You’re in the Mafia, Your Company Isn’t Your Family (by) · ·
  51. Adding Components to Eleventy With WebC (by) · · ,
  52. Awesome Tools for Open Source Contributions (by) · · , ,
  53. How to Safely Share Your Email Address on a Website (via) · · , ,
  54. WordPress.org Plugin Developers Demand Transparency Regarding the Removal of Active Install Growth Data (by/via) · · , ,
  55. How to Safely Pass Data to JavaScript in a Django Template (by) · · , ,
  56. AI Code Completion Is Like Cruise Control—and That’s Great News for Bigger Teams (by) · · , , ,
  57. Foundations: HTML Semantics (by/via) · · ,
  58. Front-End Development Is Like… (by) · ·
  59. Using Web Components With Next (or Any SSR Framework) (by/via) · · , ,
  60. Easy Fluid Typography With “clamp()” Using Sass Functions (by/via) · · , , , ,
  61. Quick Tip: How to Use the Spread Operator in JavaScript (via) · · , , ,
  62. Patching the Open Web (by) · ·
  63. Use “npm query” and jq to Dig Into Your Dependencies (by) · · , , ,
  64. 3 Things to Consider Before You Implement CAPTCHA for Accessibility (via) · · ,
  65. Can Consistency Harm Your Product? (by/via) · · ,
  66. Component-Level Design Tokens: Are They Worth It? (by) · · ,
  67. Four Ways to Pick the Right UX Method (by/via) · · ,
  68. One Formula to Rule Them All: The ROI of a Design System (by+/via) · ·
  69. The Missing Math Methods in JavaScript (via) · · ,
  70. Where Are the Accessibility Statements? Digital Accessibility Shouldn’t Be a Surprise (via) · ·
  71. CSS Halftone Patterns (by/via) · · ,
  72. Designing a Secure API (by/via) · · , ,
  73. When Going Somewhere Does a Thing: On Links and Buttons (by) · · , , , ,
  74. A CSS Class-Naming Convention Might Still Be Your Best Choice (by) · · , ,
  75. A Beginner’s Complete Guide to Form Accessibility: The 5 Things Accessible Forms Need and How to Fix Common Errors (via) · · , ,
  76. I Changed My Mind About Writing New JavaScript Frameworks (by) · · ,
  77. Minimalism as Narcissism (by) · ·
  78. The Difference Between “undefined” and “not defined” in JavaScript (by/via) · ·
  79. Delightful UI Animations With Shared Element Transitions API (by/via) · · , , ,
  80. Mobile UX Design in 2022 (by/via) · · , ,
  81. Busting the Myths About Agile Development and User Research (via) · · , , ,
  82. I Turned JS Into a Compiled Language (for Fun and Wasm) (by) · · , ,
  83. CSS-Only Type Grinding: Casting Tokens Into Useful Values (by/via) · · ,
  84. Phylum Detects Active Typosquatting Campaign Targeting npm Developers (via) · · , ,
  85. Ten Years of TypeScript (by/via) · ·
  86. What Is Website Minimalism? (by) · · ,
  87. Building Delight in Your Design System (by/via) · · ,
  88. Templating in HTML (by) · · ,
  89. Why UX? (via) · · ,
  90. depngn (via) · · , , ,
  91. Optimize Long Tasks (by/via) · · ,
  92. Learn Accessibility (by/via) · · ,
  93. Getting Started With WordPress Block Development (via) · · ,
  94. A Web Component Story (by) · · ,
  95. Choosing the Best Node.js Docker Image (by/via) · · ,
  96. Intersectionality, Accessibility, and Inclusion (via) · · , ,
  97. Why You Should Care About Design in Uncertain Times (via) · ·
  98. Yes, Accessibility Is Also a Backend Concern (by) · ·
  99. “:has()” Opens Up New Possibilities With CSS (by) · · , ,
  100. State of CSS 2022 (by+) · · ,
  101. How to Center a Div Using CSS Grid (by/via) · · , ,
  102. GIFs Without the .gif: The Most Performant Image and Video Options Right Now (by/via) · · , , , ,
  103. This Site’s Type Is Now Variable (by) · · , ,
  104. Websites Need to Be Accessible to Be Inclusive (by+/via) · · ,
  105. Let Me Understand How JavaScript Works Under the Hood (by) · ·
  106. How to Make Your Designs Scannable (and Why You Should) (by/via) · · , ,
  107. Performance Budgets: The Easiest Way to a Faster Site (by/via) · · ,
  108. How to Return Multiple Values From a Function in JavaScript (by) · · , ,
  109. Five Data-Loading Patterns to Boost Web Performance (via) · ·
  110. Named Element IDs Can Be Referenced as JavaScript Globals (by/via) · · ,
  111. 7 Things to Consider When Working On a Personal Project · · ,
  112. Learn HTML (by/via) · · ,
  113. Don’t Worry, Nobody Is Replacing Node, Not Even Bun and Even Less Deno (by/via) · · , ,
  114. Useful JavaScript Math Functions and How to Use Them (by/via) · · , ,
  115. Dear Console… (by) · · , ,
  116. Closing a 30 Pixel Gap Between Native and Web (by/via) · · , ,
  117. A Deep Dive Into WCAG 2.2—and Beyond (by+/via) · · , ,
  118. 100 Days of More or Less Modern CSS (by) · ·
  119. 6+5 Ways to Make a Two-Column Layout: From Pretty Reasonable to Completely Wrong (by) · · ,
  120. I Am Not That Excited About New CSS Features (by) · ·
  121. The New Wave of JavaScript Web Frameworks (via) · · ,
  122. How to Create Wavy Shapes and Patterns in CSS (by/via) · · , ,
  123. How to Get All Sibling Elements of a Link or Button With Vanilla JavaScript (by) · · , , ,
  124. Accessibility (by+/via) · · , ,
  125. CMS (by/via) · · , ,
  126. CSS (by/via) · · , ,
  127. Fonts (by/via) · · , ,
  128. HTTP (by/via) · · , , ,
  129. Interoperability (by/via) · · , ,
  130. JavaScript (by+/via) · · , ,
  131. Markup (by/via) · · , ,
  132. Media (by/via) · · , , ,
  133. Page Weight (by+/via) · · , ,
  134. Security (by+/via) · · , ,
  135. SEO (by+/via) · · , ,
  136. Sustainability (by+/via) · · , ,
  137. Continue Using .env Files as Usual (by) · · ,
  138. Streamable HTML Fragments (by) · · ,
  139. Two Things I Learned by Validating My HTML Again (by) · · , ,
  140. Audience-Based Website Navigation (by/via) · · , ,
  141. Writing Composable SQL Using JavaScript (by/via) · · , ,
  142. Attitudes to Digital Accessibility Survey 2022 (via) · · , ,
  143. Blind People Need to Be Considered More When Making Data Visualizations (by/via) · · ,
  144. Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (by) · · , ,
  145. The Indisputable Truth About Accessibility (by/via) · · ,
  146. Things I Wish I Had Known About Angular When I Started (by/via) · ·
  147. Top Task Analysis: Make It Fast and Efficient (by) · ·
  148. A Designer’s Guide to Documenting Accessibility (by/via) · · , , ,
  149. Randomness in CSS (by) · · ,
  150. Use Cases for CSS Comparison Functions (by) · · ,
  151. Testing Web Design Color Contrast (by+/via) · · , ,
  152. Speedy CSS Tip! Animated Loader (by/via) · · ,
  153. 5 Ways That UX Developers Influence SEO (via) · · ,
  154. Creative Section Breaks Using CSS “clip-path” (by/via) · · ,
  155. Element Timing: One True Metric to Rule Them All? (by/via) · · , ,
  156. Rest vs. Spread Syntax in JavaScript (by) · · ,
  157. Designing Better Inline Validation UX (by/via) · · , ,
  158. Will Serving Real HTML Content Make a Website Faster? Let’s Experiment! (by/via) · · , , ,
  159. Accessibility Is Systemic (by) · ·
  160. Clarifying Color Contrast and Font Size Guidelines (by) · · , , ,
  161. React I Love You, but You’re Bringing Me Down (by/via) · ·
  162. The Web Is Good Now (by/via) · · ,
  163. Type-Level TypeScript (by) · · ,
  164. Why Designers Quit (by/via) · · ,
  165. Shell Scripting With Node.js (by) · · , ,
  166. Making Your Web Pages Printer-Friendly With CSS (by/via) · · ,
  167. It’s Good to Make Mistakes (by) · · , ,
  168. How to Generate Random Numbers in JavaScript With “Math.random()” (by/via) · · , , ,
  169. CSS Rules vs. CSS Rulesets (by) · · ,
  170. Prototyping to Learn (by) · · ,
  171. A “details” Element as a Burger Menu Is Not Accessible (by/via) · · , ,
  172. 5 Ways to Use Data Visualization in Your Content to Increase Traffic (via) · · , ,
  173. Design 4.0: Leading Design in the New Industry (via) · ·
  174. How Rapid Usability Testing Is Changing UX Research (by/via) · · , , ,
  175. Rethinking a Design System (by) · ·
  176. Web Sustainability and the Ethical Dilemma (by/via) · · , ,
  177. CSS Drawings (by) · · ,
  178. Building a Retro Draggable Web Component With Lit (by/via) · · ,
  179. Stop Using .env Files Now (by) · · ,
  180. How to Get the Current Timestamp in JavaScript (by) · · ,
  181. Accidental Dismissal of Overlays: A Common Mobile Usability Problem (by+/via) · · , ,
  182. Debunking Myths About HTTPS · · , ,
  183. The Git Commands I Use Every Day (by) · · ,
  184. Accessibility Is for Every One (by) · ·
  185. Brief Note on Super- and Subscript Text (by) · · , , ,
  186. When Design Systems Lie (by/via) · · ,
  187. How to (Not) Make a Button (by) · · , , , ,
  188. Accessibility in Times of Headless (by/via) · · , ,
  189. Design Tokens 101 (by) · ·
  190. Let’s Get Logical (by) · · ,
  191. The Rise of the TikTok Pattern (by/via) · · ,
  192. Total Blocking Time: A Short and Sweet Guide for Happier Users (by/via) · · ,
  193. Why Are Vanity Metrics Still Problematic? (via) · ·
  194. Why the Number Input Is the Worst Input (by/via) · · , , ,
  195. Invalid CSS (by) · · ,
  196. Designing for People With Cognitive Disabilities and Everyone Else (by/via) · · , ,
  197. I Never Thought This Would Be Possible With CSS (by) · · , ,
  198. Five Things You Can Do to Be More Inclusive (by) · · ,
  199. How to Substantially Slow Down Your Node.js Server (via) · · , ,
  200. Buttons and the Baader–Meinhof Phenomenon (by) · · ,
  201. 7 Must Know JavaScript Tips and Tricks (by) · · ,
  202. 3 Problems Scrum Doesn’t Solve (by/via) · · , ,
  203. A Guide to Rounding Numbers in JavaScript (by/via) · · ,
  204. Container Queries in Browsers! (by) · · , ,
  205. JavaScript APIs You Don’t Know About (by/via) · · ,
  206. The State of Digital Accessibility: Three Key Challenges (by/via) · · , ,
  207. W3C TAG Ethical Web Principles (by) · · , ,
  208. When Is It OK to Disable Text Selection? (by/via) · · , ,
  209. On Better Browsers: Arbitrary Media Queries and Browser UIs (by) · · , ,
  210. Quick Tip: Embedding YouTube Videos in GitHub Pages (by) · · , , ,
  211. Secure Your Node.js App With JSON Web Tokens (by/via) · · , ,
  212. Better Accessible Names (by) · · ,
  213. Conditionally Spreading Objects in JavaScript (by) · · ,
  214. Disability Is Not a Dirty Word (by) · · ,
  215. Wtf Is an Island and Why Is It in My Website? (by) · · , , ,
  216. Detecting CSS Selector Support (by/via) · · , , ,
  217. Intrinsic CSS With Container Queries and Units (by/via) · · , , ,
  218. PureComponents vs. Functional Components With Hooks (by) · · , ,
  219. The Power of CSS Blend Modes (by/via) · · ,
  220. Node.js Native Binary Compilation Using Vercel pkg (by/via) · · ,
  221. Making Sense of WAI-ARIA: A Comprehensive Guide (by/via) · · , , ,
  222. What Is Data Engineering? (by) · · ,
  223. The Basics of Remix (by/via) · · , ,
  224. First Batch of Color Fonts Arrives on Google Fonts (by/via) · · , , ,
  225. Best Practices for Creating a Modern npm Package (by/via) · · ,
  226. Nuclear Footnotes (by) · · ,
  227. When Life Gives You Lemons, Write Better Error Messages (by/via) · · ,
  228. Which Fonts to Use for Your Charts and Tables (by/via) · · , ,
  229. The “details” and “summary” Elements, Again (by) · · ,
  230. My Five Biggest Design System Mistakes (by) · · ,
  231. Justin Yarbrough Talks About Alt Text (by/via) · · , , ,
  232. The Seventh Way to Call a JavaScript Function Without Parentheses (by/via) · · ,
  233. 2022: 0 of the Global Top 100 Websites Use Valid HTML (by) · · , , ,
  234. Antipersonas: What, How, Who, and Why? (via) · · ,
  235. Your Next.js Bundle Will Thank You (by) · · , ,
  236. Mastering DOM Manipulation With Vanilla JavaScript (by) · · ,
  237. Mastering These 7 Basics CSS Skills Will Make You a Frontend Wizard (by) · · ,
  238. Converting PNG Images to WebP Using PHP (by) · · , , , ,
  239. Make It Short—Make It Better (by) · · ,
  240. A Guide to Choosing the Right React State Management Solution (by/via) · · , ,
  241. CSS “line-height” (by) · · ,
  242. How I Made a Pure CSS Puzzle Game (by/via) · ·
  243. How to Monitor a Next.js Application (via) · · , ,
  244. Keeping Your CSS Small: Scopes, Containers, and Other New Stuff (by/via) · · , , ,
  245. Button Minimum Width (by/via) · · ,
  246. Node Version Manager—nvm Install Guide (by/via) · · ,
  247. Lightning CSS (by/via) · · , ,
  248. Text Is the Universal Interface (by/via) · ·
  249. Towards a Factory Model of Designing User Interfaces—Slotted Systems in Figma (by/via) · · , ,
  250. What’s New With Forms in 2022? (by/via) · · , ,