Be Careful Using “Menu” (aar) | | 1,282 |
aria, design, terminology |
How to Build Lean Efficient Websites in 2023 (cfe) | | 1,281 |
how-tos, progressive-enhancement, minimalism |
Semantics and the “popover” Attribute: What to Use When? (hdv) | | 1,280 |
attributes, semantics, accessibility, pop-overs |
Fieldsets, Legends, and Screen Readers Again (ste/tpg) | | 1,279 |
accessibility, forms, screen-readers |
Using HTML Landmark Roles to Improve Accessibility (sch/mdn) | | 1,278 |
accessibility |
HTML Landmark Roles Screen Reader Demo (sch/mdn) | | 1,277 |
videos, accessibility, screen-readers, voiceover, apple |
Screen Readers Don’t Announce When the User Reaches the “maxlength” Character Limit (sim) | | 1,276 |
accessibility, screen-readers, support |
Respect Your Children (ste/tpg) | | 1,275 |
accessibility, aria |
How Large DOM Sizes Affect Interactivity, and What You Can Do About It (mal/dev) | | 1,274 |
performance, dom, optimization |
Client-Side Rendering of HTML and Interactivity (mal/dev) | | 1,273 |
performance, client-side-rendering |
How Far Back in Time Can I Take My Website’s Design | | 1,272 |
web, design, history, css |
Short Note: Why Isn’t “role=presentation”/“none” Allowed on Focusable Elements? (ste) | | 1,271 |
accessibility, focus, aria |
“details”/“summary” Inconsistencies (mat) | | 1,270 |
disclosure-widgets, browsers, assistive-tech, support |
Considering Content Warnings in HTML (aar) | | 1,269 |
content, dei |
It’s Very Likely That… (mat) | | 1,268 |
semantics, buttons, modals |
The “details” Element Is Amazing (fon) | | 1,267 |
disclosure-widgets |
HTML Dark Mode (bt) | | 1,266 |
dark-mode |
HTML Accessibility API Mappings 1.0 (ste+/w3c) | | 1,265 |
accessibility, apis |
New HTML Element: “search” (alv) | | 1,264 |
semantics |
What Is Semantic HTML? | | 1,263 |
semantics |
Five Pieces of Advice for More Accessible Websites (cit) | | 1,262 |
accessibility |
Modern HTML Email (Tables No Longer Required) (oll) | | 1,261 |
email, tables |
On-Page SEO Checklist: The Complete Task List for 2023 (sem) | | 1,260 |
seo, checklists, semantics |
HTML: Help Users to Download Files With the HTML “download” Attribute | | 1,259 |
attributes |
Getting Started With HTML Tables | | 1,258 |
tables, introductions |
Fighting Inter-Component HTML Bloat (eli) | | 1,257 |
components, semantics, quality |
The “search” Element (sco) | | 1,256 |
accessibility, semantics |
The End of Front-End Development (jos) | | 1,255 |
outlooks, career |
The H1 Conundrum: Understanding the Challenges of Heading Level One | | 1,254 |
accessibility, semantics, headings |
Progressively Enhancing a Table With a Web Component (ray) | | 1,253 |
javascript, tables, web-components, progressive-enhancement |
File Uploads for the Web: Uploading Files With HTML (aus) | | 1,252 |
file-handling |
HTML Garden | | 1,251 |
websites, art |
A Tab Interface Before Its Time (aar) | | 1,250 |
components |
50.1% Empty Links (mat) | | 1,249 |
accessibility, links, semantics, seo |
Relative Rounded Corners (bel) | | 1,248 |
css |
ARIA vs. HTML (aar) | | 1,247 |
accessibility, aria, semantics, comparisons |
Avoid Spanning Table Headers (aar) | | 1,246 |
accessibility, assistive-tech, tables |
Representation of Style (ste) | | 1,245 |
semantics |
Declarative Shadow DOM (dev+/dev) | | 1,244 |
shadow-dom, dom |
A Step-by-Step Guide to Building Accessible Carousels (swe/sma) | | 1,243 |
guides, carousels, accessibility, user-experience |
Screen Readers Don’t Convey the Semantics of “strong” and “em” (mat) | | 1,242 |
accessibility, screen-readers, semantics |
Mastodon and Open Graph (drd) | | 1,241 |
social-media, mastodon, metadata, open-graph |
An Introduction to HTML Cheat Sheet | | 1,240 |
introductions, semantics, cheat-sheets |
Table of Contents Progress Animation (kev) | | 1,239 |
css, javascript, animations, progress-indicators |
Interop 2023 CMS Checkin (chr) | | 1,238 |
interoperability, syndication, rss, atom, semantics |
Rotating Gallery With CSS Scroll-Driven Animations (jhe) | | 1,237 |
css, javascript, animations, scrolling |
HTML Input Types (mar) | | 1,236 |
forms |
Use the Dialog Element (Reasonably) (sco) | | 1,235 |
modals, accessibility |
Screen Readers Support for Text Level HTML Semantics (ste/tpg) | | 1,234 |
semantics, screen-readers, support |
Optimal Images in HTML (ste/bui) | | 1,233 |
images, backgrounds, performance, optimization |
The Modern Way of Serving Images (kur) | | 1,232 |
images, performance |
Musing Upon an “[alt]” Text Badge on Images (chr) | | 1,231 |
accessibility, css |
If You Need a Link, Don’t Use a Button (tem) | | 1,230 |
semantics, links, buttons, accessibility |
Improve Your HTML Semantic With Pico CSS | | 1,229 |
pico |
Unordered Lists in Main Navigations (mat) | | 1,228 |
lists, navigation, semantics |
Two Ways to Safely Break a Long Word in HTML (ami) | | 1,227 |
|
Three Attributes for Better Web Forms (ada) | | 1,226 |
forms, attributes |
Faking Min Width on a Table Column (css) | | 1,225 |
tables, css, responsive-design |
Data URLs and Pool in Your URL (wes) | | 1,224 |
data-urls |
Customizing HTML Form Validation (dav) | | 1,223 |
forms, validation |
How to Build Great HTML Form Controls (aus/fre) | | 1,222 |
how-tos, forms |
7 Required Steps to Secure Your Iframes Security | | 1,221 |
iframes, security, xss, http-headers, csp |
Conditional API Responses for JavaScript vs. HTML Forms (aus) | | 1,220 |
javascript, forms, security, comparisons |
Website Accessibility (15 Best Practices) (bru) | | 1,219 |
accessibility, best-practices, content, readability, captcha, images, alt-text, forms, focus, tooling |
Theme Toggles | | 1,218 |
websites, theming, toggles, react |
Enforcing Better HTML Markup With Eleventy (mat) | | 1,217 |
semantics, conformance, eleventy |
A Problem With Link Relationships (j9t) | | 1,216 |
links, metadata, semantics, maintainability |
Building an Accessible Theme Picker With HTML, CSS, and JavaScript (fos) | | 1,215 |
accessibility, css, javascript, theming, functionality |
A Theory of Web Relativity (alv/mat) | | 1,214 |
metadata, structured-data |
Common Nesting Issues in HTML (cit/mat) | | 1,213 |
nesting |
Interop 2022: End of Year Update (rac/dev) | | 1,212 |
interoperability, web-platform, browsers, css |
Mini-Guide to Add an Image (its/mat) | | 1,211 |
images |
HTML Dialog (5t3) | | 1,210 |
modals |
Modern HTML as a Foundation for Progressive Enhancement (ffo/mat) | | 1,209 |
progressive-enhancement |
5 HTML Elements, and a Partridge in a Despair Tree (mat) | | 1,208 |
semantics, accessibility |
Get That Marquee AeStHeTiC (dni/mat) | | 1,207 |
css, effects |
An HTML-First Mental Model (noa) | | 1,206 |
dom, performance |
4 Ways CSS “:has()” Can Make Your HTML Forms Even Better (aus) | | 1,205 |
css, selectors, forms |
Table Like It’s 2023 (cli/mat) | | 1,204 |
tables |
One Day We’ll Have a Fully Customisable Select (hdv/mat) | | 1,203 |
css |
There Can Be Only One: Options for Building “Choose One” Fields (aar/mat) | | 1,202 |
forms |
Dear Developer, Your Assumptions Are Wrong (mat) | | 1,201 |
|
Inside the Mind of a Frontend Developer: Article Layout (sha) | | 1,200 |
css, layout |
A Modern HTML Template (2022) | | 1,199 |
templates |
Meaningful Labels Using ARIA—or Not (mat) | | 1,198 |
accessibility, forms, labels, aria |
4 More HTML Concepts You Didn’t Know (j9t) | | 1,197 |
concepts, forms, focus |
Reading the Meter (sup/mat) | | 1,196 |
semantics, accessibility |
Brief Note on Description List Support (aar) | | 1,195 |
lists, semantics, accessibility, screen-readers, support |
Landmarks and Where to Put Them (kil/mat) | | 1,194 |
semantics, aria, accessibility |
You Don’t Need ARIA for That (den/mat) | | 1,193 |
accessibility, aria |
How to Transfigure Wireframes Into HTML (mat) | | 1,192 |
how-tos, prototyping, conversion |
HTML Semantics and Accessibility Cheat Sheet (web) | | 1,191 |
cheat-sheets, semantics, accessibility |
Shadow DOM and Accessibility: The Trouble With ARIA (nol) | | 1,190 |
dom, shadow-dom, accessibility, aria |
Newer Things to Know About Good Ol’ HTML Lists (css) | | 1,189 |
lists, semantics |
Upgrade Your HTML IV (j9t/fro) | | 1,188 |
books, frontend-dogma, minimalism, craft, conformance |
HTML Content Model Categories | | 1,187 |
semantics |
Lazy Loading Images in HTML (sim) | | 1,186 |
performance, lazy-loading |
The Shape-Shifting “a” Element | | 1,185 |
links, semantics |
The “label” Element | | 1,184 |
labels, semantics |
What Happened to Text Inputs? (hey) | | 1,183 |
videos, forms |
Page Title Conventions (ada) | | 1,182 |
accessibility, seo |
Brief Note on “aria-readonly” Support (aar) | | 1,181 |
accessibility, aria, assistive-tech, support |
You Don’t Need HTML (ede) | | 1,180 |
websites, web-platform |
A Guide to Keyboard Accessibility: HTML and CSS (its/sma) | | 1,179 |
guides, accessibility, keyboard-navigation, css |
Foundations: Native Versus Custom Components (tet) | | 1,178 |
accessibility, fundamentals, components, comparisons |
Dialogs, Modality, and Popovers Seem Similar—How Are They Different? (hdv) | | 1,177 |
semantics, accessibility, modals, pop-overs |
Inside the Mind of a Frontend Developer: Hero Section (sha) | | 1,176 |
css |
6 Steps to Improve HTML Images for Users and Developers (aus) | | 1,175 |
images, performance, responsive-design |
16 Rare HTML Tags You Really Should Know | | 1,174 |
semantics |
HTML and CSS Features, Tips for a 10× Faster Page Loading Speed | | 1,173 |
css, performance, tips-and-tricks |
Intro to HTML-First Frontend Frameworks | | 1,172 |
introductions, frameworks |
Building a Tooltip Component (arg/dev) | | 1,171 |
components, tooltips, css |
The Truth Behind Implicit/Explicit Form Labels | | 1,170 |
forms, labels, accessibility |
Edit Someone Else’s Website: “contenteditable” and “designMode” (aus) | | 1,169 |
|
Common ARIA Mistakes and How to Avoid Them (ale) | | 1,168 |
accessibility, aria, mistakes |
HTML 2022: 20 Additional Observations From Analyzing the Web Almanac Data (j9t) | | 1,167 |
metrics, web-almanac |
A Little Semantic HTML Trick for React Components | | 1,166 |
react, semantics, components, tips-and-tricks |
How to Optimize Resource Loading With the “fetchpriority” Attribute (deb) | | 1,165 |
how-tos, performance, optimization |
Foundations: HTML Semantics (tet) | | 1,164 |
accessibility, fundamentals, semantics |
When Going Somewhere Does a Thing: On Links and Buttons (kil) | | 1,163 |
accessibility, links, buttons, semantics |
Templating in HTML (kit) | | 1,162 |
javascript |
GIFs Without the .gif: The Most Performant Image and Video Options Right Now (oll/css) | | 1,161 |
performance, multimedia, images, gif |
Named Element IDs Can Be Referenced as JavaScript Globals (css) | | 1,160 |
javascript |
Learn HTML (est/dev) | | 1,159 |
courses |
Markup (j9t/htt) | | 1,158 |
web-almanac, studies, research, metrics |
Two Things I Learned by Validating My HTML Again | | 1,157 |
conformance, lessons |
Streamable HTML Fragments (dev) | | 1,156 |
streaming |
Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (cod) | | 1,155 |
forms, security |
Will Serving Real HTML Content Make a Website Faster? Let’s Experiment! | | 1,154 |
studies, research, performance |
A “details” Element as a Burger Menu Is Not Accessible (ger/clo) | | 1,153 |
disclosure-widgets, semantics, accessibility |
How to (Not) Make a Button | | 1,152 |
how-tos, accessibility, buttons, semantics |
Brief Note on Super- and Subscript Text (aar) | | 1,151 |
accessibility, support, assistive-tech |
Why the Number Input Is the Worst Input | | 1,150 |
forms, validation, accessibility |
Wtf Is an Island and Why Is It in My Website? | | 1,149 |
frameworks, architecture, concepts |
Making Sense of WAI–ARIA: A Comprehensive Guide (sma) | | 1,148 |
guides, accessibility, aria |
The “details” and “summary” Elements, Again (sco) | | 1,147 |
disclosure-widgets, accessibility |
Nuclear Footnotes (mey) | | 1,146 |
css |
2022: 0 of the Global Top 100 Websites Use Valid HTML (j9t) | | 1,145 |
css, conformance, metrics, quality, craft |
What’s New With Forms in 2022? (oll/css) | | 1,144 |
forms, javascript |
Building the Main Navigation for a Website (mat/dev) | | 1,143 |
navigation, css |
HTML Markup Tips for Developing Accessible Websites (low/the) | | 1,142 |
accessibility, aria |
A Content Warning Component (kit) | | 1,141 |
components, css |
Disabled JavaScript Turns Off Native Lazy Loading (ste) | | 1,140 |
javascript, performance, lazy-loading |
Don’t Overwrite Visual Labels With “aria-label” (ash) | | 1,139 |
accessibility, aria, labels |
Beginner’s Guide to Lists and How to Make Them Accessible (pop) | | 1,138 |
guides, lists, accessibility |
Accessible Lists and Tables (pop) | | 1,137 |
accessibility, lists, tables |
Should I Use a Button or a Link? (ash) | | 1,136 |
buttons, links, semantics |
Short Note on “figure” and “figcaption” (ste) | | 1,135 |
accessibility |
CSS Classes Considered Harmful | | 1,134 |
css |
TIL: You Can Access a User’s Camera With Just HTML (aus) | | 1,133 |
permissions |
Creative List Styling (mic/dev) | | 1,132 |
lists, css |
Exploring the Underrated “output” Element | | 1,131 |
|
Table Column Alignment With Variable Transforms (mey) | | 1,130 |
css, tables, transforms, alignment |
Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (add) | | 1,129 |
performance, web-vitals |
On Ratings and Meters (lea) | | 1,128 |
semantics, css |
Capturing Images and Videos From the Camera of Mobile Devices Using HTML (ami) | | 1,127 |
multimedia, mobile |
The Infinite Marquee | | 1,126 |
css, animations, effects |
Making a Website Under 1 kB | | 1,125 |
performance, minimalism |
Ruby Styling (ri/web) | | 1,124 |
ruby-markup, css |
Abbreviations Suck (cfe) | | 1,123 |
accessibility |
“<article>” vs. “<section>”: How to Choose the Right One (sma) | | 1,122 |
semantics, comparisons |
Roundup of Recent Document Outline Chatter (geo/css) | | 1,121 |
headings, semantics, accessibility |
Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (ste/tpg) | | 1,120 |
semantics, headings, microcontent, accessibility |
Abbreviations Can Be Problematic (tem) | | 1,119 |
accessibility |
What Is the Best Way to Mark Up an Exclusive Button Group? (lea) | | 1,118 |
semantics, accessibility, aria |
Minimal Social Markup (j9t) | | 1,117 |
social-media, open-graph, minimalism |
What You Need to Know About ARIA and How to Fix Common Mistakes (pop) | | 1,116 |
accessibility, aria, mistakes |
Avoiding “<img>” Layout Shifts: “aspect-ratio” vs. “width” and “height” Attributes (jaf) | | 1,115 |
performance, web-vitals, comparisons, attributes, aspect-ratio, css |
Why the HTML Outlining Algorithm Was Removed From the Spec—the Truth Will Shock You! (bru) | | 1,114 |
semantics, accessibility |
Two Levels of Customising “<selectmenu>” (hdv) | | 1,113 |
accessibility |
Best Practices for Images | | 1,112 |
images, best-practices |
What the Hell Is “<!DOCTYPE html>”? | | 1,111 |
doctype-switching |
Farewell to HTML5Rocks (dev) | | 1,110 |
community, history |
Are You Sure That’s a Number Input? (kil) | | 1,109 |
|
My Wonderful HTML Email Workflow (jos) | | 1,108 |
mjml, markdown, mdx, email, processes |
HTML Cheatsheet | | 1,107 |
examples, cheat-sheets |
Write HTML Right | | 1,106 |
optimization |
Level Up Your Link Previews in Slack (whi) | | 1,105 |
social-media, open-graph, links, slack |
The “Form” Element Created the Modern Web—Was It a Big Mistake? (wir) | | 1,104 |
forms, history, mistakes |
8 Shocking HTML Tips You Probably Don’t Know About | | 1,103 |
tips-and-tricks |
Why Are Iframe Titles Important for Accessibility? | | 1,102 |
accessibility, iframes, writing |
A Perfect Table of Contents With HTML and CSS (nza/css) | | 1,101 |
css |
HTML Cheat Sheet: A Quick Reference Guide for HTML Developers | | 1,100 |
guides, semantics, examples, cheat-sheets |
Making Disabled Buttons More Inclusive (san/css) | | 1,099 |
forms, buttons, focus, aria, attributes, accessibility |
Conditionally Loading CSS or Any Resource Using Media Queries (ami) | | 1,098 |
media-queries, performance |
Building a Button Component (arg/dev) | | 1,097 |
components, css, javascript, buttons |
How the HTML “lang” Attribute Helps Accessibility | | 1,096 |
accessibility, attributes, localization |
Don’t Fight the Browser Preload Scanner (mal/dev) | | 1,095 |
browsers, parsing, performance |
XHTML Syntax Is Still Worth Using (tem) | | 1,094 |
xhtml |
Divs Are Bad! (mat) | | 1,093 |
semantics |
Learn HTML [and] CSS (jad) | | 1,092 |
websites, courses, css |
What’s Your Heading? (col) | | 1,091 |
accessibility, headings, semantics |
Lost in Translation (mat/btc) | | 1,090 |
videos, design, accessibility, css |
Please, Stop Disabling Zoom (mat) | | 1,089 |
accessibility, zooming |
How to Use Videos With Alpha Transparency on the Web (ben) | | 1,088 |
how-tos, multimedia, transparency |
Under-Engineered Multi-Selects (aar) | | 1,087 |
accessibility, aria |
Foundations: Lists (tin/tet) | | 1,086 |
accessibility, fundamentals, lists |
The CSS Art Paradox (j9t) | | 1,085 |
css, art, quality |
Introducing “inert” (dev) | | 1,084 |
introductions, attributes, accessibility, keyboard-navigation |
Common Frontend Interview Questions I’ve Been Asked | | 1,083 |
interviewing, javascript |
Plain Old Semantic HTML: A Perfect Basis for Accessibility | | 1,082 |
accessibility, semantics |
Non-Interactive Elements With the “inert” Attribute (web) | | 1,081 |
attributes, semantics |
How Web Browsers Work: Parsing the HTML | | 1,080 |
browsers, parsing |
Progressive Enhancement and HTML Forms: Use “FormData” (bra) | | 1,079 |
forms, progressive-enhancement |
Does Valid and Semantic HTML Still Matter? (5t3+) | | 1,078 |
podcasts, semantics, conformance |
Building a Dialog Component (arg/dev) | | 1,077 |
components, modals, css, javascript |
Those HTML Elements You Never Use | | 1,076 |
semantics |
How to Turn HTML Webpage Into an Image? | | 1,075 |
how-tos, images, conversion |
Designing Better Breadcrumbs (vit/sma) | | 1,074 |
usability, navigation, breadcrumbs |
HTML Is All You Need to Make a Website (whi) | | 1,073 |
|
Alternative Text (Alt Text) (pop) | | 1,072 |
accessibility, images, writing, alt-text |
12 Years Beyond a HTML Joke (ste) | | 1,071 |
semantics |
“aria-labelledby” Usage Notes (ste) | | 1,070 |
accessibility, aria, labels |
Accessible Cards (kit) | | 1,069 |
accessibility, css |
How to Match HTML Elements With an Indeterminate State (ste) | | 1,068 |
how-tos, css, selectors |
HTML-Only Keyboard Shortcuts (ami) | | 1,067 |
accessibility, keyboard-navigation, keyboard-shortcuts |
Picture Perfect Images With the Modern “<img>” Element (add) | | 1,066 |
images, performance, web-vitals |
Those HTML Attributes You Never Use (lou/sma) | | 1,065 |
attributes |
Write HTML, the HTML Way (Not the XHTML Way) (j9t/css) | | 1,064 |
xhtml, optimization |
HTML Semantics (cfe) | | 1,063 |
semantics |
The Impact That High Quality Mark-Up Can Have on Accessibility, Performance, and Discoverability | | 1,062 |
videos, accessibility, performance |
Building a Loading Bar Component (arg/dev) | | 1,061 |
components, css, javascript |
All HTML and CSS Cheatsheets in One Place | | 1,060 |
css, cheat-sheets |
The Weirdly Obscure Art of Streamed HTML | | 1,059 |
streaming, performance |
How to Automatically Size a Textarea Based on Its [Text] Using Vanilla JavaScript (cfe) | | 1,058 |
how-tos, javascript |
It Needs to Map Back to a Role (eri) | | 1,057 |
accessibility, aria, semantics |
Aligning Content in Different Wrappers (sha) | | 1,056 |
css, alignment |
A Look at the Dialog Element’s Super Powers (ste) | | 1,055 |
modals, javascript |
Creating Native Web Components (cod) | | 1,054 |
web-components, javascript |
It’s Always Been You, Canvas2D (dev) | | 1,053 |
css, canvas, javascript |
Web Component Pseudo-Classes and Pseudo-Elements Are Easier Than You Think (css) | | 1,052 |
css, web-components |
(Not So) Short Note on Being Owned (ste) | | 1,051 |
aria, accessibility |
HTML Tips and Tricks | | 1,050 |
tips-and-tricks |
Foundations: Headings (tet) | | 1,049 |
accessibility, fundamentals, headings, semantics |
HTML Comments Work in JavaScript Too | | 1,048 |
javascript, comments |
Support for Marking Radio Buttons Required, Invalid (aar) | | 1,047 |
accessibility |
Column Headers and Browser Support (aar) | | 1,046 |
accessibility, semantics |
There Is No Character Limit for “Alt Text” (yat) | | 1,045 |
accessibility, alt-text, images |
How to Create a Search Page for a Static Website With Vanilla JS (cfe) | | 1,044 |
how-tos, functionality, search, javascript |
Why Radio Buttons Are Called Radio Buttons in UIs? (ami) | | 1,043 |
semantics, naming |
MHTML in Chromium | | 1,042 |
browsers |
Replace JavaScript Dialogs With the New HTML Dialog Element (sto/css) | | 1,041 |
modals, semantics |
Introducing the Dialog Element (web) | | 1,040 |
introductions, modals |
HTML Cheat Sheet—HTML Elements List Reference (fre) | | 1,039 |
semantics, examples, cheat-sheets |
24 Lesser-Known HTML Attributes You May Want to Use | | 1,038 |
attributes |
How to Convert Markdown to HTML (red) | | 1,037 |
how-tos, markdown, conversion |
More to Give Than Just the Div: Semantics and How to Get Them Right (hdv) | | 1,036 |
semantics, accessibility |
Context-Aware Web Components Are Easier Than You Think (css) | | 1,035 |
web-components, javascript |
Div Divisiveness (sco) | | 1,034 |
semantics |
Find HTML Parsing Errors (pat/dev) | | 1,033 |
browsers, dev-tools, parsing, quality |