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