A Unified Theory of Web Performance (sli) | | 1,070 |
performance |
Exposing Mid-Resource LCP Values | | 1,069 |
performance, web-vitals |
Page Visibility: If a Tree Falls in the Forest… | | 1,068 |
performance, web-vitals, user-experience |
Image Magnifier Using Only One Line of CSS (ami) | | 1,067 |
css, images |
pkg.land | | 1,066 |
websites, packages, dependencies, npm |
Using Diagnostic Metrics | | 1,065 |
performance, metrics |
Add Less (cas/css) | | 1,064 |
simplicity |
Empathetic Animation (css) | | 1,063 |
animations, user-experience |
Practical Tips for Load-Testing Web Applications | | 1,062 |
performance, testing, tips-and-tricks, web-apps |
WCAG and Accessibility: What Is a Statement of Partial Conformance? | | 1,061 |
accessibility, wcag, conformance |
Dynamic Static Typing in TypeScript (dea/sma) | | 1,060 |
typescript, generics |
Shedding Light on Fiverr’s Dark Mode Creation Process | | 1,059 |
design, dark-mode |
Add a Service Worker to Your Site (cfe/css) | | 1,058 |
web-workers, javascript |
Building Gatsby Themes for WordPress-Powered Websites (sma) | | 1,057 |
wordpress, gatsby, theming |
CSS in 2022 (bra) | | 1,056 |
css |
Web Accessibility Cheat Sheet | | 1,055 |
accessibility, cheat-sheets |
The Business Case for Performance | | 1,054 |
performance, economics |
1000+ Web Development Resources | | 1,053 |
link-lists |
Faster Websites by Using Less HTML (j9t) | | 1,052 |
cross-posts, html, performance, optimization, minimalism |
Container Queries (5t3) | | 1,051 |
css, container-queries, html |
Form Autocomplete (ben/5t3) | | 1,050 |
html, forms |
Redirect Liquidation | | 1,049 |
performance, optimization, redirecting |
Show, Don’t Tell (css) | | 1,048 |
writing, design, semantics |
Remember You Are Not the User (css) | | 1,047 |
accessibility, internationalization, user-experience, principles |
The Many Methods for Using SVG Icons (hui) | | 1,046 |
css, svg, images, icons |
Personalize It! (una/css) | | 1,045 |
css, user-experience, personalization |
Wrapping Text Inside an SVG Using CSS | | 1,044 |
svg, css |
The CSS “:has()” Pseudo-Class, aka Parent Selector | | 1,043 |
css, selectors |
Frontend Web Performance: The Essentials | | 1,042 |
fundamentals, performance, rendering |
The CSS “:has()” Selector Is Way More Than a “Parent Selector” (bra) | | 1,041 |
css, selectors |
Make Joyful Things (css) | | 1,040 |
user-experience |
Building a Greener Web (mic) | | 1,039 |
sustainability |
13 Tools and Techniques to Accelerate Frontend Development | | 1,038 |
tooling, techniques, software-design-patterns, linting, bundling, testing, logging, frameworks, processes, ci-cd |
WebGPU From WebGL | | 1,037 |
webgpu, webgl |
Introduction to Cognitive Disability and Accessibility Testing (ons/tpg) | | 1,036 |
introductions, accessibility, testing |
CSS Snapshot 2021 (tab+/w3c) | | 1,035 |
css, standards |
CSS Animation (5t3) | | 1,034 |
css, animations |
HTML Cheat Sheet | | 1,033 |
html, semantics, examples, cheat-sheets |
5 Common Misconceptions About WAI–ARIA and Accessibility | | 1,032 |
accessibility, aria, html |
Be Prepared for Failure and Handle It Gracefully (css) | | 1,031 |
javascript, graceful-degradation |
Why UX Is the Best SEO Strategy (uxm) | | 1,030 |
user-experience, seo, strategies |
Smoothly Reverting CSS Animations | | 1,029 |
css, animations |
The Web Starts on Page Four (cod) | | 1,028 |
web |
PHP 8 in a Nutshell (ami) | | 1,027 |
books, php |
Image Display Elements (5t3) | | 1,026 |
html, images, responsive-design |
How to Define Your Relationship to Sites You Link To (ste) | | 1,025 |
how-tos, html, links, semantics, seo |
How to Add and Remove a CSS Class From Multiple Elements With Vanilla JavaScript (cfe) | | 1,024 |
how-tos, css, javascript |
Design Sprints Revisited: Designing With Your Users and Developers (uxm) | | 1,023 |
design, usability |
Auto Dark Theme (chr/css) | | 1,022 |
browsers, dark-mode, usability |
4 HTML Concepts You Didn’t Know (j9t) | | 1,021 |
html, concepts, tables |
Ultimate HTML Cheatsheet | | 1,020 |
html, cheat-sheets |
Web Performance, Core Web Vitals, and Vanity Metrics | | 1,019 |
performance, web-vitals, metrics |
Preference Queries (5t3) | | 1,018 |
css |
This Is WCAG | | 1,017 |
websites, accessibility, standards, wcag |
This Is WCAG 2.1 | | 1,016 |
websites, accessibility, wcag |
There’s Never Been a Better Time to Build Websites | | 1,015 |
frameworks, css |
CSS Houdini Paint API (5t3) | | 1,014 |
css, houdini, apis, javascript |
Consistent, Fluidly Scaling Type, and Spacing (bel/css) | | 1,013 |
typography, css, scaling, fluid-design |
Web Platform Design Principles (w3c) | | 1,012 |
web-platform, software-design, principles, standards, w3c |
Don’t Start With Microservices in Production—Monoliths Are Your Friend | | 1,011 |
microservices, monoliths, architecture |
Inaccessibility of CAPTCHA (w3c) | | 1,010 |
accessibility, captcha |
Hands On With the New Responsiveness Metrics | | 1,009 |
performance, responsive-design, metrics |
Web vs. Email Development: The 11 Biggest Coding Differences | | 1,008 |
comparisons, email, browsers, support, responsive-design |
Why Motion on Websites and Digital Content Is a Problem (mer/equ) | | 1,007 |
accessibility |
Sustaining Maintaining (dav) | | 1,006 |
foss |
Deep-Copying in JavaScript Using “structuredClone” (sur/dev) | | 1,005 |
javascript |
The State of CSS 2021 [Results] (sac/dev) | | 1,004 |
surveys, css |
Explain Like I’m Five: Web Performance Optimization (sto) | | 1,003 |
performance, optimization |
100 Tips on Software Developer Productivity | | 1,002 |
productivity, tips-and-tricks |
Shifting the Mindset About Accessible Content | | 1,001 |
accessibility, content |
CSS Can Help Improve Your HTML!? Buttons and Links | | 1,000 |
html, css, buttons, links, accessibility |
Thoughts on Skin Tone and Text Descriptions (tin) | | 999 |
accessibility, dei, writing |
CSS Custom Properties (5t3) | | 998 |
css, custom-properties |
Details/Summary (5t3) | | 997 |
html, semantics, disclosure-widgets |
Visual Regression Testing for Design Systems With Figma Branches | | 996 |
design-systems, testing, regressions, figma |
Practical Ethics for the Modern Web Designer | | 995 |
videos, ethics |
The Ideal Line Length and Line Height in Web Design | | 994 |
design, typography |
Lessons Learned From Publishing a Content Security Policy | | 993 |
lessons, csp, security |
Performance Implications of JavaScript Errors | | 992 |
javascript, performance, errors |
Read Your Website (geo/css) | | 991 |
user-experience |
WCAG 2.2: What We Know Till Now | | 990 |
accessibility, wcag |
WCAG 2 Is What We Have (kil) | | 989 |
accessibility, wcag |
Intersection Observer (5t3) | | 988 |
javascript, apis |
How Not to Create a Button (eev) | | 987 |
html, buttons, accessibility |
Embrace the Platform (bra/css) | | 986 |
html, css, javascript, web-platform |
5 Key Benefits of Using a Tag Manager | | 985 |
tag-management |
Defer Non-Critical Resources | | 984 |
performance, html |
WCAG 3 Is Not Ready Yet (yat) | | 983 |
accessibility, wcag |
Standardizing Focus Styles With CSS Custom Properties (5t3/css) | | 982 |
css, custom-properties, accessibility, focus |
How to Customize Firefox UI—Step-by-Step Tutorial | | 981 |
how-tos, tutorials, xul, browsers, mozilla, firefox, customization |
The Last Design You’ll Ever Make | | 980 |
design |
Caching: Understanding the Scope | | 979 |
performance, caching |
WCAG 3 and APCA | | 978 |
accessibility, wcag, apca, colors, contrast |
Responsive Iframes With the CSS “aspect-ratio” Property (cfe) | | 977 |
frames, css, responsive-design |
Breaking Out of the Box (pat/ali) | | 976 |
browsers, css |
1993: Mosaic Launches and the Web Is Set Free (ric) | | 975 |
history, browsers, mosaic |
5 Reasons You Should Adopt a Micro Frontend Architecture | | 974 |
micro-frontends, architecture |
Content Separation | | 973 |
servers |
Redirects for SEO: A Simple (but Complete) Guide (ahr) | | 972 |
guides, redirecting, seo, http |
Writing Better CSS (ale) | | 971 |
css, quality, efficiency |
Node.js Memory Limits—What You Should Know (app) | | 970 |
nodejs, memory |
A Beginner’s Guide to Vue Router | | 969 |
guides, vuejs |
Optimizing State Management in React Applications | | 968 |
react, state-management |
Explainer for W3C Accessibility Guidelines (WCAG) 3.0 (w3c) | | 967 |
accessibility, wcag, standards |
Where Do You Put Spacing on Design System Components? (eri) | | 966 |
design-systems, components, design, spacing |
Test Your Product on a Crappy Laptop (eri/css) | | 965 |
testing, performance, usability |
Google Fonts Knowledge (ell) | | 964 |
google, fonts, typography |
Defensive CSS (sha) | | 963 |
css |
HTTP Compression | | 962 |
http, protocols, compression, performance |
Why You Should Check in Your Node Dependencies | | 961 |
nodejs, dependencies |
Designing Better Links for Websites and Emails: A Guideline (sma) | | 960 |
design, links, email |
Reduce Your Website’s Environmental Impact With a Carbon Budget (mic/css) | | 959 |
sustainability |
CSS Fingerprinting | | 958 |
websites, css, privacy, fingerprinting |
Have Core Web Vitals Made the Web Faster? (tun) | | 957 |
web-vitals, performance |
The Love of Curvilinear Design (uxd) | | 956 |
design |
How Many People With Disabilities Use Our Site? (hdv) | | 955 |
accessibility |
Plugging Memory Leaks in Your App (sto) | | 954 |
performance, memory |
JSON Modules in JavaScript | | 953 |
javascript, json, modules |
Request for a General Theory of Web Performance | | 952 |
performance |
Why Every Developer Should Start Blogging | | 951 |
blogging, communication, learning, career |
Revisiting the Anatomy of a Design System (uxd) | | 950 |
design-systems |
Ain’t No Party Like a Third Party (ada/css) | | 949 |
dependencies, embed-code, security |
Best Practices for Node.js Development | | 948 |
nodejs, javascript, best-practices |
Markup (htt) | | 947 |
web-almanac, studies, research, metrics, html |
New Living Standards (dom) | | 946 |
standards, apis |
JavaScript (htt) | | 945 |
web-almanac, studies, research, metrics, javascript |
Security (htt) | | 944 |
web-almanac, studies, research, metrics, security |
CSS (mey/htt) | | 943 |
web-almanac, studies, research, metrics, css |
HTTP (htt) | | 942 |
web-almanac, studies, research, metrics, http, protocols |
Accessibility (htt) | | 941 |
web-almanac, studies, research, metrics, accessibility |
Page Weight (htt) | | 940 |
web-almanac, studies, research, metrics, performance |
Why Color Contrast Is Not as Black and White as It Seems | | 939 |
accessibility, colors, contrast |
Understanding Accessibility | | 938 |
accessibility, testing, tooling |
The Fundamentals of CSS Layout (dev) | | 937 |
videos, fundamentals, css, layout |
Open Props (arg) | | 936 |
websites, css, custom-properties, props |
CSS Layout From the Inside Out (rac) | | 935 |
videos, css, layout |
The Surprising Behavior of “Important CSS Custom Properties” (ste) | | 934 |
css, custom-properties, cascade |
Smashing Podcast Episode 44 With Chris Ferdinandi: Is the Web Dead? (cfe+/sma) | | 933 |
podcasts, interviews, web-platform, standards, performance, tooling, developer-experience |
“aria-label” Is Not Always the Answer (eev) | | 932 |
html, aria, accessibility |
The State of UX in 2022: Rebuild (fab/uxd) | | 931 |
user-experience, design, outlooks |
Making Accessibility More Accessible | | 930 |
accessibility |
Introduction to TCP Connection Establishment for Software Developers | | 929 |
introductions, protocols, tcp |
Understanding WCAG 2.1 Level AAA (tet) | | 928 |
accessibility, wcag |
How to Maintain a Large Next.js Application (sma) | | 927 |
how-tos, nextjs, maintenance |
Introduction to Svelte Actions (log) | | 926 |
introductions, svelte |
What Is WHOIS and How Does It Work? | | 925 |
whois, domains |
What Is Magento? A Brief Introduction | | 924 |
introductions, ecommerce, tooling, magento |
Select Elements With “pointer-events: none” by Holding Shift (pat/dev) | | 923 |
browsers, dev-tools, pointer-events |
On Yak Shaving and “<md-block>”, a New HTML Element for Markdown (lea) | | 922 |
web-components, html, markdown |
Make Your Website Stand Out With a Custom Scrollbar | | 921 |
css |
How to Trim Strings in JavaScript | | 920 |
how-tos, strings, javascript |
Programmers Should Stop Celebrating Incompetence | | 919 |
career |
Creating Generative Patterns With the CSS Paint API (css) | | 918 |
css, decoration |
Three Phases of Life for Design Systems | | 917 |
design-systems |
What Kind of Developer Do I Want to Be? | | 916 |
career |
Get Started With Validation in Node.js | | 915 |
introductions, nodejs, validation |
7 Ways to Improve Node.js Performance at Scale (app) | | 914 |
nodejs, performance, optimization |
The 6 Ways of Writing HTML (and Their Combinations) (j9t) | | 913 |
html |
A Modern CSS Reset (jos) | | 912 |
css, resets |
Functional Programming in PHP: Higher-Order Functions | | 911 |
php, programming, functions |
Control Layout in a Multi-Directional Website (css) | | 910 |
internationalization, html, css |
Adding a Dyslexia-Friendly Mode to a Website (sma) | | 909 |
accessibility, css |
Modern CSS in a Nutshell (spa/clo) | | 908 |
css |
Blog Page Accessibility Deep Dive | | 907 |
accessibility, react, deep-dives |
Responsive Layouts, Fewer Media Queries (css/css) | | 906 |
css, responsive-design |
Improving the Performance of Wix Websites (Case Study) (dan/sma) | | 905 |
performance, monitoring, culture, case-studies |
How JavaScript Engines Achieve Great Performance | | 904 |
javascript, javascript-engines, performance |
Designing Sustainable Websites (ger) | | 903 |
sustainability, performance, software-design |
Dear HTML Element | | 902 |
html |
Accessibility Myths | | 901 |
websites, accessibility, myths |
How to Make Blob Menu Using HTML, CSS, and JavaScript | | 900 |
how-tos, html, css, javascript |
20 Years of bram.us (bra) | | 899 |
history |
Tales of the Autistic Developer—Order and Chaos | | 898 |
career |
Introduction to Web Sockets | | 897 |
introductions, apis, protocols, websockets |
Parallax Powered by CSS Custom Properties (jhe/css) | | 896 |
css, effects, parallax, custom-properties |
Communicating Accessibility as Needs to Be Met and Not Rules to Be Followed (uxd) | | 895 |
accessibility, communication |
PHP Date and Time Recipes (css) | | 894 |
php |
Various Ways to Include Comments on Your Static Site | | 893 |
functionality |
1992: The Web vs. Gopher, and the First External Browsers (ric) | | 892 |
history |
Let’s Not Send Developers to the Accessibility Tree Tool (cod) | | 891 |
browsers, accessibility, tooling |
Dynamic Color Manipulation With CSS Relative Colors (jim) | | 890 |
css, colors |
How to Create Reusable Components With the Vue 3 Composition API | | 889 |
how-tos, vuejs, components, maintainability |
Three Principles to Better Present Your UI Designs (uxd) | | 888 |
design, principles |
WCAG 3.0: What You Need to Know About the Future of Accessibility Standards (uxd) | | 887 |
accessibility, wcag, standards |
Tor and the Humans Who Use It (tor) | | 886 |
community, privacy, tor-browser, browsers |
Performance (sia/htt) | | 885 |
web-almanac, studies, research, metrics, performance, user-experience |
A Guide to Modern CSS Colors With RGB, HSL, HWL, LAB, and LCH (mic/sma) | | 884 |
guides, css, colors |
We Need to Talk About Accessibility—Again, and Again, and Then Some More | | 883 |
accessibility |
Reframing Tech Debt | | 882 |
technical-debt |
4 Ways to Document Your Design System With Storybook | | 881 |
design-systems, storybook, documentation |
A Primer on Product Management for Engineers | | 880 |
introductions, product-management |
Generate a Pull Request of Static Content With a Simple HTML Form (css) | | 879 |
html, github |
Design System Best Practices With ESLint Series (and) | | 878 |
design-systems, design-tokens, best-practices, tooling, eslint |
Using “position: sticky” With CSS Grid (sha) | | 877 |
css, grids, positioning, layout |
A Clever Sticky Footer Technique (chr/css) | | 876 |
css, layout, navigation |
Why IndexedDB Is Slow and What to Use Instead | | 875 |
databases, indexeddb, javascript, performance |
Access to Tech, Tech to Live (btc) | | 874 |
videos, accessibility |
5 Popular Frontend Development Tools in 2021 | | 873 |
tooling |
GitHub’s Commitment to npm Ecosystem Security (git) | | 872 |
github, npm, security |
Some Notes on Using esbuild | | 871 |
bundling, esbuild |
How to Fetch Data in Svelte | | 870 |
how-tos, svelte, data-fetching |
Your CSS Is an Interface (eri) | | 869 |
css, performance |
Semantics and How to Get Them Right (hdv/btc) | | 868 |
videos, html, semantics, accessibility |
Get Your “Head” Straight (css/btc) | | 867 |
videos, html, performance |
Useful React Hooks That You Can Use in Your Projects (sma) | | 866 |
react, hooks |
Chrome DevTools: Copy CSS Styles as JavaScript-Compatible Properties | | 865 |
dev-tools, css, javascript, browsers, google, chrome |
How to Debounce and Throttle Callbacks in Vue | | 864 |
how-tos, vuejs, javascript, callbacks, debouncing, throttling |
Why Your Website Should Not Use Dithered Images | | 863 |
images, dithering, compression, performance |
Using Web Workers to Boost Third-Party Script Performance (log) | | 862 |
web-workers, javascript, performance |
Other Looks at the Conditional Border Radius Trick (chr/css) | | 861 |
css, borders, tips-and-tricks |
Exploring Retro Web Design | | 860 |
design |
Design Systems, Structured Content, and Headless Publishing (amy) | | 859 |
design-systems, content, semantics, headless |
View-Source | | 858 |
auditing, view-source, browsers |
It’s Not About Your Favorite Color—Moving From Brand Strategy to Visual Identity (uxd) | | 857 |
design, branding, strategies |
Easy Dark Mode (and Multiple Color Themes) in React (css) | | 856 |
react, dark-mode, theming |
Browsing With Screen Magnification (tet) | | 855 |
accessibility, browsing, assistive-tech, screen-magnification |
Everything You Ever Wanted to Know About the Accessibility Tree | | 854 |
videos, accessibility |
A Beginner’s Guide to Routing in Next.js, With Examples | | 853 |
guides, nextjs, routing |
How Designers Can Prevent User Errors | | 852 |
design, usability, errors |
Be Usable, Not Consistent, Not Uniform (uxd) | | 851 |
design, usability |
Localizing Your Next.js App (ati/sma) | | 850 |
nextjs, localization, javascript |
Detecting Specific Text Input With HTML and CSS (chr/css) | | 849 |
html, css |
Becoming an Expert | | 848 |
learning, career, processes, craft |
Designing a Reorderable List Component | | 847 |
lists, components, html, css |
Why You Should Prioritise Quality Over Speed in Design Systems (amy) | | 846 |
design-systems, prioritization |
Debugging HTML: Accessibility (mat/mat) | | 845 |
html, accessibility, debugging |
In Defence of Dialog | | 844 |
html, modals |
PHP 8.1 in 8 Code Blocks | | 843 |
php |
Deep Dive Into Node.js Architecture | | 842 |
nodejs, architecture, deep-dives |
Chrome DevTools: Record and Playback Your User Journeys | | 841 |
dev-tools, user-experience, performance, browsers, google, chrome |
The Key to Developer Happiness and How to Prevent Coding From Becoming Just Another Job | | 840 |
how-tos, career |
How to Implement Memoization in React to Improve Performance | | 839 |
how-tos, react, performance, memoization, optimization |
Smashing Podcast Episode 43 With Matthew Phillips: What Is Astro? (mat+/sma) | | 838 |
podcasts, interviews, astro, frameworks |
RenderingNG: The Next-Generation Rendering Architecture for Chrome (chr/dev) | | 837 |
videos, browsers, google, chrome, browser-engines, chromium, rendering |
Everything You Have to Know About Core Web Vitals (fox/cal) | | 836 |
web-vitals, performance |
Understanding the Differences Between WCAG 2.1 and WCAG 2.2 | | 835 |
accessibility, wcag, comparisons |
A Deep Dive Into Serverless UI With TypeScript (sma) | | 834 |
typescript, serverless, deep-dives |
Design Is Not Art, and UX Is Not Design (uxd) | | 833 |
design, user-experience |
What Is Wireless Application Protocol (WAP)? | | 832 |
wap, mobile |
Designing Error Messages and a Logging Strategy in Node.js (app) | | 831 |
software-design, javascript, nodejs, logging, strategies |
Learn PWA (dev) | | 830 |
courses, web-apps, progressive-web-apps |
Learn Forms (dev) | | 829 |
courses, forms, html |
Building Real-Life Components: Facebook Messenger’s Chat Bubble (sha) | | 828 |
components, html, css |
Browser Wars (jay/css) | | 827 |
history, browsers, browser-wars |
The State of the Web (ada) | | 826 |
videos, web |
Using AI and Data Science to Reliably Detect Internet Censorship in Real Time | | 825 |
ai, traffic, censorship |
What Are Accessible Fonts? | | 824 |
accessibility, fonts |
What Does a Good Design System Feel Like? (fon) | | 823 |
design-systems, user-experience |
Name, Labels, ARIA, What to Do? (sco) | | 822 |
accessibility, forms, labels, writing, naming |
Eleventy 1.0—New Option for Global Data (ray) | | 821 |
eleventy |