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