Tech does not just watch: Take action against Russia’s war on Ukraine 🇺🇦, and take action against Israel’s occupation, destruction, and ethnic cleansing of Palestine (history) 🇵🇸 Hide

Frontend Dogma

“2025” News Archive (4)

Entry (Sources) and Other Related TopicsDate#
Happy Birthday, JavaScript (ato)1,483
anniversaries, javascript
Mission Impossible—Accessibility Job Roles (cra)1,482
accessibility, career, hiring
You’re Not an Accessibility Specialist Until You’ve… (cer)1,481
accessibility, career
Design Patterns for Securing LLM Agents Against Prompt Injections (sim)1,480
studies, research, ai, prompting, security, software-design-patterns
Design Systems of the Future (ben)1,479
design-systems, outlooks, metrics
Exploring JavaScript (rau)1,478
books, javascript
Grainy Gradients (ana/fro)1,477
gradients, effects, css, svg, masking
Having “figure” Match Width of Contained Image (jef)1,476
html, css, images
Postgres Is Too Good (and Why That’s Actually a Problem)1,475
postgresql, databases
Quick Tip: Avoid Event Listeners on the “window” Object (nat)1,474
javascript, jquery, events, accessibility, tips-and-tricks
The Growing Risk of Malicious Browser Extensions (soc)1,473
browser-extensions, security
The Hamburger-Menu Icon Today: Is It Recognizable? (nng)1,472
navigation, icons, design, usability
The 5-Step AI UX Playbook to Deliver High-Impact Products (uxd)1,471
ai, user-experience, best-practices
All Oracle Senior Java Developer Interview Questions1,470
interviewing, java, oracle
Accessible Rickrolling (hey)1,469
accessibility, writing, microcontent
Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec)1,468
html, attributes, security, xss, escaping, chrome, google, browsers
How JavaScript Was Written Back in the Day (tre)1,467
javascript, jquery, history, comparisons
How to Use the Browser Console: An In-Depth Guide (deb)1,466
guides, how-tos, dev-tools, console, javascript, browsers
HTML Spec Change: Escaping “<” and “>” in Attributes (sec/dev)1,465
html, attributes, escaping, security, xss
Why Visual Website Builders Didn’t Take Off (whi)1,464
videos, code-editors, wysiwyg, html, history
Worker Threads in Node.js: A Complete Guide for Multithreading in JavaScript (nod)1,463
guides, nodejs, worker-threads, javascript, multithreading
What It Means to Be an AI-Ready Engineering Leader1,462
engineering-management, leadership, ai
“1fr 1fr” vs. “auto auto” vs. “50% 50%” (chr/fro)1,461
css, units, box-model, comparisons
5 Best JavaScript Web Scraping Libraries in 2025 (api)1,460
javascript, libraries, scraping, link-lists
A New Way to Style Gaps in CSS (pat/dev)1,459
css, decoration
Accessibility in Design Systems (dev)1,458
design-systems, accessibility, eaa, compliance
Accessibility Statements: The Good, the Bad, and the Ugly1,457
accessibility, documentation, compliance
AI and Vibe Coding Are Radically Impacting Senior Devs in Code Review (the/the)1,456
ai, vibe-coding, code-reviews, quality
Creating the “Moving Highlight” Navigation Bar With JavaScript and CSS (sma)1,455
navigation, effects, javascript, css
Is Google About to Destroy the Web? (tho)1,454
google, search, ai, web
Is HTML Not a Programming Language?1,453
html, programming
Remembering Mikeal Rogers (isa)1,452
obituaries
What the Internet Was Like in 1997 (ric)1,451
web, web-platform, history, browsers, browser-wars, netscape, internet-explorer, microsoft, dhtml
The Dia Browser Is a Big Bet on the Web—and an Even Bigger Bet on AI (dav/ver)1,450
dia, the-browser-company, browsers, ai
Just a Designer Now: Shopify Dropped UX as a Title (uxd)1,449
design, career, shopify
Accent Color (don)1,448
css, fingerprinting, privacy
Faster Python: Concurrency in “async”/“await” and Threading (che/jet)1,447
python, multithreading, concurrency, asynchronicity
How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples (jet)1,446
phpstorm, jetbrains, code-editors, foss, php
Node.js Moves Toward Stable TypeScript Support With Amaro 1.0 (sar/soc)1,445
nodejs, typescript, support, tooling
The Designer’s Hierarchy of Career Needs (chr)1,444
design, career
You’re Not a Front-End Developer Until You’ve… (nic)1,443
career, quizzes
We Added Chaos to Our CI/CD Pipelines—It Made Everything More Stable1,442
ci-cd, ai, case-studies
Testing Methods: Info and Relationships (dec)1,441
accessibility, wcag, testing, comparisons, link-lists
A11y 101: 2.1.1 Keyboard (nat)1,440
introductions, accessibility, wcag, keyboard-navigation
Creating an Auto-Closing Notification With an HTML Popover (pre/css)1,439
notifications, pop-overs, html
Decoding the SVG “path” Element: Line Commands (sma)1,438
svg
Figma Variables and Design Tokens—Variable Architecture (lur/zer)1,437
figma, variables, design-tokens
Grids 1011,436
videos, introductions, grids, layout, design
How to “import()” a JavaScript String (zac)1,435
how-tos, javascript, strings
News From WWDC25: WebKit in Safari 26 Beta (jen+/web)1,434
webkit, browser-engines, safari, browsers, apple
Pride, Shame, and Accessibility (hey)1,433
accessibility, culture
Reimagining Design Systems as Evolving Products (uxm)1,432
design-systems
Sticky Revealing Footer (bel/pic)1,431
navigation, css, positioning
37 Lessons From My 7 Years in Software Engineering1,430
lessons, career, programming
Resumes Are Dying—Here’s What’s Replacing Them1,429
hiring, interviewing
The Browser Company Kills Arc (fro)1,428
podcasts, arc, dia, the-browser-company, browsers, ai
6 Advanced TypeScript Tricks (ole)1,427
typescript, tips-and-tricks
So, You Screwed Up Your EAA Compliance. What Now? (yat)1,426
accessibility, eaa, compliance, legal
Where to Put Focus When Opening a Modal Dialog (aar)1,425
accessibility, modals, forms, focus
5 “Boring” n8n AI Automations That Do the Work for You (kal)1,424
ai, automation, tooling
Goodbye Upgrade Fatigue—How Cursor Upgraded Our Storybook in Just 2 Hours!1,423
storybook, ai, cursor, code-editors
ARIA/HTML Relationship Severance (ste)1,422
accessibility, aria, html
Field Notes From Shipping Real Code With Claude1,421
ai, vibe-coding, claude, anthropic
Kubernetes Is Dead: Why Tech Giants Are Secretly Moving to These 5 Orchestration Alternatives1,420
kubernetes, containerization, aws, gcp, azure, platform-engineering
Accessibility Terms Every Content Creator Should Know1,419
accessibility, terminology
Beware of End-of-Life Node.js Versions—Upgrade or Seek Post-EOL Support (mco/nod)1,418
nodejs, maintenance, security
Generative Engine Optimization: The New Era of Search (sem)1,417
search, ai, seo, sem
The “<output>” Element (kev)1,416
html
UX Challenges With MCPs (hvp)1,415
mcp, ai, user-experience
I Love Bad UX1,414
user-experience, design
6 Ways to Use Documentation Analytics in Your Next Design System Launch1,413
design-systems, documentation, analytics
“aria-selected”: Practical Examples and Use Cases (flo/a11)1,412
accessibility, aria, html, examples
Beyond Code: What “The Pragmatic Programmer” Taught Me in One Chapter1,411
books, lessons, programming
Celebrate the Code You Didn’t Write (rya)1,410
programming, simplicity
Chrome Achieves Highest Score Ever on Speedometer 3, Saving Users Millions of Hours (dev)1,409
chrome, google, browsers
Collaboration: The Most Underrated UX Skill No One Talks About (sma)1,408
user-experience, design, collaboration, processes
Exploring the CSS “contrast-color()” Function… a Second Time (dxn/css)1,407
css, functions, colors, contrast, accessibility
“firstChild” Can Be White Space (chr/fro)1,406
javascript, whitespace
Generative AI Runs on Gambling Addiction—Just One More Prompt, Bro (dav)1,405
ai, prompting
How Imports Work in RSC (dan)1,404
react, components, modules, javascript
How to Access Local MCP Servers Through a Secure Tunnel (the)1,403
how-tos, mcp, ai, servers, network, security
HTML-Native Accordions (cfe)1,402
html, accordions
Printing the Web: Making Webpages Look Good on Paper (pic)1,401
css, print
Quick Tip: WCAG Doesn’t Round (nat)1,400
accessibility, wcag, tips-and-tricks
The Creator of Hono on Bringing It to Node.js (yus/jsn)1,399
videos, hono, nodejs
The Politics of Design Systems (jon)1,398
design-systems
10 Linux Commands You’ve Probably Never Heard Of1,397
unix-like, command-line
How to Make Accessibility “Stick”1,396
how-tos, accessibility, collaboration, communication
How to Use ARIA Roles and Properties Effectively1,395
how-tos, aria, html, accessibility
Performance and Stress Testing in Node.js (app)1,394
nodejs, performance, testing, tooling
State of CSS 2025 (sac/dev)1,393
surveys, css
Translating Accessibility (tpg)1,392
accessibility, localization, attributes, examples
Want to Be a Better Frontend Engineer? Try a Week On-Call (den)1,391
career, training, incident-response
14 DevTools Tricks That’ll Make You a Better Developer1,390
videos, dev-tools, browsers, tips-and-tricks
The UX Butterfly Effect (mar/uxd)1,389
design, user-experience
7 Signs of a Bad User Experience and Best Practices to Avoid It1,388
user-experience, best-practices, information-architecture, performance, mobile-first, simplicity, accessibility, testing, consistency
Championing Accessibility: Technical and Non-Technical Tips (equ)1,387
accessibility, advocacy, processes
Functional Capturing (kiz)1,386
css, functions
Getting Creative With HTML Dialog (mal/css)1,385
html, modals
Handling PostgreSQL Migrations in Node.js (har/bit)1,384
migrating, nodejs, postgresql, databases
Inclusive Development Practices in Next.js Projects (web/deq)1,383
accessibility, nextjs, semantics, keyboard-navigation, aria, alt-text, localization, performance, tooling
Stop Losing Sleep Over Node.js Config: Here’s How to Get It Right (pla)1,382
nodejs, configuration
Why Designers Get Stuck in the Details and How to Stop (sma)1,381
how-tos, design, processes
3 AI Websites That Will Blow Your Mind1,380
design, examples
I Copy These 10 Code Snippets Into Every Project1,379
javascript, debouncing, json, objects, arrays
Colour Alone Can Be Used to Convey Meaning, and I Don’t Like It (tem)1,378
accessibility, colors
“document.currentScript” Is More Useful Than I Thought (mac)1,377
javascript
Google Is Stealing Your International Search Traffic With Automated Translations (ahr)1,376
google, search, traffic, localization, seo
IE6, AI, and the Future of Browsing the Web (rac)1,375
web-platform, standards, browsers, ai, google, chrome, internet-explorer
Is It JavaScript? (jim)1,374
javascript, browsers, servers, jsx, typescript, terminology
Is the DOJ Web Accessibility Rule in Danger?1,373
accessibility, legal
My AI Skeptic Friends Are All Nuts (fly)1,372
ai
TC39 Advances “Array.fromAsync”, “Error.isError”, and Explicit Resource Management to Stage 4 (sar/soc)1,371
ecmascript, arrays, errors
The Death of Web Design: Why Websites Will Soon Auto-Design Themselves (web)1,370
design, ai, outlooks
The Recovery OKR: Goals for Healing After Burnout (cwo)1,369
okr, productivity
Write More Reliable JavaScript With Optional Chaining1,368
javascript
A11y 101: 1.4.13 Content on Hover or Focus (nat)1,367
introductions, accessibility, wcag, focus
A JavaScript Developer’s Guide to Go (psu)1,366
guides, go, javascript, examples
MCP—the Golden Key for AI Automation1,365
mcp, ai, automation, examples
Almost Half of Google Searches Are Branded—Here’s Why That Matters (tim+/ahr)1,364
google, search, branding, marketing, seo
Angular 20 Is Here (ang)1,363
angular
HTML Only Experiments (ala)1,362
websites, html, experiments
The Accessibility Advantage (moz)1,361
accessibility, seo
Up and Coming ARIA (web)1,360
accessibility, aria, html
The Template Trap: How Template Culture Is Dumbing Down UX (nng)1,359
templates, frameworks, checklists, processes, user-experience
Announcing Rolldown-Vite (eva/voi)1,358
vite, rolldown
It’s Not Your Codebase (sea)1,357
collaboration, engineering-management
AI-Assisted Coding for Teams That Can’t Get Away With Vibes (nil)1,356
ai, processes
Building an MCP Server With Nx (max/nx.)1,355
mcp, ai, servers, tooling
I Tried 100+ MCP Servers and Here’s My Top 101,354
ai, mcp, servers, link-lists
New to the Web Platform in May (rac/dev)1,353
release-notes, web-platform, browsers, firefox, mozilla, chrome, google, safari, apple
Re: Broken Promises (hbu)1,352
ai, accessibility, tooling
The “col” Element (hey)1,351
html, tables, semantics
The New “if()” Function in CSS Has Landed in the Latest Chrome (ami)1,350
css, functions, conditionals, chrome, google, browsers
The Simplest Way to Deploy Your Own Updatable Portfolio Site (chr/fro)1,349
deploying, netlify
A Break From Programming Languages (lex)1,348
programming, career
Architecting Components in Design Systems: Why It Feels Overwhelming (and How to Tackle It)1,347
design-systems, components
When Did UX and Content Get So Hard? (eri/uxd)1,346
user-experience, content, ai
5 Common Mistakes When Creating Design Specs1,345
videos, design, documentation, mistakes
AI-Assisted Development Needs Automated Tests (sim)1,344
ai, programming, testing, automation
Best Examples of EAA Compliant Websites in 20251,343
accessibility, eaa, compliance, examples
Exploring the OKLCH Ecosystem and Its Tools (ina+/evi)1,342
oklch, colors
Felix Arntz on How Speculative Loading Is Speeding Up Your WordPress Website (fel+)1,341
podcasts, interviews, wordpress, performance, speculation
Privacy on the Web: Creating a More Trustworthy Web (set/w3c)1,340
web, privacy, standards
Setting Targets for Developer Productivity Metrics (lau)1,339
principles, productivity, metrics
Tailwind Is the Worst Form of CSS, Except for All the Others (dar/mux)1,338
tailwind, css, presentational-html, comparisons
The 3 Ways JavaScript Frameworks Render the DOM (rya)1,337
videos, frameworks, javascript, dom, rendering
The Promise That Wasn’t Kept (whi)1,336
ai, tooling, productivity
Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript?1,335
javascript, time
Announcing Angular v20 (mge/ang)1,334
release-notes, angular
Optimizing Time to First Byte (TTFB): 5 Key Strategies for Faster Load Times (des)1,333
guest-posts, performance, optimization, content-delivery, http, caching, dns
AI Agents for Designers, Developers, and UX Strategists: What You Need to Know Now (web)1,332
design, user-experience, processes, ai
Build a Blog With Angular in Under 30 Minutes Using Analog (pmb)1,331
blogging, angular, functionality
Data vs. Findings vs. Insights in UX (vit/sma)1,330
user-experience, metrics, terminology, comparisons
Letter to Arc Members 20251,329
arc, dia, the-browser-company, browsers
New in Chrome 137 (rac/dev)1,328
release-notes, chrome, google, browsers
Quick Tip: Context Is Key (nat)1,327
accessibility, testing, tips-and-tricks
Seamlessly Blend PHP With Node.js (mco+/pla)1,326
nodejs, php, packages
Should We Stop Creating Informational Content? (moz)1,325
content, ai, seo, sem
The Browser Company Explains Why It Stopped Developing Arc (blu/ver)1,324
arc, the-browser-company, browsers
The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t)1,323
html, minimalism, maintainability
What We Know (So Far) About CSS Reading Order (dxn/css)1,322
css, source-order
Why Is Quality So Rare?1,321
quality, craft
Will the Model Eat Your Stack? (dbr)1,320
ai, product-management, prioritization
Ready or Not, the EAA Is Here (uxd)1,319
accessibility, legal, eaa, wcag
AI Makes Bad Managers1,318
ai, engineering-management
CSS Spotlight Effect (ami/fro)1,317
css, effects
Wake Up, Remix (rem)1,316
remix, react-router
What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale)1,315
html, css, conditional-comments, lessons
Why WordPress Scalability Starts With Smart Site Structure From Day One1,314
wordpress, scalability, performance, hosting
The Perfect Project Setup for Angular: Structure and Automation for More Quality (man)1,313
angular, linting, modules, architecture, commit-messages, tooling
Top 10 Open Source Node.js Projects With AI Integration (It’s Crazy)1,312
nodejs, ai, tooling, foss, link-lists
A Thought on JavaScript “Proof of Work” Anti-Scraper Systems (cks)1,311
javascript, ai, scraping
Are You Sure That Table Isn’t a List? (tem)1,310
tables, lists, accessibility, wcag
Comparing Rust, JavaScript, and Go for Authoring WASM Components1,309
webassembly, components, rust, javascript, go, comparisons
Decorative Text Within HTML (ede)1,308
html, attributes, css, formatting
How the World Is Celebrating Open Source Maintainer Month (the)1,307
foss, maintenance
Stop Saying That AI Is Just a Tool and It Only Matters How It Is Used (fra)1,306
tooling, ai
What Svelte Promises (ric/sve)1,305
videos, svelte
Your React Meta-Framework Feels Broken, Here’s Why (red)1,304
frameworks, react, nextjs, react-router, comparisons
The Evolving Art and Science of Prompt Engineering: A Chronological Journey1,303
ai, prompting, history
JavaScript’s Upcoming Temporal API and What Problems It Will Solve1,302
javascript, time, apis
The Role of Captions and Transcripts in Accessibility1,301
accessibility, captions
Why Fonts Look Better on macOS Than on Windows (uxd)1,300
fonts, typography, readability, unix-like, apple, windows, microsoft, comparisons
Better CSS Shapes Using “shape()” (css/css)1,299
css, shapes, functions
Making Scannable Web Pages for Assistive Technology (jar)1,298
accessibility, assistive-tech, design, headings, semantics, html
Modern CSS for Creative Developers (cyd/btc)1,297
videos, css, creativity
Multithreading in JavaScript With Web Workers (hon)1,296
javascript, multithreading, web-workers, examples
My Request to Google on Accessibility (aar)1,295
accessibility, google, history
On “Vibe Coding” (tan)1,294
vibe-coding, ai
The End of Glitch (Even Though They Say It Isn’t) (kei)1,293
glitch
Tools (ada)1,292
tooling, ai
Scaling to 1 Million Users: The Architecture I Wish I Knew1,291
architecture, scalability, servers, caching, microservices, asynchronicity, databases, observability, content-delivery
A Brief History of JavaScript (den)1,290
history, javascript, ecmascript, typescript, json, javascript-engines, runtimes, browsers
Announcing TypeScript Native Previews (dan/typ)1,289
typescript
Anthropic Launches Its Most Powerful Models for Coding Yet (fre/the)1,288
ai, claude, anthropic
CodeRabbit’s AI Code Reviews Now Live Free in VS Code, Cursor (dar/the)1,287
code-editors, vs-code, microsoft, cursor, ai, code-reviews, coderabbit
Deploying Accessibility at Scale: Strategy, Tactics, and Battle Stories (int)1,286
videos, accessibility, strategies
How to Build Scalable Web Apps With React JS1,285
how-tos, web-apps, performance, scalability
Important Changes Are Coming to Glitch (ani/gli)1,284
hosting, glitch
Make Screen Readers Talk With the ARIA Notify API (ale)1,283
accessibility, screen-readers, aria, apis, javascript
Move Modal in on a… “shape()” (chr/fro)1,282
modals, functions, css
Performance Debugging in DevTools (pau/dev)1,281
videos, performance, debugging, dev-tools, browsers, chrome, google
The “datalist” Element (kev)1,280
html, forms
The Landing Zone (ada)1,279
concepts, viewport
Trip Report: Node.js Collaboration Summit (2025 Paris) (joy+/nod)1,278
nodejs
Web Animations Today and Tomorrow (bra/dev)1,277
videos, animations, view-transitions, scrolling, css, web-platform
What’s New in Angular (dev)1,276
videos, angular
You Can Style Alt Text Like Any Other Text (geo/css)1,275
alt-text, accessibility, images, css, javascript
Authenticating JavaScript WebSockets1,274
websockets, javascript, authentication
Coding Guidelines for Your AI Agents (jet)1,273
conventions, ai
ESLint v9.0.0: A Retrospective (nza/esl)1,272
eslint, retrospectives
Masonry, Item Flow, and… GULP? (mey)1,271
css, masonry, flexbox, grids, layout
Styling the Icon for HTML Date and Time Types (cas)1,270
html, forms, css, time
The Pipe Operator Is Coming to PHP 8.5 (ami)1,269
php, operators
Top Ways to Ensure Your Content Performs Well in Google’s AI Experiences on Search (joh)1,268
google, search, ai, content
ChatGPT and the Proliferation of Obsolete and Broken Solutions to Problems We Hadn’t Had for Over Half a Decade Before Its Launch (ana/fro)1,267
chatgpt, ai, css, support
CSS Logical Properties (cfe)1,266
css, logical-properties
Introduction to JavaScript Frameworks (rya)1,265
introductions, videos, javascript, frameworks, react, angular, vuejs, svelte, solidjs
Reports of Deno’s Demise Have Been Greatly Exaggerated (tin/den)1,264
deno, fresh
The “caption” Element (hey)1,263
html, tables, semantics
Visual Studio Code Now Supports Baseline (rvi/dev)1,262
vs-code, microsoft, code-editors, support, web-platform
We Did the Math on AI’s Energy Footprint—Here’s the Story You Haven’t Heard (jam+/tec)1,261
ai, sustainability, openai, google, microsoft, anthropic
Web Stage [Google I/O 2025] (pau+/dev)1,260
videos, google, chrome, browsers, web-platform
What’s New in DevTools, Chrome 137 (dev)1,259
release-notes, dev-tools, chrome, google, browsers
What’s New in Web (rac/dev)1,258
web-platform, support, browsers, tooling
MCP Is the Coming of Web 2.0 2.0 (ani)1,257
ai, mcp, web-2.0, web
6 Ways Slack, Notion, and VS Code Improved Electron App Performance1,256
electron, performance, case-studies, slack, vs-code
A Reader’s Question on Nested Lists (mon/css)1,255
lists, css
A11y 101: 1.4.12 Text Spacing (nat)1,254
introductions, accessibility, wcag, typography
Creating Blob Shapes Using “clip-path: shape()” (css/fro)1,253
css, clipping, shapes
CSS Tips: Flexible Wrapping CSS Grid (zor/css)1,252
videos, css, grids, layout, tips-and-tricks
Designing Calm: UX Principles for Reducing Users’ Anxiety (uxm)1,251
design, user-experience, principles
Docker Launches Hardened Images, Intensifying Secure Container Market (the)1,250
docker, security
Exploring the Role of Generative AI in Mobile UX Design (uxm)1,249
ai, design, user-experience, mobile
How JavaScript’s “at()” Method Makes Array Indexing Easier1,248
javascript, arrays
Is Thinking Outside the Box Still Possible in a Cancel Culture World? (web)1,247
design, creativity, culture
JavaScript in the Morning, JavaScript in the Evening… (ray)1,246
javascript, localization
JetBrains AI Assistant—Now in Visual Studio Code (jet)1,245
jetbrains, ai, vs-code, microsoft, code-editors
The Problem With Web Components1,244
web-components
The Role of Prototyping in Perfecting Product Designs (uxm)1,243
design, user-experience, prototyping
The Role of UX Design Strategy in Driving Product Adoption (uxm)1,242
user-experience, design, accessibility, strategies, product-management
The State of JavaScript Debugging in WebAssembly (the)1,241
javascript, webassembly, debugging
There Is No Spoon (tin/btc)1,240
videos, ai, accessibility
Unshipping: How (and When) to Break Web Features (ric+/iga)1,239
podcasts, interviews, web-platform, standards
WordPress Needs Documentation About Accessibility, Help Me Work on It (ria)1,238
wordpress, accessibility, documentation
No Country for Junior Designers (uxd)1,237
design, career
Why “__init__.py” Changed the Way I Code in Python1,236
python
How to Convince People to Care and Invest in Accessibility (ste)1,235
how-tos, accessibility, metrics, advocacy
5 Linux Commands You’ve Probably Never Heard Of1,234
unix-like, command-line
No Server, No Database: Smarter Related Posts in Astro With transformers.js (ale)1,233
astro, javascript, ai, hugging-face
Expanding/Collapsing With “details” (ons/oze)1,232
accessibility, html, disclosure-widgets
Modernizing Security1,231
security, modernization, processes
The Fastest Way to Spend Less Time Debugging1,230
videos, debugging, testing, principles
Design for Trust, Then for Possibility (uxd)1,229
design, user-experience
Why Strong Engineers Are Rarely Blocked (sea)1,228
career, communication
If You’re an Artist and You’re Discouraged by AI Art, You Need to Hear This1,227
design, art, ai, career
Is There a Correct Answer? Flipping Layouts When Google Translate Swaps Between a Left-to-Right Language and a Right-to-Left Language (chr/fro)1,226
html, internationalization, localization, conversion
Just Fucking Use React (ome+)1,225
websites, react
The Basics of Node.js Streams1,224
fundamentals, nodejs, streaming
The Ingredients of a Productive Monorepo (swg)1,223
monorepos, version-control, building, testing, ci-cd
Why AI Interviews Could Be Bad News for Honest Designers (and)1,222
design, career, interviewing, ai
Handling Routes in JavaScript Projects (sea)1,221
javascript, routing, frameworks
3 Tools to Help Fix the Web’s Most Common WCAG 2.2 Failures (ato)1,220
accessibility, wcag, tooling, lighthouse, google, webaim
A11y 101: How to Test Manually (nat)1,219
introductions, accessibility, testing
Accessibility Report 2025 (ema)1,218
studies, research, accessibility, email
An Update on Fresh (mar/den)1,217
fresh
Awareness (ada)1,216
awareness-days, accessibility
Behind the Scenes: How We Iterate on UI Copy (aut)1,215
design, content, microcontent, processes, case-studies, automattic
Fewer Ideas: An Unconventional Approach to Creativity (sma)1,214
design, creativity, processes
How Long Does It Take to Rank in Google? And How Old Are Top Ranking Pages? (ahr)1,213
google, search, seo, metrics
My Glamorous Life: Broken by Design (zel)1,212
design, user-experience
Node.js TSC Declines to Endorse Feature Bounty Program (sar/soc)1,211
nodejs
“:out-of-range” (kev)1,210
css, selectors
React Router RSC Preview (rem)1,209
react, react-router, components
Scroll-Driven Animations Inside a CSS Carousel (geo/css)1,208
css, animations, scrolling, carousels
Styling Console Text in Node.js (rau)1,207
nodejs, console, javascript
Focus on the Product, Not the Tech Stack1,206
prioritization, tech-stacks, career
How Google Is Accelerating Code Migrations With AI1,205
studies, research, google, ai, migrating, case-studies
How Often Should We Speak About HTML Conformance? (j9t)1,204
html, conformance, metrics
Microsoft Lays Off TypeScript Veteran Ron Buckton Amid 6,000-Job Cut Restructuring1,203
microsoft, typescript
Painting With the Web (mat/btc)1,202
videos, web, web-platform, design, typography
Release Notes for Safari Technology Preview 219 (jon/web)1,201
release-notes, safari, apple, browsers
We Launched Our First Shopify Theme (nic)1,200
shopify, theming, case-studies
Wes Tatters on the Evolution of Internet Communities and WordPress Open Source (nat)1,199
podcasts, interviews, community, wordpress, foss
Securing Your Node.js App From Command Injection1,198
nodejs, security
Container Query for “Is There Enough Space Outside This Element?” (chr/fro)1,197
css, container-queries
Finding the Joy in Alt Text (bry)1,196
alt-text, accessibility, images
How to Have the Browser Pick a Contrasting Color in CSS (jen/web)1,195
how-tos, browsers, css, functions, colors, contrast
What Is a Conforming Alternate Version and When Would We Use It? (mni)1,194
accessibility, compliance
The Perverse Incentives of Vibe Coding (fre/uxd)1,193
ai, vibe-coding, metrics, economics, tips-and-tricks
Cold vs. Hot Observables in Angular With RxJS1,192
angular, asynchronicity, reactivity, examples, terminology
Behind the Scenes of Verso Browser Development (wuy)1,191
verso, browsers, servo, browser-engines
The Impact of Web Accessibility Overlays on the Usability and User Experience for People With Permanent Visual Impairments (dni)1,190
studies, research, accessibility, usability, overlays
Claude Code: AI Agent for Devops, SRE, and Platform Engineering1,189
videos, ai, claude, anthropic, dev-ops, platform-engineering
Enhancements to the Proposed “<permission>” Element (tom/dev)1,188
html
How to Title Your Blog Post or Whatever (dyn)1,187
how-tos, blogging, writing, microcontent
I Think the Ergonomics of Generators Is Growing on Me (mac)1,186
javascript, functions
Integrating Localization Into Design Systems (sma)1,185
design-systems, localization, figma, case-studies
JavaScript Compile Hints: What They Are and When to Use Them (tre)1,184
javascript, compiling, v8, javascript-engines
Just Fucking Use HTML (kyr)1,183
websites, html
The Height Enigma (jos)1,182
css, fundamentals
Understanding Java’s Asynchronous Journey1,181
java, asynchronicity, history
Update on CSS Anchor Positioning (fan/w3c)1,180
css, standards, anchor-positioning
WebKit Features in Safari 18.5 (jen/web)1,179
release-notes, safari, apple, browsers, webkit
How I Built Dynamic Social Media Images in Eleventy Using Cloudinary (chi)1,178
eleventy, images, social-media, tooling, cloudinary
Why I Skipped Figma and Prototyped in Code Instead (uxd)1,177
design, figma, ai, vibe-coding, prototyping
Design, Code, Publish—All in Figma? (fro)1,176
podcasts, figma, ai
Designing AI With Purpose: The AI Intention Matrix (uxd)1,175
ai, design, product-management
Good Commit Messages Are Just Self-Care: Why I Document Everything1,174
commit-messages, documentation, git
Figma Sites: When Accessibility Is an Afterthought (uxd)1,173
figma, accessibility, link-lists
The Tech Bro Era Is Fading—So Who’s Next to Shape Our Culture? (uxd)1,172
ai, design, user-experience, culture, community
Dependency Inversion in React: Building Truly Testable Components1,171
react, components, testing
Figma Dreamweaver (pav)1,170
figma, dreamweaver, wysiwyg, comparisons
Figma Sites Is Worse Than You Might Have Thought (kev)1,169
videos, figma, quality
Foundations: Keyboard Accessibility (tet)1,168
fundamentals, accessibility, keyboard-navigation, focus, html
The True Path to Garbage Code: Figma Sites (joe)1,167
figma, html, quality, semantics, accessibility
Unlocking Accessibility: Information Architects Share Their Approach to Digital Accessibility and Design With People With Disabilities1,166
accessibility, information-architecture
Building the Bridge: Running JavaScript Modules From Dart1,165
javascript, modules, esm, commonjs, dart, deno
CSS Snippets (ada)1,164
css
95% of Homepages Are Inaccessible (uxd)1,163
homepages, wcag, accessibility, metrics
Do Not Publish Your Designs on the Web With Figma Sites… (aar)1,162
figma, accessibility
Guitar Chords in CSS (sto)1,161
css, functions, examples
Is Web Development Dying? Inside Information1,160
career, ai
Migrating a JavaScript Project From Prettier and ESLint to BiomeJS (app)1,159
javascript, migrating, prettier, eslint, biome
“:placeholder-shown” (kev)1,158
css, selectors
“shape()”: A New Powerful Drawing Syntax in CSS (chr/fro)1,157
css, functions, shapes, clipping
Why Is Nobody Using the “hwb()” Color Function? (css)1,156
css, colors, functions
15+ Secret Weapons for Frontend Devs That Most Beginners Miss1,155
tooling, link-lists
Waiting for Postgres 18: Accelerating Disk Reads With Asynchronous I/O (luk/pga)1,154
postgresql, databases, asynchronicity
Use Baseline With Browserslist (mal/dev)1,153
browsers, support, web-platform, browserslist
7 Things I Do Regularly as a Senior Frontend Developer (nde)1,152
career, learning, code-reviews
Angular: “httpResource” in the Wild1,151
angular, data-fetching, reactivity
Are “CSS Carousels” Accessible? (sar)1,150
css, carousels, accessibility, examples
How to Create Full Width Containers in CSS (lia)1,149
how-tos, css
Masonry in CSS: Should Grid Evolve or Stand Aside for a New Module? (sma)1,148
css, masonry, grids, layout
Next.js Deployment Spec Simplifies Frontend Hosting (low/the)1,147
nextjs, deploying, hosting, netlify, vercel
Node v24.0.0 (Current) (raf/nod)1,146
release-notes, nodejs
Node.js 24 Is Here: What You Need to Know (nod)1,145
nodejs
The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo/a11)1,144
accessibility, aria, html, best-practices
Updates to Popover and CSS Anchor Positioning Polyfills (jam/odd)1,143
css, polyfills, pop-overs, anchor-positioning
Using Container Query Units Relative to an Outer Container (ana/fro)1,142
css, container-queries, units
Getting Things “Done” in Large Tech Companies (sea)1,141
productivity, processes, project-management
Towards React Server Components in Clojure (rom)1,140
clojure, react, components
Database Internals Explained: The Invisible Engine Behind Every App You Use (rak)1,139
videos, databases
How to Launch Big Complex Projects (vit/sma)1,138
how-tos, processes, project-management
K.I.S.S. ARIA (nat)1,137
aria, html, accessibility
Mozilla Say Google Search Deal Vital to Firefox’s Survival (d0o/omg)1,136
mozilla, firefox, browsers, google
Passkeys for Normal People (tro)1,135
security, authentication, passkeys, examples, concepts
Rethinking Responsive Grids With a Content-Aware Approach (web)1,134
responsive-design, content, grids, layout
Test Keyboard Accessibility on Your Website1,133
videos, accessibility, keyboard-navigation, testing
The “code” Element (hey)1,132
html, markdown
The Growing Divide Among React Developers… (fir)1,131
videos, react, components, nextjs, vercel
The Power of the Spread and Rest Syntax in JavaScript1,130
javascript, arrays
There Should Be No AI Button1,129
ai, design, user-experience, buttons
UX Localization: Adapting User Interfaces for Diverse Cultures (uxm)1,128
design, user-experience, localization, product-management
You’re Misunderstanding DDD in Angular (and Frontend) (duc/dan)1,127
software-design, angular
Creating a More Accessible Web With ARIA Notify (pat/mic)1,126
accessibility, aria, notifications, apis
Measuring Developer Productivity in the LLM Era1,125
ai, productivity, developer-experience, engineering-management
Polyfilling CSS With CSS Parser Extensions (bra)1,124
css, polyfills
Robust Data Fetching Architecture for Complex React/Next.js Apps (tre)1,123
react, nextjs, hooks, data-fetching, architecture
What Is Semantic Caching? (doe/the)1,122
ai, performance, semantics, caching, concepts
How I Would Learn to Code (if I Could Start Over)1,121
programming, ai, learning
We Have a Daily Standup. Nobody Stands. Nothing’s Up.1,120
agile, processes, culture
Potential Accessibility Issues of Floating Animations on Webpages and Mobile Apps (cer)1,119
accessibility, animations
Stop Using AWS1,118
aws
10 New Jobs for Burned-Out Software Developers (app/the)1,117
career
Building a More Accessible GitHub CLI (rya+/git)1,116
github, tooling, command-line, accessibility
CSS “shape()” Commands (geo/css)1,115
css, functions, shapes, clipping
npm Targeted by Malware Campaign Mimicking Familiar Library Names (soc)1,114
npm, malware, security, dependencies, link-lists
React Compiler Explained in 3 Minutes (Goodbye, Re-Renders) (bet)1,113
videos, react, compiling
WCAG 3.0’s Proposed Scoring Model: A Shift in Accessibility Evaluation (sma)1,112
accessibility, auditing, compliance, wcag
We Cannot Talk About AI Without Talking About Capitalism, Fascism, and Liberty (chr)1,111
ai, economics
CSS Isn’t Broken—You Just Never Read the Docs1,110
css, documentation, cascade, layout, presentational-html
Generative AI and the Triad Color Harmony (tmr/uxd)1,109
ai, colors, color-palettes
What Is an Encryption Backdoor? (int)1,108
security, encryption, vulnerabilities, concepts
Easier Layout With “margin-trim” (jen/web)1,107
css, margins, spacing, safari, apple, browsers
Node.js Next 10 Survey 2025 (nod)1,106
surveys, nodejs
PHP 8.4’s New “Dom\HTMLDocument” in Diffs (lia)1,105
php
Use CSS “reading-flow” for Logical Sequential Focus Navigation (rac/dev)1,104
css, flexbox, grids, layout, accessibility
SSR vs. SSG vs. CSR vs. ISR—Rendering Performances Compared (des)1,103
guest-posts, server-side-rendering, static-site-generation, client-side-rendering, incremental-static-regeneration, comparisons
Disclosures and Accordions (web)1,102
disclosure-widgets, accordions, accessibility
Done With Components (don)1,101
design-systems, components
Event Handling in JAWS and NVDA (sib/tpg)1,100
accessibility, screen-readers, jaws, nvda, events, javascript, comparisons
How to Detect Memory Leaks in Your Web App1,099
how-tos, videos, web-apps, memory, debugging, angular
Interop Unites Browser Makers to Smooth Web Inconsistencies (mar/the)1,098
interoperability, web-platform, browsers, consistency
JavaScript, When Is This? (wil/pic)1,097
javascript
Keyboard Navigation: Ensuring Usability Without a Mouse1,096
accessibility, usability, keyboard-navigation, testing
New to the Web Platform in April (rac/dev)1,095
release-notes, web-platform, browsers, chrome, google, firefox, mozilla, safari, apple
npm Should Remove the Default License From New Packages (ISC) (ext)1,094
npm, dependencies, licensing, foss
Revisiting Image Maps (mal/css)1,093
images, image-maps, html, techniques
The “cite” Element (hey)1,092
html, semantics
The Story of Fastify and Vue (ano)1,091
fastify, vuejs, complexity, simplicity
What’s New in Astro—April 2025 (sar/ast)1,090
release-notes, astro
Why the U.S. Is Slamming the Door on Indian Tech Talent1,089
career, hiring
Stop Hiding Bad Code Behind Good Tooling1,088
tooling, quality, craft
7 Programming Myths That Waste Your Time (fir)1,087
videos, programming, productivity, efficiency, myths
Angular Unit Tests Distilled (rai/ng-)1,086
videos, angular, testing
Automated Accessibility Test Tools Find Even Less Than Expected1,085
accessibility, testing, automation, metrics
Converting Values to Strings in JavaScript (rau)1,084
javascript, conversion
Focus Priming (tem)1,083
accessibility, focus
Giving V8 a Heads-Up: Faster JavaScript Startup With Explicit Compile Hints1,082
v8, javascript-engines, javascript, compiling
Good vs. Great Animations (emi)1,081
animations, css, transforms, transitions, radix
[GSAP] 3.13 Release (cas/gsa)1,080
release-notes, gsap
How Keyboard Testing Improves Digital Accessibility (mic/deq)1,079
accessibility, keyboard-navigation, testing
Intro to E2E Testing With Cypress (ng-)1,078
videos, introductions, testing, cypress
Organizational Scaffolding for Accessible Design and Content (sta/a11)1,077
videos, interviews, accessibility, processes, tooling, culture
Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr/fro)1,076
html, maintainability
Tools of the Trade: Accessibility Without the Cost (web/equ)1,075
accessibility, tooling, linting, testing
A11y 101: 1.4.11 Non-Text Contrast (nat)1,074
introductions, wcag, accessibility, contrast, colors
Anchor Positioning Just Don’t Care About Source Order (geo/css)1,073
css, anchor-positioning, source-order, html
Deno’s Decline (6 Regions and Falling) (db)1,072
deno
Giving Software Away for Free (sim)1,071
foss, hosting, html, javascript
Menu and Navigation: The Difference (stv)1,070
navigation, pagination, html, aria, accessibility
Node.js Streams With TypeScript1,069
nodejs, streaming, typescript, examples
React Internals: Which “useEffect” Runs First? (fro)1,068
react, hooks
The “canvas” Element (hey)1,067
html, canvas, semantics
The Future of Web Design: Will We Even Recognize It in 100 Years? (web)1,066
design, outlooks
What Is [the] CSS Owl Selector (“* + *”)? (zor/css)1,065
videos, css, selectors
The 4 Motivations for Accessibility—the Big “Why?”1,064
accessibility, economics, legal, dei
Ignoring Character Limits Can Wreck Your Product’s UX1,063
design, user-experience, internationalization, localization
I Tried 50 AI Tools—Here’s How AI Is Changing the Way We Design1,062
design, ai, tooling
The Guide to MCP I Never Had1,061
guides, mcp, ai
Craft and Satisfaction (jim)1,060
craft, ai
Design System Documentation Is Essential—as Long as It’s Good (pjo)1,059
design-systems, documentation, content, writing, principles
Bias in Design Systems (ben)1,058
design-systems, documentation, collaboration, processes
8 CSS Shorthands That Instantly Clean Up Your Code (let)1,057
css, shorthands
Cybersecurity Leaders Are Staying in the Shadows (ste)1,056
security, community, culture
Running Clojure in Wasm (rom)1,055
clojure, webassembly
Add JSR Packages With pnpm and Yarn (lca/den)1,054
jsr, pnpm, yarn
Advancing Accessibility Standards (acc)1,053
accessibility, standards
Forget the AI Hype—Here’s How Real AI Agents Are Built to Solve Real Problems1,052
videos, ai
Frontend’s Next Evolution: AI-Powered State Management (the)1,051
state-management, ai, outlooks
Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code1,050
accessibility, semantics, html, community
Using View Transitions in Next.js (jac)1,049
nextjs, view-transitions, css
Why Care About the No-JS Experience? (cfe)1,048
javascript, support
CSS Boilerplate (mat)1,047
css, templates
AI Writes My Code for Me1,046
ai, productivity, career
Every Developer Needs to Self-Host1,045
self-hosting, learning
A Decade of SolidJS (rya/thi)1,044
solidjs, retrospectives, libraries
HTML Oddities: Does the Order of Attribute Values Matter? (ede)1,043
html, attributes, css, selectors
“input type="color"” (kev)1,042
html, forms, colors
Polishing Your Typography With Line Height Units (jen/web)1,041
typography, css, units
Catching Up on Accessibility With AI Chat1,040
accessibility, ai
I Broke the Disabled Button (hom)1,039
buttons, accessibility, retrospectives
10 Tips for Junior Developers to Effectively Use LLMs and AI (owe/pro)1,038
ai, tips-and-tricks
Binary Formats Are Better Than JSON in Browsers1,037
json, libraries, performance, comparisons, metrics
Break Google’s Search Monopoly Without Breaking the Web (owa)1,036
google, search, chrome, browsers, web-platform, open-web
How Documentation Analytics Can Help You Prioritize Design System Improvements1,035
design-systems, documentation, analytics
How to Write Unit Tests in Node.js Using Mocha (app)1,034
how-tos, testing, nodejs, tooling
JavaScript Framework Reality Check: What’s Actually Working (the)1,033
javascript, frameworks, qwik, solidjs, sveltekit, fresh
Making a Small JavaScript Blog Static Site Generator Even Smaller Using the General “async-tree” Library (jan)1,032
static-site-generation, javascript, tooling
Polypane 24: Recording, 3D View, Custom Tab Colors, and HTML Editing (pol)1,031
release-notes, polypane, browsers
The Problem(s) With Image Accessibility1,030
accessibility, images, alt-text, html
Salesforce and Shopify CEOs Just Declared War on Human-Only Teams (pet/uxd)1,029
shopify, ai, career, economics
Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t)1,028
guest-posts, html, minimalism, conformance, semantics, interoperability, accessibility, standards
Contextual Logging With “console.context()” (pat/mic)1,027
console, javascript, dev-tools, browsers
Creating CSS Theme Variables From a JS File (mic)1,026
css, theming, custom-properties, javascript, conversion
Eleventy: A GitHub Workflow to Check if an Automated Dependency Update Would Break Your Site (j9t)1,025
eleventy, dependencies, nodejs, automation, github-actions
Google Won’t Ditch Third-Party Cookies in Chrome After All (rwh/ars)1,024
chrome, google, browsers, cookies
Impossible Components (dan)1,023
components, react, state-management
Next Steps for Privacy Sandbox and Tracking Protections in Chrome1,022
chrome, google, browsers, privacy, cookies
What Is llms.txt, and Should You Care About It? (ahr)1,021
ai, crawling, robotstxt
Why I’m Not Ready to Abandon JavaScript for “Faster” Languages1,020
javascript, rust, go, refactoring, performance
Newfangled Browser Alternatives (chr/fro)1,019
browsers, arc, the-browser-company, orion, kagi, vivaldi, brave, comparisons, link-lists
11 Practical Ways I Use AI Agents Without Losing My Authenticity (bla/ope)1,018
ai, creativity, processes, examples
A Web Component UI Library for People Who Love HTML (cfe)1,017
libraries, web-components
A11y 101: 1.4.10 Reflow (nat)1,016
introductions, accessibility, wcag, reflow
Buttons vs. Links: What’s the Difference and Why Does It Matter?1,015
videos, buttons, links, usability, comparisons
Color Contrast and Readability: The Cornerstones of Accessible Design1,014
accessibility, design, colors, contrast, readability, wcag
How to Meet SC 2.5.3 “Label in Name” (tpg)1,013
how-tos, accessibility, wcag, labels, forms
How to Validate Ideas Faster With No-Code Prototypes (uxm)1,012
how-tos, design, low-and-no-code, prototyping
The European Accessibility Act: What Businesses and App Developers Need to Know1,011
accessibility, eaa, legal
Unlocking 7 Hidden Benefits Through Web Site Redesign (uxm)1,010
redesigning, user-experience, user-conversion, economics, maintainability, accessibility, usability, branding
When to Use “map()” vs. “forEach()”1,009
javascript, arrays, comparisons
How Accessibility Audits Are Shaping the Future of User-Centered Design (uxm)1,008
accessibility, auditing, usability, seo, compliance, branding, user-conversion
Everything’s a Vibe: Is It Progress or Just an Illusion? (uxd)1,007
vibe-coding, ai, user-experience
The Oppressive Foundation of Minimalist Design (uxd)1,006
design, minimalism
The Open-Source Stack for AI Agents1,005
ai, tech-stacks, foss, tooling, link-lists
Web Typography: A Refresher and History (zel)1,004
typography, history, link-lists
Why Use Personal OKRs (cwo)1,003
okr, career, processes
LangChain + MCP + RAG + Ollama = the Key to Powerful Agentic AI1,002
ai, langchain, mcp, tooling
Fixing Vercel’s Landing Page1,001
design, effects, landing-pages, vercel
How I Run Eleventy (It’s Complicated?) (j9t)1,000
eleventy
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)999
html, lists, semantics
“Pretty” Is in the Eye of the Beholder (geo/css)998
typography, css, browsers, support, chrome, google, safari, apple
State of Devs 2025 (sac/dev)997
surveys, career
Vibe Coding Is Not an Excuse for Low-Quality Work (add)996
vibe-coding, ai, quality
What Does It Really Mean for a Site to Be Keyboard Navigable (sma)995
accessibility, keyboard-navigation, focus, skip-links
Why Every Web Designer Secretly Hates Their Past Work (web)994
career, design
AI Overviews Reduce Clicks by 34.5% (ahr)993
ai, search, google, seo, metrics
Contribute to the 2025 Web Almanac992
web-almanac, web-platform, community
Creating an Accessible Accordion With HTML Description Lists (kar)991
accessibility, html, lists, accordions
Fostering an Accessibility Culture (dad/sma)990
accessibility, training, culture, processes
How to Write Error Messages That Actually Help Users Rather Than Frustrate Them (amy/pic)989
how-tos, writing, microcontent, errors, usability, user-experience
“:only-child” (kev)988
css, selectors
So, You Want to Give Up CSS Pre- and Post-Processors… (zel/css)987
css, preprocessors, postprocessors, tailwind, lightning-css
WCAG in Plain English (aaa)986
accessibility, wcag, guides
State of AI 2025 [Results] (sac/dev)985
surveys, metrics, ai, code-editors, tooling
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)984
html, performance, optimization