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