Frontend Dogma

“2021” Archive (2)

  1. Photoshop’s Journey to the Web (by/via) · · , ,
  2. Reimagine Atomic CSS (by) · ·
  3. In-Page Filtered Search With Vanilla JavaScript (by/via) · · , ,
  4. A Deep Dive Into “object-fit” and “background-size” in CSS (by/via) · · ,
  5. Why Outdated jQuery Is Still the Dominant JavaScript Library (by/via) · · , ,
  6. If HTML and ARIA Don’t Allow It, It’s Probably a Bad Idea (by) · · , ,
  7. Web Performance Metrics Cheatsheet (by/via) · · ,
  8. Why Accessibility Overlays on Your Website Can Make Things Worse (via) · · ,
  9. Building an Effective Image Component (by/via) · · , ,
  10. The Process of Building a CSS Framework (by/via) · · ,
  11. Micro-Frontends: The Next Gen Way to Build Web Apps (by) · · ,
  12. Switch Role Support (by) · · , ,
  13. Finding Common Patterns Across Frameworks (by) · · ,
  14. Common Mistakes When Writing CSS With BEM (by/via) · · , , ,
  15. On Using Custom Properties (by/via) · · ,
  16. The Start of a New Era for Responsive Web Design (by/via) · · ,
  17. Decoupling HTML, CSS, and JavaScript in Design Systems (by) · · , , ,
  18. Designing for Color Contrast: Guidelines for Accessibility (via) · · , , ,
  19. Prevent Scroll Chaining With Overscroll Behavior (by) · · ,
  20. Identify Potential CSS Improvements (by/via) · · , , , , ,
  21. Semantic “menu” Context (by) · · ,
  22. Respecting Users’ Motion Preferences (by/via) · · ,
  23. Making the Web Developer’s Pilgrimage (by) · ·
  24. This Is the Way: A Phased Approach to Accessibility in the Development Lifecycle (by/via) · ·
  25. Back to Basics: Understanding the “for…in” Loop in JavaScript (by/via) · · ,
  26. How to Cancel an HTTP Request in Node.js (by) · · , ,
  27. Optimizing Resource Loading With the Fetch Priority API (by+/via) · · , , ,
  28. How I Made Google’s Data Grid Scroll 10x Faster With One Line of CSS (by) · · ,
  29. We Analyzed 425,909 Favicons · · ,
  30. New HTTP Standards for Caching on the Modern Web (by/via) · · , , , ,
  31. “@ supports selector()” (by/via) · · , , ,
  32. Evaluating Clever CSS Solutions (by/via) · ·
  33. Yes, Node.js Is Part of the Web Platform (by/via) · · , ,
  34. It’s Time for a Healthy Tech Approach (by) · ·
  35. HTML With Superpowers (by) · · , ,
  36. Disability: Let’s Say the Word (via) · · ,
  37. Fix Web Accessibility Systematically (by) · · ,
  38. Chrome DevTools: Easily Change CSS Units and Values (by) · · , , , , ,
  39. What Svelte’s Accessibility Warnings Won’t Tell You (by) · · ,
  40. Understanding and Implementing OAuth2 in Node.js (by/via) · · ,
  41. Landmarks (by) · · , ,
  42. Dealing With Timezones in Web Development (by) · ·
  43. 100 Bytes of CSS to Look Great Everywhere (by) · ·
  44. Processing CPU-Intensive Jobs in Node.js (by) · ·
  45. Beginner’s Guide to Responsive Images: How to Get Them Right (by/via) · · , , ,
  46. Custom Properties With Defaults: 3+1 Strategies (by) · · ,
  47. Expandable Sections Within a CSS Grid (by/via) · · ,
  48. Conditional “border-radius” and Three Future CSS Features (by) · · ,
  49. “min()”, “max()”, and “clamp()”: Three Logical CSS Functions to Use Today (by/via) · · ,
  50. Stop Writing JavaScript Like This · ·
  51. Smart CSS Solutions for Common UI Challenges (via) · · ,
  52. Different Degrees of Custom Property Usage (by/via) · · ,
  53. 1999: The Fall of Netscape and the Rise of Mozilla (by/via) · · , , ,
  54. Building a Multi-Select Component (by/via) · · , , ,
  55. The Tortuous Journey of Enhancing Our Color Palette (via) · · ,
  56. The Ultimate Guide to 3xx HTTP Status Codes (via) · · , ,
  57. Five Proven Approaches for a Better Developer Experience in Your Organisation (by+/via) · ·
  58. How to Win at CORS (by) · · , , , ,
  59. What Constitutes a Digital Accessibility Audit (by/via) · · , ,
  60. How Design Debt Can Hurt Your Product (via) · · ,
  61. Best UI Frameworks for React.js (via) · · ,
  62. Google Chrome Hidden Features Every Developer Should Know (by/via) · · , , ,
  63. Easy Read Is Hard to Get Right (via) · · ,
  64. A Tangled Web of ARIA (by) · · , ,
  65. Introduction to Styled Components (by) · · , , ,
  66. Appreciation for Being a Web Developer (by) · ·
  67. Why We Crave Software With Style Over “Branding” (by/via) · · ,
  68. Native CSS Nesting: What You Need to Know (by/via) · · , ,
  69. Internationalization: How to Boost Traffic With a Multilingual Site (via) · · ,
  70. Buttons vs. Links (by) · · , , , ,
  71. How We Improved Our Design System Delivery (by) · · , , ,
  72. Accessibility: A Gentle Introduction (by) · · ,
  73. Why Does Everything Look the Same? (via) · ·
  74. Have Single-Page Apps Ruined the Web? (by) · · , ,
  75. My Challenge to the Web Performance Community (by) · ·
  76. Engineer to Engineer: Art Is in the Code (by+/via) · · , ,
  77. How to Implement and Style the “Dialog” Element (by/via) · · , , ,
  78. What Is Micro-Content? (via) · · , ,
  79. Safe DOM Manipulation With the Sanitizer API (via) · · ,
  80. RenderingNG: An Architecture That Makes and Keeps Chrome Fast for the Long Term (by/via) · · , , , , ,
  81. The Options for Password-Revealing Inputs (by/via) · · , , , ,
  82. A Guide to CSS Debugging (by/via) · · , ,
  83. Browsing With a Mobile Screen Reader (via) · · , , , , ,
  84. Why Do Webdevs Keep Trying to Kill REST? (by) · · , ,
  85. UX Accessibility: How to Start Designing for All (by/via) · · , ,
  86. What Creating a Simple Font Taught Me About Font Design (by/via) · · ,
  87. Automating a Design System (by) · · , ,
  88. Animation Techniques for Adding and Removing Items From a Stack (via) · · , ,
  89. Conditional Border Radius in CSS (by) · · ,
  90. How to Build an Expandable Accessible Gallery (by/via) · · , , ,
  91. Writing Clean JavaScript Tests With the BASIC Principles (by) · · , ,
  92. Redundantly Redundant a11y Accessibility (by) · · ,
  93. The CSS “prefers-color-scheme” User Query and Order of Preference (by) · ·
  94. Using JavaScript to Detect High Contrast and Dark Modes (by) · · , , , ,
  95. Introducing Svelte, and Comparing Svelte With React and Vue (by) · · , , , ,
  96. Links, Missing “href” Attributes, and Over-Engineered Code (by) · · , ,
  97. Understanding and Working With Submodules in Git (by/via) · · ,
  98. Sorting JavaScript Arrays by Nested Properties (by) · · , ,
  99. Web Streams Everywhere (and Fetch for Node.js) (by/via) · · , , ,
  100. 9 Tag Management Solutions You Should Consider (via) · · , , ,
  101. Practical Frontend Philosophy · · ,
  102. How I Built a Modern Website in 2021 (by) · · , ,
  103. Declaring Page Language—and Declaring Changes in Language (by) · · , ,
  104. Faster React Apps With Memoization (via) · · , ,
  105. Guidelines for Choosing a Node.js Framework (by) · · , ,
  106. Comparing Page Language Declaration Setups in Screen Readers (by) · · , , , , , ,
  107. Figma Cheat Sheet · · , ,
  108. Let’s Dive Into Cypress for End-to-End Testing (by/via) · · ,
  109. Accessibility Isn’t New—and Neither Is Ableism (via) · ·
  110. Design Tokens Automation Pipeline: From Design Tools to Component Libraries · · , ,
  111. How I Make CSS Art (by) · · ,
  112. A JavaScript Developer’s Guide to Browser Cookies (by) · · , ,
  113. Beware False Negatives (by) · ·
  114. 7 UI Design Fundamentals for Developers (by) · · ,
  115. One Last Time: Custom Styling Radio Buttons and Checkboxes (by) · · , ,
  116. Not Releasing Late on Fridays, a Matter of Courtesy (by) · · ,
  117. Specification for Spoken Presentation in HTML (by+/via) · · ,
  118. When Everything Is Urgent, Nothing Is: What Is Alarm Fatigue and How to Deal With It · · ,
  119. Just Redux: The Complete Guide (by) · · ,
  120. Simplifying Form Styles With “accent-color” (by/via) · · ,
  121. “initial” Doesn’t Do What You Think It Does (by) · · ,
  122. A Content Model Is Not a Design System (by/via) · · ,
  123. ct.css—Let’s Take a Look Inside Your “<head>” (by) · · , ,
  124. 7 Useful HTML Attributes You May Not Know (via) · ·
  125. Container Units Should Be Pretty Handy (by/via) · · , ,
  126. Using Monorepos Is Not That Bad (by) · · ,
  127. Optimising a JavaScript Library With WebAssembly, a Failed Attempt (by) · · , ,
  128. CSS Container Queries: Container-Relative Lengths (by/via) · · ,
  129. Yarn vs. npm: Everything You Need to Know (by/via) · · , ,
  130. Node.js Garbage Collection Explained (via) · ·
  131. Cascade Layers? (by/via) · · ,
  132. 7 Practical Uses for the “::before” and “::after” Pseudo-Elements in CSS (by/via) · · ,
  133. Provide Pronunciation for Ambiguous Words (by) · · , ,
  134. How I Learnt to Stop Worrying and Love Animating the Box Model (by) · · ,
  135. Simpler Block Spacing in WordPress With “:is()” and “:where()” (by/via) · · , ,
  136. Understanding “min-content”, “max-content”, and “fit-content” in CSS (via) · ·
  137. Contemporary Design Has Lost Its Soul (via) · ·
  138. 20 Killer JavaScript One-Liners (by) · ·
  139. Practical Frontend Architecture · ·
  140. Why Inequalities Can Appear in Digital Accessibility and Inclusive Design (by) · · , ,
  141. CSS Container Query Units (by) · · , ,
  142. The New Requirements for WCAG 2.2 (via) · · ,
  143. How to Expand Your Engineering Skill Set Without Quitting Your Day Job (via) · · , ,
  144. Accessible Palette: Stop Using HSL for Color Systems (by/via) · · , , ,
  145. Small Bundles, Fast Pages: What to Do With Too Much JavaScript (via) · · , ,
  146. Web Vitals Patterns (by/via) · ·
  147. What’s the Right Font Size in Web Design? (by) · · ,
  148. Web Quality Assurance: From User Requirements to Web Risk Management (by/via) · · ,
  149. New Principle: Do Not Design Around Third-Party Tools Unless It Actually Breaks the Web (by) · · , ,
  150. Minding the “gap” (by/via) · ·
  151. Design Direction as a Step Before Design System (by/via) · · ,
  152. The Future of CSS: Cascade Layers (CSS “@ layer”) (by/via) · · , ,
  153. 1995: MySQL Arrives, Completing the LAMP Stack (by/via) · · , , ,
  154. Reducing the Need for Pseudo-Elements (by/via) · · ,
  155. Optimizing Images on the Web (by/via) · · ,
  156. Modernising CSS Infrastructure in DevTools (by/via) · · , , , , ,
  157. Master Frontend Development by Cloning These Websites (by) · ·
  158. Designing Beautiful Shadows in CSS (by) · · ,
  159. 29 Projects to Help You Practice HTML CSS JavaScript 2021 (by) · · , ,
  160. Scripting With Google zx (by) · ·
  161. Notes on Synthetic Speech (by) · · ,
  162. Myths About Web Accessibility (by) · · ,
  163. The Ultimate Guide to Web Console (by) · · , , ,
  164. Less Absolute Positioning With Modern CSS (by) · ·
  165. Vanilla JS Is a Web Performance Decision (by) · · ,
  166. Blowing Up HTML Size With Responsive Images (via) · · , , ,
  167. Enterprise UX: Essential Resources to Design Complex Data Tables (by) · · , , ,
  168. Bundling Non-JavaScript Resources (by/via) · ·
  169. Developer Decisions for Building Flexible Components (by/via) · ·
  170. What Is Redundant Entry, and How Does It Affect Accessibility? (via) · · ,
  171. The Case for “Developer Experience” (by/via) · ·
  172. Subsets and Supersets of WCAG (by) · · ,
  173. Okhsv and Okhsl (by) · · , ,
  174. Line Length Revisited: Following the Research (via) · · , , ,
  175. Flexible API Design: Create Hooks for Your PHP API Pipeline (by/via) · · , ,
  176. Fractional SVG Stars With CSS (by) · · , ,
  177. Defining Basic JavaScript Terms: “map”, “filter”, and “reduce” (by) · ·
  178. 5 Steps for Writing Alt Text for Accessibility (via) · · , ,
  179. 13 Advanced (but Useful) Git Techniques and Shortcuts (by/via) · · ,
  180. What’s New With DevTools: Cross-Browser Edition (by/via) · · , , , , , , , , ,
  181. Firefox’s “bolder” Default Is a Problem for Variable Fonts (by/via) · · , , , ,
  182. What’s New in PHP 8.1: Features, Changes, Improvements, and More (by/via) · ·
  183. Using CSS 3 Overflow Properties to Make Containers Meet WCAG 2.1 (via) · · , ,
  184. Becoming a Design Tokens Ambassador (by/via) · ·
  185. HTTP/3: Practical Deployment Options (by/via) · · , ,
  186. Color and Universal Design (by/via) · · , ,
  187. A Practical Guide to Creating Reusable React Components (via) · · , ,
  188. Designing for Long Waits and Interruptions: Mitigating Breaks in Workflow in Complex Application Design (by/via) · · , ,
  189. Stop! Put Down That Ternary, Lines Are Free (by) · ·
  190. Avoiding FOUT With Async CSS (by) · ·
  191. WebKit—Patches and Tests (by) · · ,
  192. Make Accessibility Part of Your Startup’s Products and Culture From Day One (by/via) · · ,
  193. Multiple Accounts and Git (by/via) · ·
  194. The Pros and Cons of Professional Language (by) · ·
  195. Reducing Carbon Emissions on the Web (via) · ·
  196. Understanding Next.js Data Fetching (CSR, SSR, SSG, ISR) (by) · · , , , ,
  197. Interactive Learning Tools for Front-End Developers (by/via) · ·
  198. The Effect of CSS on Screen Readers (by) · · , , , ,
  199. Getting Started With Web Accessibility Testing (via) · · , ,
  200. Threats of Using Regular Expressions in JavaScript (by/via) · · ,
  201. Element Diversity (by) · ·
  202. Best Practices for Logging in Node.js (by/via) · · , ,
  203. Twitter’s Div Soup and Uglyfied CSS, Explained (by) · · , ,
  204. Building a Split-Button Component (by/via) · · , , ,
  205. Web Scraping With JavaScript and Node.js (via) · · , ,
  206. It Takes a PhD to Develop That · · , ,
  207. 1995: Apache and Microsoft IIS Shake Up the Web Server Market (by/via) · · , , ,
  208. Writing High-Performance JavaScript (by) · · ,
  209. Color and Contrast, What Does It Mean? (by) · · , ,
  210. Building Reactive Systems With Node.js (via) · · ,
  211. Why You Should Manage Your Energy, Not Your Time (by) · · ,
  212. Using SVG With Media Queries (by/via) · · , ,
  213. Understanding Target Size Under WCAG 2.2 and How It Affects People With Disabilities (via) · · ,
  214. 9.5 Ways Google Rewrites Your Title Tags (by/via) · · ,
  215. State Management in Next.js (by/via) · · ,
  216. Shifting Accessibility Testing to the Left (by/via) · · , ,
  217. Rethinking User Personas (by/via) · · , ,
  218. Building a Stepper Component (by) · · , ,
  219. What Are the Web Performance Metrics That Actually Matter? (by) · · ,
  220. Exploring the CSS Paint API: Blob Animation (by/via) · · , ,
  221. Common npm Mistakes Every Developer Should Avoid (via) · · ,
  222. The Seniority Rollercoaster (by) · ·
  223. Times New Roman Doesn’t Have to Be Boring—Here’s Why (by/via) · · ,
  224. 7 Practices to Create Good JavaScript Variables (by) · ·
  225. Essential Concepts in JS (by) · · ,
  226. 10 Fun Things You Can Do With GitHub.dev (by) · ·
  227. Creating a Positive Culture Around Accessibility (by/via) · · ,
  228. 7 Useful CSS Cheat Sheets to Improve Your Skills (by/via) · · ,
  229. 5 Tools to Automate Your Development (by) · · , ,
  230. Compound Components in React (by/via) · · ,
  231. CSS Object Model (CSSOM) (by+/via) · · ,
  232. Small Wins for Accessibility and Resilience (by) · · , ,
  233. Why Are Hyperlinks Blue? (via) · · ,
  234. How to Use “Promise.any()” (by) · · , ,
  235. Getting Started With CSS Animations (via) · · , ,
  236. Named and Framed (by) · · ,
  237. Flexbox or CSS Grid? How to Make Layout Decisions That Make Sense (by/via) · · , , ,
  238. jsc: My New Best Friend (by) · · ,
  239. Embracing Asymmetrical Design and Overcoming the Harmful Effects of “text-overflow: ellipsis” in CSS (by) · · ,
  240. React JS—the Confusing Parts (by/via) · · ,
  241. Key Data Structures and Their Roles in RenderingNG (by+/via) · · , , , ,
  242. 8 Fundamental Principles of Effective Web Design (by) · ·
  243. Scrollbar Reflowing (by/via) · · , ,
  244. 4 Important Differences Between Regular and Arrow Functions (by) · · , ,
  245. 5 Ways to Undo Mistakes With Git (by/via) · · , ,
  246. HTTP/3: Performance Improvements (by/via) · · , ,
  247. 6 CSS Shorthand Properties to Improve Your Web Application (by) · · , ,
  248. Using the Platform (by) · ·
  249. How I Experience Web Today · · ,
  250. Bootstrapping a Node.js TypeScript API: Routing, Middleware, and Custom Types and Errors Modules (by/via) · · , , , , ,