The Shape-Shifting “a” Element | | 1,080 |
links, semantics |
The “label” Element | | 1,079 |
labels, semantics |
What Happened to Text Inputs? (hey) | | 1,078 |
videos, forms |
Page Title Conventions (ada) | | 1,077 |
accessibility, seo |
Brief Note on “aria-readonly” Support (aar) | | 1,076 |
accessibility, aria, assistive-tech, support |
You Don’t Need HTML (ede) | | 1,075 |
websites, web-platform |
A Guide to Keyboard Accessibility: HTML and CSS (its/sma) | | 1,074 |
guides, accessibility, keyboard-navigation, css |
Foundations: Native Versus Custom Components (tet) | | 1,073 |
accessibility, fundamentals, components, comparisons |
Dialogs, Modality, and Popovers Seem Similar—How Are They Different? (hdv) | | 1,072 |
semantics, accessibility, modals, pop-overs |
Inside the Mind of a Frontend Developer: Hero Section (sha) | | 1,071 |
css |
6 Steps to Improve HTML Images for Users and Developers (aus) | | 1,070 |
images, performance, responsive-design |
16 Rare HTML Tags You Really Should Know | | 1,069 |
semantics |
HTML and CSS Features, Tips for a 10× Faster Page Loading Speed | | 1,068 |
css, performance, tips-and-tricks |
Intro to HTML-First Frontend Frameworks | | 1,067 |
introductions, frameworks |
Building a Tooltip Component (arg/dev) | | 1,066 |
components, tooltips, css |
The Truth Behind Implicit/Explicit Form Labels | | 1,065 |
forms, labels, accessibility |
Edit Someone Else’s Website: “contenteditable” and “designMode” (aus) | | 1,064 |
|
Common ARIA Mistakes and How to Avoid Them (ale) | | 1,063 |
accessibility, aria, mistakes |
A Little Semantic HTML Trick for React Components | | 1,062 |
react, semantics, components, tips-and-tricks |
HTML 2022: 20 Additional Observations From Analyzing the Web Almanac Data (j9t) | | 1,061 |
metrics, web-almanac |
How to Optimize Resource Loading With the “fetchpriority” Attribute (deb) | | 1,060 |
how-tos, performance, optimization |
Foundations: HTML Semantics (tet) | | 1,059 |
accessibility, fundamentals, semantics |
When Going Somewhere Does a Thing: On Links and Buttons (kil) | | 1,058 |
accessibility, links, buttons, semantics |
Templating in HTML (kit) | | 1,057 |
javascript |
GIFs Without the .gif: The Most Performant Image and Video Options Right Now (oll/css) | | 1,056 |
performance, multimedia, images, gif |
Named Element IDs Can Be Referenced as JavaScript Globals (css) | | 1,055 |
javascript |
Learn HTML (est/dev) | | 1,054 |
courses |
Markup (j9t/htt) | | 1,053 |
web-almanac, studies, research, metrics |
Two Things I Learned by Validating My HTML Again | | 1,052 |
conformance, lessons |
Streamable HTML Fragments (dev) | | 1,051 |
streaming |
Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (cod) | | 1,050 |
forms, security |
Will Serving Real HTML Content Make a Website Faster? Let’s Experiment! | | 1,049 |
studies, research, performance |
A “details” Element as a Burger Menu Is Not Accessible (ger/clo) | | 1,048 |
semantics, accessibility |
How to (Not) Make a Button | | 1,047 |
how-tos, accessibility, buttons, semantics |
Brief Note on Super- and Subscript Text (aar) | | 1,046 |
accessibility, support, assistive-tech |
Why the Number Input Is the Worst Input | | 1,045 |
forms, validation, accessibility |
Making Sense of WAI–ARIA: A Comprehensive Guide (sma) | | 1,044 |
guides, accessibility, aria |
Wtf Is an Island and Why Is It in My Website? | | 1,043 |
frameworks, architecture, concepts |
The “details” and “summary” Elements, Again (sco) | | 1,042 |
accessibility |
Nuclear Footnotes (mey) | | 1,041 |
css |
2022: 0 of the Global Top 100 Websites Use Valid HTML (j9t) | | 1,040 |
css, conformance, metrics, quality, craft |
What’s New With Forms in 2022? (oll/css) | | 1,039 |
forms, javascript |
Building the Main Navigation for a Website (mat/dev) | | 1,038 |
navigation, css |
HTML Markup Tips for Developing Accessible Websites (low/the) | | 1,037 |
accessibility, aria |
A Content Warning Component (kit) | | 1,036 |
components, css |
Disabled JavaScript Turns Off Native Lazy Loading (ste) | | 1,035 |
javascript, performance, lazy-loading |
Don’t Overwrite Visual Labels With “aria-label” (ash) | | 1,034 |
accessibility, aria, labels |
Beginner’s Guide to Lists and How to Make Them Accessible (pop) | | 1,033 |
guides, lists, accessibility |
Accessible Lists and Tables (pop) | | 1,032 |
accessibility, lists, tables |
Should I Use a Button or a Link? (ash) | | 1,031 |
buttons, links, semantics |
CSS Classes Considered Harmful | | 1,030 |
css |
Short Note on “figure” and “figcaption” (ste) | | 1,029 |
accessibility |
TIL: You Can Access a User’s Camera With Just HTML (aus) | | 1,028 |
permissions |
Creative List Styling (mic/dev) | | 1,027 |
lists, css |
Exploring the Underrated “output” Element | | 1,026 |
|
Table Column Alignment With Variable Transforms (mey) | | 1,025 |
css, tables, transforms, alignment |
Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (add) | | 1,024 |
performance, web-vitals |
On Ratings and Meters (lea) | | 1,023 |
semantics, css |
Capturing Images and Videos From the Camera of Mobile Devices Using HTML (ami) | | 1,022 |
multimedia, mobile |
The Infinite Marquee | | 1,021 |
css, animations |
Making a Website Under 1 kB | | 1,020 |
performance, minimalism |
Ruby Styling (ri/web) | | 1,019 |
ruby-markup, css |
Abbreviations Suck (cfe) | | 1,018 |
accessibility |
“<article>” vs. “<section>”: How to Choose the Right One (sma) | | 1,017 |
semantics, comparisons |
Roundup of Recent Document Outline Chatter (geo/css) | | 1,016 |
headings, semantics, accessibility |
Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (ste/tpg) | | 1,015 |
semantics, headings, microcontent, accessibility |
Abbreviations Can Be Problematic (tem) | | 1,014 |
accessibility |
What Is the Best Way to Mark Up an Exclusive Button Group? (lea) | | 1,013 |
semantics, accessibility, aria |
Minimal Social Markup (j9t) | | 1,012 |
social-media, open-graph, minimalism |
What You Need to Know About ARIA and How to Fix Common Mistakes (pop) | | 1,011 |
accessibility, aria, mistakes |
Avoiding “<img>” Layout Shifts: “aspect-ratio” vs. “width” and “height” Attributes (jaf) | | 1,010 |
performance, web-vitals, comparisons, attributes, css |
Why the HTML Outlining Algorithm Was Removed From the Spec—the Truth Will Shock You! (bru) | | 1,009 |
semantics, accessibility |
Two Levels of Customising “<selectmenu>” (hdv) | | 1,008 |
accessibility |
Best Practices for Images | | 1,007 |
images, best-practices |
Farewell to HTML5Rocks (dev) | | 1,006 |
community, history |
What the Hell Is “<!DOCTYPE html>”? | | 1,005 |
doctype-switching |
Are You Sure That’s a Number Input? (kil) | | 1,004 |
|
My Wonderful HTML Email Workflow (jos) | | 1,003 |
mjml, email, processes |
HTML Cheatsheet | | 1,002 |
examples, cheat-sheets |
Write HTML Right | | 1,001 |
optimization |
Level Up Your Link Previews in Slack (whi) | | 1,000 |
social-media, open-graph, links, slack |
8 Shocking HTML Tips You Probably Don’t Know About | | 999 |
tips-and-tricks |
The “Form” Element Created the Modern Web—Was It a Big Mistake? (wir) | | 998 |
forms, history, mistakes |
Why Are Iframe Titles Important for Accessibility? | | 997 |
accessibility, frames, writing |
A Perfect Table of Contents With HTML and CSS (nza/css) | | 996 |
css |
HTML Cheat Sheet: A Quick Reference Guide for HTML Developers | | 995 |
guides, semantics, examples, cheat-sheets |
Making Disabled Buttons More Inclusive (san/css) | | 994 |
forms, buttons, focus, aria, attributes, accessibility |
Conditionally Loading CSS or Any Resource Using Media Queries (ami) | | 993 |
media-queries, performance |
Building a Button Component (arg/dev) | | 992 |
components, css, javascript, buttons |
How the HTML “lang” Attribute Helps Accessibility | | 991 |
accessibility, attributes, localization |
Don’t Fight the Browser Preload Scanner (mal/dev) | | 990 |
browsers, parsing, performance |
XHTML Syntax Is Still Worth Using (tem) | | 989 |
xhtml |
Divs Are Bad! (mat) | | 988 |
semantics |
Learn HTML [and] CSS (jad) | | 987 |
websites, courses, css |
What’s Your Heading? (tod) | | 986 |
accessibility, headings, semantics |
Lost in Translation (mat/btc) | | 985 |
videos, design, accessibility, css |
Please, Stop Disabling Zoom (mat) | | 984 |
accessibility, zooming |
How to Use Videos With Alpha Transparency on the Web (ben) | | 983 |
how-tos, multimedia, transparency |
Under-Engineered Multi-Selects (aar) | | 982 |
accessibility, aria |
Foundations: Lists (tin/tet) | | 981 |
accessibility, fundamentals, lists |
Introducing “inert” (dev) | | 980 |
introductions, attributes, accessibility, keyboard-navigation |
The CSS Art Paradox (j9t) | | 979 |
css, art, quality |
Common Frontend Interview Questions I’ve Been Asked | | 978 |
interviewing, javascript |
Plain Old Semantic HTML: A Perfect Basis for Accessibility | | 977 |
accessibility, semantics |
Non-Interactive Elements With the “inert” Attribute (web) | | 976 |
attributes, semantics |
How Web Browsers Work: Parsing the HTML | | 975 |
browsers, parsing |
Progressive Enhancement and HTML Forms: Use “FormData” (bra) | | 974 |
forms, progressive-enhancement |
Does Valid and Semantic HTML Still Matter? (5t3+) | | 973 |
podcasts, semantics, conformance |
Building a Dialog Component (arg/dev) | | 972 |
components, modals, css, javascript |
Those HTML Elements You Never Use | | 971 |
semantics |
How to Turn HTML Webpage Into an Image? | | 970 |
how-tos, images, conversion |
Designing Better Breadcrumbs (vit/sma) | | 969 |
usability, navigation |
HTML Is All You Need to Make a Website (whi) | | 968 |
|
Alternative Text (Alt Text) (pop) | | 967 |
accessibility, images, writing, alt-text |
12 Years Beyond a HTML Joke (ste) | | 966 |
semantics |
“aria-labelledby” Usage Notes (ste) | | 965 |
accessibility, aria, labels |
Accessible Cards (kit) | | 964 |
accessibility, css |
How to Match HTML Elements With an Indeterminate State (ste) | | 963 |
how-tos, css, selectors |
HTML-Only Keyboard Shortcuts (ami) | | 962 |
accessibility, keyboard-navigation, keyboard-shortcuts |
Picture Perfect Images With the Modern “<img>” Element (add) | | 961 |
images, performance, web-vitals |
Those HTML Attributes You Never Use (lou/sma) | | 960 |
attributes |
Write HTML, the HTML Way (Not the XHTML Way) (j9t/css) | | 959 |
xhtml, optimization |
HTML Semantics (cfe) | | 958 |
semantics |
The Impact That High Quality Mark-Up Can Have on Accessibility, Performance, and Discoverability | | 957 |
videos, accessibility, performance |
All HTML and CSS Cheatsheets in One Place | | 956 |
css, cheat-sheets |
Building a Loading Bar Component (arg/dev) | | 955 |
components, css, javascript |
The Weirdly Obscure Art of Streamed HTML | | 954 |
streaming, performance |
How to Automatically Size a Textarea Based on Its [Text] Using Vanilla JavaScript (cfe) | | 953 |
how-tos, javascript |
Aligning Content in Different Wrappers (sha) | | 952 |
css, alignment |
It Needs to Map Back to a Role (eri) | | 951 |
accessibility, aria, semantics |
A Look at the Dialog Element’s Super Powers (ste) | | 950 |
modals, javascript |
Creating Native Web Components (cod) | | 949 |
web-components, javascript |
It’s Always Been You, Canvas2D (dev) | | 948 |
css, canvas, javascript |
Foundations: Headings (tet) | | 947 |
accessibility, fundamentals, headings, semantics |
Web Component Pseudo-Classes and Pseudo-Elements Are Easier Than You Think (css) | | 946 |
css, web-components |
(Not So) Short Note on Being Owned (ste) | | 945 |
aria, accessibility |
HTML Tips and Tricks | | 944 |
tips-and-tricks |
HTML Comments Work in JavaScript Too | | 943 |
javascript, comments |
Support for Marking Radio Buttons Required, Invalid (aar) | | 942 |
accessibility |
Column Headers and Browser Support (aar) | | 941 |
accessibility, semantics |
There Is No Character Limit for “Alt Text” (yat) | | 940 |
accessibility, alt-text, images |
How to Create a Search Page for a Static Website With Vanilla JS (cfe) | | 939 |
how-tos, functionality, search, javascript |
Why Radio Buttons Are Called Radio Buttons in UIs? (ami) | | 938 |
semantics, naming |
MHTML in Chromium | | 937 |
browsers |
Replace JavaScript Dialogs With the New HTML Dialog Element (css) | | 936 |
modals, semantics |
Introducing the Dialog Element (web) | | 935 |
introductions, modals |
HTML Cheat Sheet—HTML Elements List Reference (fre) | | 934 |
semantics, examples, cheat-sheets |
24 Lesser-Known HTML Attributes You May Want to Use | | 933 |
attributes |
How to Convert Markdown to HTML (red) | | 932 |
how-tos, markdown, conversion |
More to Give Than Just the Div: Semantics and How to Get Them Right (hdv) | | 931 |
semantics, accessibility |
Context-Aware Web Components Are Easier Than You Think (css) | | 930 |
web-components, javascript |
Div Divisiveness (sco) | | 929 |
semantics |
On the Peculiarities of Counting the Number of HTML Elements (j9t) | | 928 |
|
Find HTML Parsing Errors (pat/dev) | | 927 |
browsers, dev-tools, parsing, quality |
Boolean Attributes in HTML and ARIA: What’s the Difference? (hdv) | | 926 |
attributes, aria |
HTML Is General, ARIA Is Specific (dav) | | 925 |
aria |
Alt Tag Emptiness (ste) | | 924 |
accessibility, images, alt-text, aria |
Labeling the Point: Scenarios of Label Misuse in WCAG (tpg) | | 923 |
accessibility, forms, labels, wcag |
Accessible Heading Structure | | 922 |
accessibility, headings |
Faster Websites by Using Less HTML (j9t) | | 921 |
cross-posts, performance, optimization, minimalism |
Container Queries (5t3) | | 920 |
css, container-queries |
Form Autocomplete (5t3) | | 919 |
forms |
HTML Cheat Sheet | | 918 |
semantics, examples, cheat-sheets |
5 Common Misconceptions About WAI–ARIA and Accessibility | | 917 |
accessibility, aria |
Image Display Elements (5t3) | | 916 |
images, responsive-design |
How to Define Your Relationship to Sites You Link To (ste) | | 915 |
how-tos, links, semantics, seo |
Ultimate HTML Cheatsheet | | 914 |
cheat-sheets |
4 HTML Concepts You Didn’t Know (j9t) | | 913 |
concepts, tables |
CSS Can Help Improve Your HTML!? Buttons and Links | | 912 |
css, buttons, links, accessibility |
Details/Summary (5t3) | | 911 |
semantics |
How Not to Create a Button (eev) | | 910 |
buttons, accessibility |
Embrace the Platform (bra/css) | | 909 |
css, javascript, web-platform |
Defer Non-Critical Resources | | 908 |
performance |
Markup (htt) | | 907 |
web-almanac, studies, research, metrics |
“aria-label” Is Not Always the Answer (eev) | | 906 |
aria, accessibility |
On Yak Shaving and “<md-block>”, a New HTML Element for Markdown (lea) | | 905 |
web-components, markdown |
Control Layout in a Multi-Directional Website (css) | | 904 |
internationalization, css |
The 6 Ways of Writing HTML (and Their Combinations) (j9t) | | 903 |
|
Dear HTML Element | | 902 |
|
How to Make Blob Menu Using HTML, CSS, and JavaScript | | 901 |
how-tos, css, javascript |
Generate a Pull Request of Static Content With a Simple HTML Form (css) | | 900 |
github |
Semantics and How to Get Them Right (hdv/btc) | | 899 |
videos, semantics, accessibility |
Get Your “Head” Straight (css/btc) | | 898 |
videos, performance |
Detecting Specific Text Input With HTML and CSS (chr/css) | | 897 |
css |
Designing a Reorderable List Component | | 896 |
lists, components, css |
Debugging HTML: Accessibility (mat/mat) | | 895 |
accessibility, debugging |
In Defence of Dialog | | 894 |
modals |
Learn Forms (dev) | | 893 |
courses, forms |
Building Real-Life Components: Facebook Messenger’s Chat Bubble (sha) | | 892 |
components, css |
Accessible Toggles (mic) | | 891 |
accessibility, toggles, javascript |
HTMLoween—HTML, JS, and CSS to Make Your Blood Boil | | 890 |
css, javascript |
Indecisive Skip Links and Their Targets—the Renaissance of the “<hr>” Element | | 889 |
accessibility, skip-links |
If HTML and ARIA Don’t Allow It, It’s Probably a Bad Idea (tem) | | 888 |
aria, accessibility |
Switch Role Support (aar) | | 887 |
accessibility, support |
Semantic “menu” Context (sco) | | 886 |
semantics |
Making the Web Developer’s Pilgrimage (j9t) | | 885 |
|
Decoupling HTML, CSS, and JavaScript in Design Systems (cfe) | | 884 |
css, javascript, design-systems |
HTML With Superpowers (dav) | | 883 |
videos, components |
Landmarks (mat/mat) | | 882 |
aria, accessibility |
Beginner’s Guide to Responsive Images: How to Get Them Right (lou) | | 881 |
guides, images, responsive-design |
Building a Multi-Select Component (arg/dev) | | 880 |
components, css, javascript |
How to Win at CORS (jaf) | | 879 |
how-tos, security, cors, http |
The Autofill Dark Pattern (alv/sma) | | 878 |
forms, anti-patterns |
A Tangled Web of ARIA | | 877 |
accessibility, aria |
Buttons vs. Links (yat) | | 876 |
semantics, buttons, links, comparisons |
How to Implement and Style the “Dialog” Element (cod) | | 875 |
how-tos, modals, css |
The Options for Password-Revealing Inputs (chr/css) | | 874 |
css, security, passwords, usability |
Redundantly Redundant a11y Accessibility (sco) | | 873 |
accessibility |
How to Build an Expandable Accessible Gallery (cit/sma) | | 872 |
how-tos, accessibility, css |
Links, Missing “href” Attributes, and Over-Engineered Code (tem) | | 871 |
attributes, links, accessibility |
How I Built a Modern Website in 2021 (ken) | | 870 |
css, javascript |
Declaring Page Language—and Declaring Changes in Language (j9t) | | 869 |
accessibility, browsers |
Comparing Page Language Declaration Setups in Screen Readers (j9t) | | 868 |
accessibility, http, screen-readers, comparisons |
Specification for Spoken Presentation in HTML (w3c) | | 867 |
pronunciation |
7 Useful HTML Attributes You May Not Know | | 866 |
attributes |
Intro to MJML: Responsive HTML Email Coding Made Easy | | 865 |
introductions, mjml, email, responsive-design |
29 Projects to Help You Practice HTML CSS JavaScript 2021 | | 864 |
css, javascript |
Blowing Up HTML Size With Responsive Images (deb) | | 863 |
images, performance, responsive-design |
Element Diversity (mat) | | 862 |
|
Twitter’s Div Soup and Uglyfied CSS, Explained | | 861 |
css, twitter+x |
Building a Split-Button Component (arg/dev) | | 860 |
components, css, javascript |
Building a Stepper Component (sha) | | 859 |
components, css |
HTML Cheatsheet | | 858 |
semantics, examples, cheat-sheets |
Small Wins for Accessibility and Resilience | | 857 |
accessibility, resilience |
Named and Framed (ste) | | 856 |
accessibility |
One Favicon to Rule Them All (j9t) | | 855 |
images, favicons |
ARIA Spec for the Uninitiated (deq) | | 854 |
accessibility, aria |
The Complete Guide to HTML Forms and Constraint Validation (cra) | | 853 |
guides, forms, validation |
On the “<dl>” | | 852 |
|
The Ultimate Cheat Sheet List for Web Developers | | 851 |
css, javascript, cheat-sheets |
6 Useful Frontend Techniques That You May Not Know About | | 850 |
css, javascript, techniques |
Accessibility of the “Section” Element (sco) | | 849 |
accessibility |
Designing for the Unexpected (ali) | | 848 |
design, css |
The 3-Second Frontend Developer Test (j9t) | | 847 |
css, conformance, quality |
15 HTML5 Best Practices for Beginners to Master | | 846 |
best-practices |
The Document Outline (mat/mat) | | 845 |
headings, accessibility |
Milligram CSS | | 844 |
videos, milligram, frameworks, css, landing-pages |
ARIA in HTML (sco) | | 843 |
accessibility, aria |
Accessibility and SEO | | 842 |
accessibility, seo |
Use the “i” Element, and Use It Appropriately (j9t) | | 841 |
semantics |
JavaScript Frameworks and the Lost Art of HTML (deq) | | 840 |
javascript, frameworks |
OMG, SVG Favicons FTW! | | 839 |
images, favicons, svg |
Half the Size of Images by Optimising for High Density Displays (jaf) | | 838 |
images, performance |
Why Validate? (j9t) | | 837 |
css, quality, conformance, craft |
Accessible Overflow | | 836 |
accessibility, css, overflow |
The Hidden World of “aria-hidden” (ste) | | 835 |
accessibility, aria |
Don’t Overabstract Your Components | | 834 |
javascript, components |
2021: 98% of the Top 100 U.S. Websites Use Invalid HTML (j9t) | | 833 |
css, conformance, metrics, quality, craft |
The Button Cheat Sheet (mat) | | 832 |
cheat-sheets |
Upgrade Your HTML III (j9t/fro) | | 831 |
books, frontend-dogma, minimalism, craft, conformance |