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

“html” News Archive

Definition, related topics, and tag feed

Definition · Supertopics: standards, markup-languages · Subtopics: aria, attributes, canvas, character-references, custom-data, dhtml, disclosure-widgets, doctype-switching, dom, forms, frameworks, frames, hacks, headings, html-minifier, htmlnano, iframes, image-maps, lists, mathml, metadata, microdata, nesting, presentational-html, ruby-markup, semantics, skip-links, source-order, svg, tables, web-components, web-forms, xhtml (non-exhaustive) · “html” RSS feed (per email)

Entry (Sources) and Additional TopicsDate#
Barriers From Links With ARIA (aar)1,988
accessibility, links, aria
I Learned the First Rule of ARIA the Hard Way (css)1,987
accessibility, aria, semantics
SEO (htt)1,986
web-almanac, studies, research, metrics, seo, robotstxt, llmstxt, links, content, structured-data, amp, internationalization
Accessible Faux-Nested Interactive Controls (eri/pic)1,985
accessibility, conformance, nesting
The Incredible Overcomplexity of the Shadcn Radio Button (pau)1,984
forms, complexity
EPUB and HTML—Survey Results and Next Steps (rei/w3c)1,983
surveys, epub
Introducing the “<geolocation>” HTML Element (tom+/dev)1,982
introductions, geolocation, chrome, google, browsers
What Is the Minimum Markup Needed to Create a Modal?1,981
modals, minimalism, css, accessibility
Very Good Components (bee)1,980
websites, components
How Browsers Work (dmy)1,979
websites, guides, browsers, urls, http, tcp, dom
How Can You Tell What’s Allowed Inside Each HTML Element?1,978
conformance
HTML Content Categories1,977
semantics
The Final Nail in the HTML5 Document Outline Coffin (tem)1,976
headings, accessibility
Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch)1,975
modals
Revisiting HTML Streaming for Modern Web Performance (per)1,974
performance, streaming
The Three Semantics of HTML (mat)1,973
semantics
For the Love of “<details>” (dev/mat)1,972
disclosure-widgets
The HTML Elements Time Forgot (val/mat)1,971
history
2026 Predictions: The Next Big Shifts in Web Accessibility (web)1,970
accessibility, outlooks, ai, wcag
The Two Most Important Tools for HTML Developers1,969
tooling, conformance, minification, html-minifier, htmlnano
Styling by Language: Using the “lang” Attribute for Multilingual Design (mat)1,968
internationalization, css
Did You Know Some ARIA Roles Remove Child Semantics?1,967
aria, semantics, accessibility
The Many Lives of the Page Title (kat/mat)1,966
user-experience, accessibility, wcag
Semantics Beyond the Tag Name (kno/mat)1,965
attributes, aria, semantics, accessibility
Targeting by Reference in the Shadow DOM (mey)1,964
shadow-dom, javascript
The Anatomy of an Accessible Text Field (ink)1,963
forms, accessibility, labels
Accessibility Is Personal (css)1,962
accessibility
Forms Are a Badly Designed Part of HTML (jen/mat)1,961
forms, standards
Don’t Leave the Screen Reader Hungry (ger/mat)1,960
emoji, screen-readers, accessibility
How “aria-labelledby” Really Works1,959
accessibility, aria, attributes
State of HTML 2025 [Results] (sac/dev)1,958
surveys, metrics
Giving Pages a Clear Shape by Using Headings (mat)1,957
headings
Does Chrome Get the “<header>” Element Wrong?1,956
aria, chrome, google, browsers
I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim)1,955
migrating, ai, python, javascript, tooling, parsing
Them’s the Breaks (tyl/mat)1,954
The “<time>” Element Should Actually Do Something (nol)1,953
time, semantics
Hell Is Other People’s Markup (llo/mat)1,952
auditing, tooling
Changes in the World of HTML Minifiers (apo)1,951
tooling, minification, html-minifier
How HTML Changes in EPUB (rob/mat)1,950
epub, standards
A11y Freedom Beaver (ste/mat)1,949
accessibility, aria
Useful Patterns for Building HTML Tools (sim)1,948
ai, tooling
Discover Dialog (sar/mat)1,947
modals, javascript, css
That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css)1,946
css, learning
What’s Wrong With This HTML, and Is It Valid? (pat/mat)1,945
standards, conformance, web-platform
Comparing HTML Minifiers (j9t)1,944
minification, tooling, html-minifier, htmlnano, metrics, comparisons
Controlling Dialogs and Popovers With the Invoker Commands API (sta/mat)1,943
modals, pop-overs, apis, attributes
Accessible by Design: The Role of the “lang” Attribute (col/mat)1,942
accessibility, internationalization, attributes, metrics
NoLoJS: Reducing the JS Workload With HTML and CSS (aar/per)1,941
disclosure-widgets, forms, modals, pop-overs, navigation, scrolling, positioning
IDREFs: What They Are and How to Use Them (kil/mat)1,940
forms, aria, accessibility
Referencing HTML Elements Inside Shadow DOM (meh/mat)1,939
shadow-dom, web-components
HTML Semantics: The Short Descriptions of All 113 Elements (j9t)1,938
semantics, overviews
Using the Ancient Evils for Debugging (bol/mat)1,937
debugging
Exploring Large HTML Documents on the Web (per)1,936
performance, metrics
How Modern Browsers Work (add)1,935
browsers, chromium, network, parsing, painting, rendering, javascript-engines, v8, memory, modules, javascript, css
Eleventy: How to Set Up Effective HTML Minification (in 24 Seconds) (j9t)1,934
how-tos, eleventy, html-minifier, minification, optimization
What Are Invokers? Interactivity Without JavaScript (tol/syn)1,933
videos, javascript, pop-overs
Testing Methods: Page Titled (dec)1,932
accessibility, wcag, testing
A Complete Guide to the HTML Number Input (oll)1,931
guides, attributes, forms
“::details-content”: Style Expandable Content Without Wrapper Divs (tre)1,930
disclosure-widgets, css
Why Headings Are Important in HTML: Structure, Accessibility, and SEO1,929
headings, accessibility, seo
Headings: Semantics, Fluidity, and Styling—Oh My! (geo/css)1,928
headings, css
Link vs. Button: Choosing the Right Element for the Right Job (tpg)1,927
links, buttons, accessibility, wcag, comparisons
Tailwind CSS Won the War… but We’re the Losers1,926
tailwind, css, web-platform
Explaining the Accessible Benefits of Using Semantic HTML Elements (geo/css)1,925
semantics, accessibility
Now Available: “On Web Development II”! (j9t)1,924
books, css, engineering-management, maintainability, quality
Just Use a Button (cfe)1,923
buttons, semantics
HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool1,922
minification, tooling, windows, asp-net, retrospectives
Parenthetical Asidenotes (mey)1,921
css
ChatGPT Sez Build With Semantics First (ste)1,920
chatgpt, chatgpt-atlas, ai, openai, browsers, semantics, accessibility
Don’t Forget These Tags to Make HTML Work Like You Expect (jim)1,919
What’s an Interactive Element? (mat)1,918
focus, concepts
Challenging the Idea of “Optional HTML” (mar)1,917
guest-posts, minimalism
Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod/wea)1,916
css, javascript, links
What State ARIA In? (tpg)1,915
aria, accessibility
Implicit Labels Aren’t (cfe)1,914
forms, labels
Headers, Headings, and Titles (tem)1,913
headings, comparisons, terminology
Page Headings Don’t Belong in the Header (tem)1,912
headings, skip-links, accessibility
A Look Into Customizable HTML “select” Elements1,911
forms, css
Tables: Beyond Rows and Columns (tpg)1,910
accessibility, wcag, tables, semantics, jaws, nvda, screen-readers
HTML “dialog”: Getting Accessibility and UX Right (jar)1,909
modals, scrolling, accessibility, user-experience
HTML—the Most Difficult Programming Language in the World (j9t)1,908
programming, conformance, professionalism
Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr/fro)1,907
css, animations, scrolling, effects
When to Use Modal vs. Dialog Components (a11)1,906
modals, aria, accessibility
Lowriders and Websites (aaa)1,905
css, craft
Rethinking Cookie Dialogs (nat)1,904
accessibility, disclosure-widgets, cookies, consent-management
A Progressive Enhancement Challenge (chr/fro)1,903
progressive-enhancement, javascript, feature-detection, support
How to Optimize Viewport for Mobile for Faster Interactions (deb)1,902
how-tos, viewport, mobile, performance, optimization
Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg)1,901
accessibility, wcag, conformance
HTML’s Best Kept Secret: The “<output>” Tag (den)1,900
Let’s Play Accordion With the HTML “details” Element (ale)1,899
disclosure-widgets, accordions
Creating a Truly Accessible Flip Card (sib/tpg)1,898
css, javascript, accessibility
Web Development for Beginners: Creating Web Pages via HTML (rau)1,897
fundamentals, urls, servers, forms
The “picture” Element (kev)1,896
A Quick Primer on Accessible Pagination (kar)1,895
introductions, accessibility, pagination, css, assistive-tech
“aria-label” or “title”? Screen Reader Behaviour Explained (a11)1,894
attributes, accessibility, screen-readers
Navigating the World of Web Accessibility With Sara Soueidan (sar+)1,893
videos, interviews, accessibility, wcag, aria, css
2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t)1,892
conformance, metrics, quality, craft
Just Use HTML (cfe)1,891
javascript
Baby Steps Accessibility—Page Titles (dec)1,890
microcontent, best-practices, accessibility
Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn)1,889
single-page-apps, usability, accessibility, seo, semantics
Screen Reader HTML Support—Lookup (ste)1,888
screen-readers, accessibility, support, overviews
Your Images Are (Probably) Oversized1,887
images, pixel-density
Why Did I Ever Abandon HTML/CSS? (syl)1,886
css
Tricks to Write HTML and CSS 10× Faster (jay)1,885
css, efficiency, tips-and-tricks
You No Longer Need JavaScript (reb)1,884
javascript, css, examples
Opening a “details” Element From the URL (chr/fro)1,883
disclosure-widgets, urls
Hack to the Future—Frontend (the)1,882
history, css, javascript, design, layout, flash, image-replacement, libraries, frameworks, hacks, xhtml, tooling, testing, outlooks
How to Create an Accessible Table With Clickable Rows (ale)1,881
how-tos, tables, accessibility
Design Hacks From the Pre-CSS Era (den/hac)1,880
tables, layout, hacks, history
A Proposal for Inline LLM Instructions in HTML Based on llms.txt (ind)1,879
ai, llmstxt
The First Rule of ARIA (nat)1,878
accessibility, aria, principles
Covering “hidden=until-found” (geo/css)1,877
hiding
5 Heading Accessibility Issues to Avoid (pop)1,876
accessibility, headings
A Progressive Complexity Manifesto (che)1,875
manifestos, complexity, web-apps, htmx, javascript, web-components, frameworks, principles
HTML Popovers Shown on Interest Should Be Accessible on Mobile Devices (uti)1,874
pop-overs, mobile, usability
HTML Is Dead, Long Live HTML (unc)1,873
css, dom, standards, metrics
When HTML Speaks Clearly1,872
accessibility, conformance, semantics
A Few Things About the Anchor Element’s “href” You Might Not Have Known (jim)1,871
attributes, links, data-urls
More Than Just Text: The Real Power of Labels (tpg)1,870
accessibility, labels, forms
HTML-First, Framework-Second: Is JavaScript Finally Growing Up? (the)1,869
javascript, frameworks
Web Components: Working With Shadow DOM (sma)1,868
web-components, shadow-dom, dom
The “figcaption” Problem (chr/fro)1,867
css
Why and How to Write Minimal and Valid HTML, a Link Guide (j9t)1,866
minimalism, conformance, how-tos, guides, link-lists
How Semantics and ARIA Attributes Support Accessible Design (tpg)1,865
accessibility, semantics, aria, attributes
State of HTML 2025 Now Open (lea)1,864
surveys
Super Short Note: Placeholder Perfidy (ste)1,863
accessibility, placeholders
Why Semantic HTML Still Matters (jon)1,862
semantics
A Label and a Name Walk Into a Bar (ste)1,861
accessibility, labels, concepts, examples
Why I’m Writing Pure HTML and CSS in 20251,860
css
Screen Reader HTML Support Tables (ste/tet)1,859
support, screen-readers, jaws, nvda
HTML Minifier Next (a Maintained Fork of HTML Minifier) (j9t)1,858
html-minifier, minification, optimization, tooling
HTML Day 2025 (htm)1,857
awareness-days
What Is “popover=hint”? (una)1,856
attributes, pop-overs
Shadow DOM: The Ultimate Solution for Embedding Third-Party HTML Without CSS Conflicts1,855
shadow-dom, dom, css
Custom Select (That Comes Up From the Bottom on Mobile) (chr/fro)1,854
forms, css, animations, progressive-enhancement, mobile
Tabindex: What It Is, How It Works, and When to Use It (pop)1,853
focus, keyboard-navigation, accessibility
Google: Many Top Sites Have Invalid HTML and Still Rank (mat/sea)1,852
google, conformance, quality, seo
A Step Into the Spatial Web: The HTML Model Element in Apple Vision Pro (zac/web)1,851
spatial-web, apple, xr
The Mythical Magical Button (cri)1,850
buttons, css, custom-properties, custom-data
Know Your HTML (Yes, TSX Included) (hel)1,849
semantics, accessibility
CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma)1,848
css, cascade, bem, presentational-html
Selfish Reasons for Building Accessible Uis (nol)1,847
accessibility, debugging, testing
What I Wish Someone Told Me When I Was Getting Into ARIA (eri/sma)1,846
accessibility, aria, assistive-tech, support
Having “figure” Match Width of Contained Image (jef)1,845
css, images
Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec)1,844
attributes, security, xss, escaping, chrome, google, browsers
HTML Spec Change: Escaping “<” and “>” in Attributes (sec/dev)1,843
attributes, escaping, security, xss
Why Visual Website Builders Didn’t Take Off (whi)1,842
videos, code-editors, wysiwyg, history
Is HTML Not a Programming Language?1,841
programming
Creating an Auto-Closing Notification With an HTML Popover (pre/css)1,840
notifications, pop-overs
ARIA/HTML Relationship Severance (ste)1,839
accessibility, aria
The “<output>” Element (kev)1,838
“aria-selected”: Practical Examples and Use Cases (flo/a11)1,837
accessibility, aria, examples
HTML-Native Accordions (cfe)1,836
accordions
How to Use ARIA Roles and Properties Effectively1,835
how-tos, aria, accessibility
Getting Creative With HTML Dialog (mal/css)1,834
modals
HTML Only Experiments (ala)1,833
websites, experiments
Up and Coming ARIA (web)1,832
accessibility, aria
The “col” Element (hey)1,831
tables, semantics
The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t)1,830
minimalism, maintainability
What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale)1,829
css, conditional-comments, lessons
Decorative Text Within HTML (ede)1,828
attributes, css, formatting
Making Scannable Web Pages for Assistive Technology (jar)1,827
accessibility, assistive-tech, design, headings, semantics
The “datalist” Element (kev)1,826
forms
Styling the Icon for HTML Date and Time Types (cas)1,825
forms, css, time
The “caption” Element (hey)1,824
tables, semantics
Expanding/Collapsing With “details” (ons/oze)1,823
accessibility, disclosure-widgets
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,822
internationalization, localization, conversion
How Often Should We Speak About HTML Conformance? (j9t)1,821
conformance, metrics
Enhancements to the Proposed “<permission>” Element (tom/dev)1,820
Just Fucking Use HTML (kyr)1,819
websites
Foundations: Keyboard Accessibility (tet)1,818
fundamentals, accessibility, keyboard-navigation, focus
The True Path to Garbage Code: Figma Sites (joe)1,817
figma, quality, semantics, accessibility
The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo/a11)1,816
accessibility, aria, best-practices
K.I.S.S. ARIA (nat)1,815
aria, accessibility
The “code” Element (hey)1,814
markdown
Revisiting Image Maps (mal/css)1,813
images, image-maps, techniques
The “cite” Element (hey)1,812
semantics
Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr/fro)1,811
maintainability
Anchor Positioning Just Don’t Care About Source Order (geo/css)1,810
css, anchor-positioning, source-order
Giving Software Away for Free (sim)1,809
foss, hosting, javascript
Menu and Navigation: The Difference (stv)1,808
navigation, pagination, aria, accessibility
The “canvas” Element (hey)1,807
canvas, semantics
Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code1,806
accessibility, semantics, community
HTML Oddities: Does the Order of Attribute Values Matter? (ede)1,805
attributes, css, selectors
“input type="color"” (kev)1,804
forms, colors
The Problem(s) With Image Accessibility1,803
accessibility, images, alt-text
Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t)1,802
guest-posts, minimalism, conformance, semantics, interoperability, accessibility, standards
Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod)1,801
lists, semantics
Creating an Accessible Accordion With HTML Description Lists (kar)1,800
accessibility, lists, accordions
5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t)1,799
performance, optimization
Default Styles for “h1” Elements Are Changing (zco/mdn)1,798
css, headings, browsers
5 Ways to Reduce HTML File Size on Your Website (deb)1,797
minification, compression, performance, optimization
ARIA in HTML (sco+/w3c)1,796
standards, accessibility, aria
Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil+)1,795
podcasts, interviews, wordpress, apis, dom
Strings Are a Leaky Abstraction for HTML (joe)1,794
strings
Hiding Elements That Require JavaScript Without JavaScript (0xd)1,793
javascript, css
Tweaking Text Level Styles, Reprised (aar)1,792
css, accessibility, support, browsers, screen-readers
CSS-Only Glitch Effect1,791
css, effects
Markup Languages (j9t)1,790
overviews, link-lists, sgml, xml, xhtml, hdml, dhtml, mathml, wml, chtml
“input type="number"” (kev)1,789
forms
“aria-label” Is a Letdown (thi/wag)1,788
accessibility, aria, labels
Create an HTML Dialog When You Click an Image (cas)1,787
images, modals
The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom/dev)1,786
attributes, browsers, support, web-platform
Quick Accessibility Wins That Are Easy to Implement (kev)1,785
videos, accessibility, semantics, alt-text, images, contrast, colors, keyboard-navigation, focus, skip-links
The Bare Minimum You Need to Enable View Transitions on Your Website (ami)1,784
css, view-transitions, minimalism
Is React Accessible? That’s the Wrong Question1,783
accessibility, react, jsx, semantics
Web Components vs. Framework Components: What’s the Difference? (sma)1,782
web-components, components, frameworks, comparisons
A Review of HTML Linters1,781
overviews, linting, conformance, tooling, link-lists, comparisons
Popping Preconceived Popover Ponderings (sco)1,780
accessibility, pop-overs
Future of CSS: “select” Styling Without the Hacks1,779
css, selectors, forms
Creating Animated Accordions With the “details” Element and Modern CSS (ste/bui)1,778
css, disclosure-widgets, accordions, animations, transitions
DeepSeek and HTML (j9t)1,777
ai, minimalism, conformance
Implementing “aria-describedby” for Web Accessibility (flo/a11)1,776
accessibility, aria, forms, labels
Introducing “command” and “commandfor” (kei/dev)1,775
introductions, attributes
Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb)1,774
performance, css, data-urls, compression, base64
Cool Native HTML Elements You Should Already Be Using (hrr)1,773
modals, disclosure-widgets, forms, progress-indicators
Grouping Selection List Items Together With CSS Grid (pre/css)1,772
lists, forms, css, grids, layout
Building Websites With LLMS (jim)1,771
css, view-transitions
Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad/dev)1,770
apis
Using and Styling the “details” Element (geo/css)1,769
css, disclosure-widgets, examples
The Professional Standing of Frontend Developers (mar)1,768
guest-posts, career, learning, css, javascript, communication, collaboration, community, ai
CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod)1,767
css, art
There’s No Such Thing as “Menubar Navigation” (tem)1,766
accessibility, navigation
When to Use Lists for Better Accessibility1,765
accessibility, lists
Fixing “rowspan=0” on Tables on WebKit (kar)1,764
tables, webkit, browser-engines, browsers
Introduction to Frontend Development (the)1,763
introductions, css, javascript, frameworks, libraries, tooling, career, trends
“ruby-align” Is Baseline Newly Available (dev)1,762
ruby-markup, css, browsers, support, web-platform
Everything You Need to Know About Invoker Commands (kei/web)1,761
videos, pop-overs
Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch)1,760
accessibility, search, hiding, browsers
It’s Right There in the Back of the Book (hom)1,759
accessibility, semantics
Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas/pic)1,758
forms
Which HTML Element Are You?1,757
quizzes
Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t)1,756
frameworks, javascript, conformance, comparisons, link-lists
Optimizing Images for Web Performance (tod/fro)1,755
images, performance, optimization, jpeg, png, webp, avif, caching
Taking RWD to the Extreme (sma)1,754
responsive-design, intrinsic-design, css
How to Declare Your Page’s Language (pop)1,753
how-tos, internationalization
HTML and CSS for a One-Time Password Input (chr/fro)1,752
css, forms, passwords
A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl/clo)1,751
forms, lists, css
Using Padding to Space an Input and Label (dar)1,750
forms, labels, spacing, css
Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet)1,749
fundamentals, forms, aria
How to Set Up an Accessible Page Structure and Navigation (pop)1,748
how-tos, accessibility, navigation
XHTML in Modern Web Development (mar)1,747
guest-posts, xhtml
What Text Area Popovers Taught Me About Browser APIs (bla)1,746
forms, apis, javascript
Only One “<details>” Open at a Time (osv)1,745
disclosure-widgets
Creating an Angled Slider (zac/fro)1,744
sliders, css, effects
Don’t Wrap Figure in a Link (aar)1,743
links, screen-readers, accessibility
23 HTML Cheat Sheets, for a Different Look at HTML (fro)1,742
cheat-sheets, link-lists
Learning HTML Is the Best Investment I Ever Did (cod)1,741
learning, career
HTML Developers: Please Consider—in the Year of 2025 (ste)1,740
aria, accessibility
Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi/dat)1,739
scraping, tooling, nodejs
Lesser Known Uses of Better Known Attributes (sma)1,738
attributes
Sharing a Variable Across HTML, CSS, and JavaScript (chr/fro)1,737
variables, css, javascript
Accessibility Essentials Every Front-End Developer Should Know (mar)1,736
accessibility, fundamentals, semantics, forms, keyboard-navigation, modals, alt-text, focus, responsive-design, reduced-motion, aria
Brief Note on Figure and Figcaption Support (aar)1,735
accessibility, screen-readers, support
How to Order Attributes on HTML Elements1,734
how-tos, attributes, sorting, conventions
HTML Is Actually a Programming Language—Fight Me (tim/wir)1,733
programming
Relatively New Things You Should Know About HTML Heading Into 2025 (chr/fro)1,732
forms, toggles, pop-overs, javascript, import-maps, css, transitions
The Difference Between HTML Attributes and Properties (pau/clo)1,731
attributes, javascript, terminology
Use “translate” to Turn Off Element Translations (ste)1,730
localization
Updated Brief Note on Description List Support (aar)1,729
lists, semantics, accessibility, screen-readers, support
Datalists Are More Powerful Than You Think (two/mat)1,728
Media (ste+/htt)1,727
web-almanac, studies, research, metrics, multimedia, images
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale/mat)1,726
buttons, icons, images, accessibility, screen-readers
Why Heading Order Matters in HTML (gra)1,725
headings, accessibility
The Underrated “<dl>” Element (luh/mat)1,724
lists
Preloading Fonts for Web Performance With “link rel=preload” (acc/mat)1,723
performance, preloading, fonts, hints
The Search Input: They Almost Got It Right (stv/mat)1,722
forms, labels, screen-readers, assistive-tech, accessibility
The Devil Is in the “<details>” (mat)1,721
disclosure-widgets
Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer)1,720
accessibility, tables
PSA: Stop Using the “title” Attribute as Tooltip (dni/mat)1,719
attributes, tooltips, toggles, accessibility
Accessibility First: How to Design Inclusive Frontend Experiences1,718
how-tos, design, accessibility, semantics, alt-text, keyboard-navigation, aria, contrast, forms, focus
Grouping Form Fields (mat)1,717
forms
My Favourite Colour Is Chuck Norris Red (val/mat)1,716
colors
No ARIA Is Better Than Bad ARIA (kar)1,715
videos, accessibility, aria
Getting Oriented With HTML Video (sco/mat)1,714
multimedia, web-components
Microdata for Books (ala/mat)1,713
microdata
HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t)1,712
conformance, tooling, npm, comparisons
You Don’t Need the “isOpen” Class (mau/mat)1,711
aria, accessibility
HTML “inert” Attribute (stv/5t3)1,710
attributes
The Gift You Do Not Want: A Div in a Button’s Clothing (mat)1,709
buttons, accessibility
Page by Page: How Pagination Makes the Web Accessible (mat)1,708
accessibility, pagination, css, svg
ARIA in HTML (sco+/w3c)1,707
standards, accessibility, aria
Improving User Experience for Multilingual Web Browsing (mat)1,706
user-experience, internationalization
HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (mat)1,705
ruby-markup, css, internationalization
Makeshift Hot Reload (eva/mat)1,704
metadata
On-Page SEO Checklist: The Complete Task List for 2025 (sem)1,703
seo, checklists, semantics
Submit to the Quirks of HTML (fel/mat)1,702
forms
Native HTML Light and Dark Color Scheme Switching (pep/mat)1,701
dark-mode, css, javascript, functionality
Past HTML, Future HTML? (j9t/mat)1,700
Almost, but Not Quite, Entirely Unlike… (tin/mat)1,699
accessibility, buttons, ai
What Do the State of CSS and HTML Surveys Tell Us? (rac/dev)1,698
web-platform, css, community
What Is HTML Optimization? What Is It Not? (j9t)1,697
optimization, terminology
Control the Viewport Resize Behavior on Mobile With “interactive-widget” (bra/mat)1,696
css, units, viewport, resizing, mobile, metadata
Creating an Effective Multistep Form for Better User Experience (sma)1,695
forms, javascript, user-experience
Starting Off Right: Where Autofocus Shines (kil/mat)1,694
forms, focus
The HTML Native Search Element (tre)1,693
semantics
Character-Based Alignment (css)1,692
css, alignment
Preloading Responsive Images (tre)1,691
images, hints, performance, preloading
A Button Is Not a Link (mor/mat)1,690
buttons, links
Language of Parts Bookmarklet (bea)1,689
bookmarklets, metadata, accessibility
Old Alt Text Advice (ste)1,688
accessibility, images, alt-text, microcontent, best-practices
Avoid Read-Only Controls (aar)1,687
forms, accessibility
Where Has All the Valid HTML Gone (j9t)1,686
conformance, quality
My 3 Most-Wanted CSS Table Features (dar)1,685
css, tables, wish-lists
Importing a Frontend JavaScript Library Without a Build System (b0r)1,684
javascript, libraries, commonjs, esm, nodejs
Native Dual-Range Input1,683
forms, css
State of HTML 2024 [Results] (sac/dev)1,682
surveys, metrics
The “br” Element (hey)1,681
semantics
Markup (gua/htt)1,680
web-almanac, studies, research, metrics
State of CSS and State of HTML 2024 (pat)1,679
css
How to Identify Decorative Images and Boost Accessibility (a11)1,678
how-tos, images, decoration, accessibility, aria
The Lowdown on Dropdowns in HTML and CSS (zer)1,677
css
More Options for Styling “<details>” (bra/dev)1,676
disclosure-widgets, css
How Do HTML Event Handlers Work? (tbr)1,675
javascript, events
Disabled and Obscured (ste)1,674
accessibility, forms, wcag, standards
The “button” Element (hey)1,673
semantics, buttons, links
HTML Cheat Sheet1,672
semantics, examples, cheat-sheets
Building My Resume in HTML Using Eleventy (men)1,671
career, eleventy
20 HTML Tips You Must Know in 2024 (xiu)1,670
tips-and-tricks
The “<details>” and “<summary>” Elements Are Getting an Upgrade (sea)1,669
disclosure-widgets
25 Accessibility Tips to Celebrate 25 Years (jar/web)1,668
accessibility, tips-and-tricks, aria
The “body” Element (hey)1,667
semantics
Clarifying the Relationship Between Popovers and Dialogs (zel/css)1,666
pop-overs, modals, comparisons, accessibility
Come to the “light-dark()” Side (sar/css)1,665
dark-mode, css, colors
HTML Form Validation Is Heavily Underused1,664
forms, validation, react
Talkin’ Tables (aar/web)1,663
videos, accessibility, tables
Why Does “target="_blank"” Have an Underscore in Front? (kyr)1,662
frames, links
My Top 5 Most Popular Front-End Tips (kev)1,661
videos, css, forms, tips-and-tricks
How Should “<selectedoption>” Work? (jaf)1,660
forms
An HTML Email Template With Basic Typography and Dark/light Modes (chr/fro)1,659
templates, email, typography, dark-mode
Using Static Websites for Tiny Archives1,658
css
I’ve Been Doing Blockquotes Wrong (mic)1,657
The “blockquote” Element (hey)1,656
semantics
My Eulogy for the Open Web and Old Google1,655
open-web, google
HTML/CSS Frameworks, in Their Own Words (by Word Cloud) (j9t)1,654
frameworks, css, bootstrap, tailwind, foundation, bulma, milligram, pure, uikit, comparisons
HTML for People (bw)1,653
books, websites, examples
The New Stylable “<select>” Element (jaf+)1,652
podcasts, css, apis, forms
No Industry for Old Men (ste/web)1,651
videos, retrospectives, aria, browsers, screen-readers, accessibility, w3c
The Popover API: Your New Best Friend for Tooltips (dev)1,650
pop-overs, apis, tooltips, css, javascript
Web Components: Little Bits (web)1,649
videos, web-components
Practical Accessibility Tips You Can Apply Today (pic)1,648
accessibility, tips-and-tricks
An Interesting HTML Parser Conundrum (dbu)1,647
parsing
The “bdi” Element (hey)1,646
semantics, internationalization
What’s the Difference Between HTML’s Dialog Element and Popovers? (chr/fro)1,645
modals, pop-overs, comparisons
How to Learn HTML: 46 Great Sites, Courses, and Books (All Free)1,644
how-tos, learning, courses, books, link-lists
The “b” Element (hey)1,643
semantics
“img sizes=auto” for Native Lazy Loading (ste)1,642
code-pens, images, lazy-loading, performance
Hire HTML and CSS People (fon)1,641
css, hiring, engineering-management
Why HTML Has Both “<b/i>” and “<strong/em>”?1,640
semantics
The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web)1,639
seo, optimization, tips-and-tricks
Request for Developer Feedback: Customizable Select (una/dev)1,638
forms
State of HTML 2024 (sac/dev)1,637
surveys
2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t)1,636
conformance, metrics, quality, craft
What Does Hydration Mean? (chr/fro)1,635
hydration, concepts, javascript, dom
Going Buildless (mxb)1,634
building, components
The HTML History and Optimization Cheat Sheet (j9t)1,633
history, optimization, cheat-sheets
Should Form Labels Be Wrapped or Separate? (sib/tpg)1,632
forms, labels, accessibility, browsers, assistive-tech
HTML Whitespace Is Broken (dev)1,631
whitespace
Semi-Annual Reminder to Learn and Hire for Web Standards (aar)1,630
learning, fundamentals, standards, css
Headings (web)1,629
headings, accessibility
Paragraphs (sco)1,628
accessibility
What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11)1,627
videos, guides, aria, accessibility
The “aside” Element (hey)1,626
semantics, accessibility
The Secret Inside One Million Checkboxes1,625
databases, community
What’s Missing From HTML and CSS? (rac/dev)1,624
css
Make Me One (Input) With Everything (mor/mat)1,623
forms, accessibility, simplicity
How to Easily Add Dark Mode to Your Website1,622
how-tos, dark-mode, css, javascript, functionality
What Skills Should You Focus on as Junior Web Developer in 2024? (fro)1,621
career, fundamentals, css, javascript, frameworks, tooling, learning, link-lists
Is Using “aria-label” to Add Alternative Text But No “alt” Attribute Still a WCAG Fail?1,620
discussions, accessibility, attributes, forms, labels, aria, alt-text, images
Raw-Dogging Websites (bra)1,619
css, javascript, tech-stacks
Spoiler Alert: It Needs to Be Accessible (sco)1,618
accessibility, web-components, aria
The Top Programming Languages 2024 (iee)1,617
programming, comparisons, python, java, javascript, typescript, sql, go, php, lua
Foundations: Labelling Text Fields With Input and Label (tet)1,616
accessibility, fundamentals, forms, labels
Expert Guide: Writing HTML for Screen Reader Users (flo/a11)1,615
guides, accessibility, aria, alt-text, writing, screen-readers
Top 5 HTML Features You’re Not Using (but Should Be)1,614
How Are the “colspan” and “rowspan” Attributes Different? (geo/css)1,613
attributes, tables
How Does the Browser Render HTML? (and)1,612
browsers, browser-engines, rendering, dom, css, cssom, painting
“blocking=render”: Why Would You Do That?! (css)1,611
performance, rendering
Rote Learning HTML & CSS (j9t/fro)1,610
books, frontend-dogma, css, learning
The “address” Element (hey)1,609
semantics
Action Web Components Which Span the Server-Client Divide (jar)1,608
web-components, apis
ObsoHTML, the Obsolete HTML Checker (j9t)1,607
packages, npm, quality
The “abbr” Element (hey)1,606
semantics, accessibility
HTML Web Components Can Have a Little Shadow DOM, as a Treat (sco)1,605
web-components, shadow-dom, dom
The Anchor Element (hey)1,604
links, semantics, terminology, usability
HTML Web Components Make Progressive Enhancement and CSS Encapsulation Easier (css)1,603
web-components, principles, solid, progressive-enhancement, examples
The Anatomy of Accessible Forms: Best Practices (deq)1,602
accessibility, forms, best-practices
Replacing jQuery UI Datepicker With HTML Date Input (chr)1,601
jquery
Pop(over) the Balloons (css)1,600
disclosure-widgets, pop-overs, css
Learn Web Components (and)1,599
websites, courses, web-components, css, dom, javascript
Don’t Use JS for That: Moving Features to CSS and HTML (kil/jsc)1,598
videos, javascript, css
Named Alternates for WordPress (ede)1,597
wordpress
What ARIA Still Does Not Do (ste)1,596
aria, accessibility, standards
An Update on Invokers: Invoker Commands in HTML (uti)1,595
modals, pop-overs
How to Parse HTML in JavaScript (api)1,594
how-tos, parsing, javascript
Mythbusting DOM: Was DOM Invented Alongside HTML?1,593
myths, dom, history
Are Web Components Worth It?1,592
podcasts, web-components, dom, shadow-dom
A Rant About Front-End Development1,591
content, css, javascript, preprocessors, frameworks, complexity
Know the “search” Element (j9t)1,590
semantics
HTML Markup Explained: Building Blocks of Modern Web Pages1,589
fundamentals
Streaming HTML—Asynchronous DOM Updates Without JavaScript (inf)1,588
asynchronicity, dom, streaming
Ditch the Pixels: The Small and Vectorized Web (yor)1,587
svg, images
HTML Cheat Sheets: From Basics to Advanced Elements1,586
fundamentals, semantics, examples, cheat-sheets
The Ultimate Guide to Iframes (log)1,585
guides, iframes, javascript, security
Doing My Heading In (ste+)1,584
interviews, headings, accessibility
Maybe Don’t Name That Landmark (aar)1,583
semantics, accessibility
Reflection and Custom States in Web Components (cla)1,582
web-components
Fine-Tuning Text Inputs (gar)1,581
forms, attributes, usability
Semantic Code in HTML: What Is It and Does It Still Matter? (boa)1,580
semantics, accessibility, seo, maintainability, performance
Responsive Video Works Now—These Features Could Make It Work Better (sco)1,579
multimedia, responsive-design, performance
Alt Left (ste)1,578
accessibility, images, alt-text, anti-patterns
Here’s What We Learned From the First “State of HTML” Survey (sac/fro)1,577
lessons
Progressively Enhanced Popover Toggletips (mic)1,576
pop-overs, apis, progressive-enhancement
Multipage Version (wil)1,575
websites
Switching It Up With HTML’s Latest Control (sma)1,574
forms
HTML Tags You Might Not Know About1,573
Not So Short Note on “aria-label” Usage—Big Table Edition (ste)1,572
accessibility, aria, labels
When Should We Use Components and When Should We Just Use HTML? (chr)1,571
components, web-components
Test-Driving HTML Templates (xpm/mfo)1,570
templates, testing, server-side-rendering, conformance
We Need to Talk More About Conformance, if We Want to Stop Fantasy HTML (j9t)1,569
conformance, craft, quality
“<style>”: Inline Optimizations for the Bold (mor)1,568
css, performance, optimization
Ignore and Acknowledge “class” Attribute on Elements in CSS (ami)1,567
css, attributes
The Latest in Web UI (una/dev)1,566
videos, css, layout, effects
State of HTML 2023 [Results] (sac+/dev)1,565
surveys, metrics
Upgrade Your HTML V (j9t/fro)1,564
books, frontend-dogma, minimalism, craft, conformance
Using Simple Tools as a Radical Act of Independence1,563
css, simplicity
Using the Popover API for HTML Tooltips (chr/fro)1,562
pop-overs, apis, tooltips
Combining CSS “:has()” and HTML “<select>” for Greater Conditional Styling (ami/sma)1,561
css, selectors, techniques
Popover API Is Here (chr/fro)1,560
apis, pop-overs
My Approach to HTML Web Components (ada)1,559
web-components
Design Déjà Vu (mal)1,558
design, css, history, comparisons
The HTML, CSS, and SVG for a Classic Search Form (chr/fro)1,557
search, forms, css, svg
How to Escape JavaScript for a Script Tag1,556
how-tos, javascript, escaping
HTML Attributes vs. DOM Properties (jaf)1,555
attributes, dom, comparisons
Images as the First Thing in a Button or Link (tem)1,554
accessibility, images, buttons, links
Invoking Elements by Using Only HTML: A First Look at Invokers (uti)1,553
modals, pop-overs
My Code Formatting Guidelines (val)1,552
guidelines, formatting, conventions, javascript, prettier, configuration
Converting Plain Text to Encoded HTML With Vanilla JavaScript (sma)1,551
conversion, javascript
Making Disabled Buttons More Accessible1,550
accessibility, buttons, aria
The Biggest Lie in HTML1,549
videos
ARIA in HTML (sco+/w3c)1,548
standards, accessibility, aria
Don’t Use the “maxlength” Attribute to Stop Users From Exceeding the Limit (ada)1,547
attributes, forms, usability
My “Skip to Content” Markup Was Breaking the Back Button on iOS (db)1,546
skip-links, accessibility, mobile
The Dos and Don’ts of Using “tabindex” in Web Design (a11)1,545
accessibility, keyboard-navigation
Figma Prototypes vs. HTML Prototypes (ada)1,544
design, processes, prototyping, figma, comparisons
Faster Websites With the “picture” Element (fra)1,543
images, performance
Testing HTML With Modern CSS (hey)1,542
css, testing, quality
21 HTML Tips You Must Know About1,541
tips-and-tricks
How to Think About HTML Responsive Images (db)1,540
how-tos, images, responsive-design
When to Use “tabindex="0"” (gra/tet)1,539
accessibility, keyboard-navigation, focus
Svelte Parses HTML All Wrong (ric)1,538
svelte, parsing
How-To: 5 Steps to Detect Invalid HTML Breaking Your [Site’s Performance] (erw)1,537
how-tos, conformance, performance
Kobold Letters (wed)1,536
email, support
On “disabled” and “aria-disabled” Attributes (kit)1,535
accessibility, attributes, aria
How Invalid HTML Elements Impact Web Performance (erw)1,534
conformance, performance
On Popover Accessibility: What the Browser Does and Doesn’t Do (hdv+)1,533
accessibility, pop-overs
Ruby Is Complicated1,532
The Problem With Data Attributes for Text Effects (man)1,531
custom-data, css, typography, effects
HTML Performance Optimization: Tips for Faster Loading Pages1,530
landing-pages, performance, optimization, tips-and-tricks
Distinguishing Between ARIA and Native HTML Attributes (deq)1,529
aria, attributes, accessibility, comparisons
Streaming HTML (chr/fro)1,528
php, streaming
CSS Button Styles You Might Not Know (dbu)1,527
css, buttons
The Quiet, Pervasive Devaluation of Frontend (col)1,526
css, craft, career, community
Making Room for Long List Markers With Subgrid (nol)1,525
lists, css, grids
Techniques to Break Words (aar)1,524
techniques, css, content
An HTML Switch Control (ann+/web)1,523
css, forms
YouTube Video Embedding Harm Reduction (jvo)1,522
multimedia, embed-code, youtube, privacy
ARIA (Are Ya) Afraid of the Dark? Unmasking Common HTML Monsters to Create Better User Experiences (deq)1,521
videos, accessibility, aria, user-experience
Filling Gaps With a Polyfill (jay)1,520
polyfills, css, javascript, history
HTML as the Baseline (cfe)1,519
progressive-enhancement
“X” Marks the Spot: Landmark Elements (stv)1,518
semantics, accessibility, assistive-tech, aria
HTML Attributes That Every Web Developer Should Know1,517
attributes, pop-overs, forms, custom-data
Practice Safe DSD With “setHTMLUnsafe” (It’s Complicated) (jar/van)1,516
dom, shadow-dom, apis, security
A Highly Configurable Switch Component Using Modern CSS Techniques (bel/pic)1,515
css
HTML Web Components on the Server Are Great (sco)1,514
web-components
Check for “accesskey” and “aria-keyshortcuts” Bookmarklet (ste)1,513
bookmarklets, accessibility, aria, keyboard-shortcuts
Unlocking the Power of HTML’s Native Browser “dialog” Element (ope)1,512
modals
Mind the Accessibility Gaps—Most of Accessibility Issues Originate in Design and How to Fix That (cer)1,511
accessibility, design, aria
A Call for Consensus on HTML Semantics (5t3)1,510
semantics
Create a Currency Converter With HTML, CSS, and Vanilla JavaScript1,509
functionality, css, javascript
The Color Input and the Color Picker (chr/fro)1,508
colors, usability
Basic Accessibility Mistakes I Often See in Audits (cfe)1,507
accessibility, mistakes, auditing, semantics, focus, links, buttons
Web Standards: The Guidelines That Every Developer Should Know1,506
standards, history, w3c, css, xml, wcag
Disable Browser Caching With “meta” HTML Tags1,505
metadata, caching
Options for “optgroup” Labeling of “options” (ste)1,504
accessibility, forms, browsers, screen-readers, support
Using “abbr” Element With “title” Attribute (aar)1,503
attributes, accessibility, browsers, assistive-tech, support
Accounting for Internationalization With CSS and HTML1,502
css, internationalization
Buttons and Links—Common Misconceptions1,501
accessibility, semantics, buttons, links
Streaming HTML Out of Order Without JavaScript1,500
streaming
Why I Like Web Components1,499
web-components
Stop Closing Void Elements (j9t)1,498
HTML Validation—Pros and Cons1,497
conformance
Never Underestimate HTML (lar/mat)1,496
user-experience, developer-experience
The Devil Is in the Details: A Look Into a Disclosure Widget Markup (its/mat)1,495
disclosure-widgets, css, javascript
“HTML First” Is Not HTML First (j9t)1,494
principles, quality, craft
Recapturing Early-Internet Whimsy With HTML (tec)1,493
trends, design, art, decoration
The Implied Web (hws/mat)1,492
accessibility, semantics
The Road to HTMHell Is Paved With Semantics (pep/mat)1,491
semantics, quality
Revisiting Fundamentals—Semantic Lists for Improved Accessibility (mis/mat)1,490
fundamentals, semantics, accessibility
HTML Can Do This?1,489