Tech is political: The people under attack in Palestine 🇵🇸, Iran 🇮🇷, and Lebanon 🇱🇧 are people like us. They’re our brothers and sisters, too. Read up on their history, scrutinize what you’re told, and demand that they be respected. Hide

Frontend Dogma

“html” News Archive (2)

Entry (Sources) and Additional TopicsDate#
Action Web Components Which Span the Server-Client Divide (jar)1759
web-components, apis
ObsoHTML, the Obsolete HTML Checker (j9t)1758
packages, npm, quality
The “abbr” Element (hey)1757
semantics, accessibility
HTML Web Components Can Have a Little Shadow DOM, as a Treat (sco)1756
web-components, shadow-dom, dom
The Anchor Element (hey)1755
links, semantics, terminology, usability
HTML Web Components Make Progressive Enhancement and CSS Encapsulation Easier (css)1754
web-components, principles, solid, progressive-enhancement, examples
The Anatomy of Accessible Forms: Best Practices (deq)1753
accessibility, forms, best-practices
Replacing jQuery UI Datepicker With HTML Date Input (chr)1752
jquery
Pop(over) the Balloons (css)1751
disclosure-widgets, pop-overs, css
Learn Web Components (and)1750
websites, courses, web-components, css, dom, javascript
Don’t Use JS for That: Moving Features to CSS and HTML (kil/jsc)1749
videos, javascript, css
Named Alternates for WordPress (ede)1748
wordpress
What ARIA Still Does Not Do (ste)1747
aria, accessibility, standards
An Update on Invokers: Invoker Commands in HTML (uti)1746
modals, pop-overs
How to Parse HTML in JavaScript (api)1745
how-tos, parsing, javascript
Mythbusting DOM: Was DOM Invented Alongside HTML?1744
myths, dom, history
Are Web Components Worth It? (jaf+)1743
podcasts, web-components, dom, shadow-dom
A Rant About Front-End Development1742
content, css, javascript, preprocessors, frameworks, complexity
Know the “search” Element (j9t)1741
semantics
HTML Markup Explained: Building Blocks of Modern Web Pages1740
fundamentals
Streaming HTML—Asynchronous DOM Updates Without JavaScript (inf)1739
asynchronicity, dom, streaming
Ditch the Pixels: The Small and Vectorized Web (yor)1738
svg, images
The Ultimate Guide to Iframes (log)1737
guides, iframes, javascript, security
HTML Cheat Sheets: From Basics to Advanced Elements1736
fundamentals, semantics, examples, cheat-sheets
Doing My Heading In (ste+)1735
interviews, headings, accessibility
Maybe Don’t Name That Landmark (aar)1734
semantics, accessibility
Reflection and Custom States in Web Components (cla)1733
web-components
Fine-Tuning Text Inputs (gar)1732
forms, attributes, usability
Semantic Code in HTML: What Is It and Does It Still Matter? (boa)1731
semantics, accessibility, seo, maintainability, performance
Responsive Video Works Now—These Features Could Make It Work Better (sco)1730
multimedia, responsive-design, performance
Alt Left (ste)1729
accessibility, images, alt-text, anti-patterns
Here’s What We Learned From the First “State of HTML” Survey (sac/fro)1728
lessons
Progressively Enhanced Popover Toggletips (mic)1727
pop-overs, apis, progressive-enhancement
Multipage Version (wil)1726
websites
Switching It Up With HTML’s Latest Control (sma)1725
forms
HTML Tags You Might Not Know About1724
Not So Short Note on “aria-label” Usage—Big Table Edition (ste)1723
accessibility, aria, labels
When Should We Use Components and When Should We Just Use HTML? (chr)1722
components, web-components
Test-Driving HTML Templates (xpm/mfo)1721
templates, testing, server-side-rendering, conformance
We Need to Talk More About Conformance, if We Want to Stop Fantasy HTML (j9t)1720
conformance, craft, quality
“<style>”: Inline Optimizations for the Bold (mor)1719
css, performance, optimization
Ignore and Acknowledge “class” Attribute on Elements in CSS (ami)1718
css, attributes
The Latest in Web UI (una)1717
videos, css, layout, effects
State of HTML 2023 [Results] (sac+/dev)1716
surveys, metrics
Upgrade Your HTML V (j9t/fro)1715
books, frontend-dogma, minimalism, craft, conformance
Using the Popover API for HTML Tooltips (chr/fro)1714
pop-overs, apis, tooltips
Using Simple Tools as a Radical Act of Independence1713
css, simplicity
Combining CSS “:has()” and HTML “<select>” for Greater Conditional Styling (ami/sma)1712
css, selectors, techniques
Popover API Is Here (chr/fro)1711
apis, pop-overs
My Approach to HTML Web Components (ada)1710
web-components
Design Déjà Vu (mal)1709
design, css, history, comparisons
The HTML, CSS, and SVG for a Classic Search Form (chr/fro)1708
search, forms, css, svg
How to Escape JavaScript for a Script Tag1707
how-tos, javascript, escaping
HTML Attributes vs. DOM Properties (jaf)1706
attributes, dom, comparisons
Images as the First Thing in a Button or Link (tem)1705
accessibility, images, buttons, links
Invoking Elements by Using Only HTML: A First Look at Invokers (uti)1704
modals, pop-overs
My Code Formatting Guidelines (val)1703
guidelines, formatting, conventions, javascript, prettier, configuration
Converting Plain Text to Encoded HTML With Vanilla JavaScript (sma)1702
conversion, javascript
The Biggest Lie in HTML1701
videos
Making Disabled Buttons More Accessible1700
accessibility, buttons, aria
ARIA in HTML (sco+/w3c)1699
standards, accessibility, aria
Don’t Use the “maxlength” Attribute to Stop Users From Exceeding the Limit (ada)1698
attributes, forms, usability
My “Skip to Content” Markup Was Breaking the Back Button on iOS (db)1697
skip-links, accessibility, mobile
The Dos and Don’ts of Using “tabindex” in Web Design (a11)1696
accessibility, keyboard-navigation
Figma Prototypes vs. HTML Prototypes (ada)1695
design, processes, prototyping, figma, comparisons
Faster Websites With the “picture” Element (fra)1694
images, performance
Testing HTML With Modern CSS (hey)1693
css, testing, quality
21 HTML Tips You Must Know About1692
tips-and-tricks
How to Think About HTML Responsive Images (db)1691
how-tos, images, responsive-design
When to Use “tabindex="0"” (gra/tet)1690
accessibility, keyboard-navigation, focus
Svelte Parses HTML All Wrong (ric)1689
svelte, parsing
How-To: 5 Steps to Detect Invalid HTML Breaking Your [Site’s Performance] (erw)1688
how-tos, conformance, performance
Kobold Letters (wed)1687
email, support
On “disabled” and “aria-disabled” Attributes (kit)1686
accessibility, attributes, aria
How Invalid HTML Elements Impact Web Performance (erw)1685
conformance, performance
On Popover Accessibility: What the Browser Does and Doesn’t Do (hdv+)1684
accessibility, pop-overs
Ruby Is Complicated1683
The Problem With Data Attributes for Text Effects (man)1682
custom-data, css, typography, effects
HTML Performance Optimization: Tips for Faster Loading Pages1681
landing-pages, performance, optimization, tips-and-tricks
Distinguishing Between ARIA and Native HTML Attributes (deq)1680
aria, attributes, accessibility, comparisons
Streaming HTML (chr/fro)1679
php, streaming
CSS Button Styles You Might Not Know (dbu)1678
css, buttons
The Quiet, Pervasive Devaluation of Frontend (col)1677
css, craft, career, community
Making Room for Long List Markers With Subgrid (nol)1676
lists, css, grids
Techniques to Break Words (aar)1675
techniques, css, content
An HTML Switch Control (ann+/web)1674
css, forms
YouTube Video Embedding Harm Reduction (jvo)1673
multimedia, embed-code, youtube, privacy
ARIA (Are Ya) Afraid of the Dark? Unmasking Common HTML Monsters to Create Better User Experiences (deq)1672
videos, accessibility, aria, user-experience
Filling Gaps With a Polyfill (jay)1671
polyfills, css, javascript, history
HTML as the Baseline (cfe)1670
progressive-enhancement
“X” Marks the Spot: Landmark Elements (stv)1669
semantics, accessibility, assistive-tech, aria
HTML Attributes That Every Web Developer Should Know1668
attributes, pop-overs, forms, custom-data
Practice Safe DSD With “setHTMLUnsafe” (It’s Complicated) (jar/van)1667
dom, shadow-dom, apis, security
A Highly Configurable Switch Component Using Modern CSS Techniques (bel/pic)1666
css
HTML Web Components on the Server Are Great (sco)1665
web-components
Check for “accesskey” and “aria-keyshortcuts” Bookmarklet (ste)1664
bookmarklets, accessibility, aria, keyboard-shortcuts
Unlocking the Power of HTML’s Native Browser “dialog” Element (ope)1663
modals
Mind the Accessibility Gaps—Most of Accessibility Issues Originate in Design and How to Fix That (cer)1662
accessibility, design, aria
A Call for Consensus on HTML Semantics (5t3)1661
semantics
The Color Input and the Color Picker (chr/fro)1660
colors, usability
Create a Currency Converter With HTML, CSS, and Vanilla JavaScript1659
functionality, css, javascript
Basic Accessibility Mistakes I Often See in Audits (cfe)1658
accessibility, mistakes, auditing, semantics, focus, links, buttons
Web Standards: The Guidelines That Every Developer Should Know1657
standards, history, w3c, css, xml, wcag
Disable Browser Caching With “meta” HTML Tags1656
metadata, caching
Options for “optgroup” Labeling of “options” (ste)1655
accessibility, forms, browsers, screen-readers, support
Using “abbr” Element With “title” Attribute (aar)1654
attributes, accessibility, browsers, assistive-tech, support
Buttons and Links—Common Misconceptions1653
accessibility, semantics, buttons, links
Streaming HTML Out of Order Without JavaScript1652
streaming
Accounting for Internationalization With CSS and HTML (spa)1651
css, internationalization
Why I Like Web Components1650
web-components
Stop Closing Void Elements (j9t)1649
HTML Validation—Pros and Cons1648
conformance
Never Underestimate HTML (lar/mat)1647
user-experience, developer-experience
The Devil Is in the Details: A Look Into a Disclosure Widget Markup (its/mat)1646
disclosure-widgets, css, javascript
“HTML First” Is Not HTML First (j9t)1645
principles, quality, craft
Recapturing Early-Internet Whimsy With HTML (tec)1644
trends, design, art, decoration
The Implied Web (hws/mat)1643
accessibility, semantics
The Road to HTMHell Is Paved With Semantics (pep/mat)1642
semantics, quality
You Might Be Looking for HTML “article”, Not “section” (san)1641
semantics
Revisiting Fundamentals—Semantic Lists for Improved Accessibility (mis/mat)1640
fundamentals, semantics, accessibility
HTML Can Do This?1639
Web Components (may/5t3)1638
web-components, shadow-dom, dom
The Ghosts of Markup Past (tho/mat)1637
web, history
HTML: The Bad Parts (may/mat)1636
Test-Driven HTML and Accessibility (mat)1635
accessibility, testing, javascript
Embrace the Platform (bra)1634
web-platform, css, javascript, resilience, progressive-enhancement, craft
Behavior Belongs in the HTML1633
javascript, principles
“innerHTML” vs. “innerText” vs. “textContent”—What's the Difference? (fre)1632
dom, javascript, comparisons
The “hidden” Attribute in HTML (mat)1631
attributes
Media Queries in HTML Video (aar)1630
multimedia, css, media-queries, accessibility
What the Slot? (dut/mat)1629
web-components, dom, shadow-dom
Security Headers Using “<meta>” (sap/mat)1628
security, csp
“sizes=auto” Pretty Much Requires “width” and “height” Attributes (eee)1627
attributes, images, maintainability
The Hellish History of HTML: An Incomplete and Personal Account (cra/mat)1626
history
Back to Basics: 5 HTML Attributes for Improved Accessibility and User Experience (dni/mat)1625
fundamentals, attributes, accessibility, user-experience
The “form” Attribute—Enhancing Form Layout Flexibility (mat)1624
forms, attributes
The UX of HTML (vas/mat)1623
semantics, user-experience
How to Use Responsive HTML Video (…and Audio!) (sco)1622
how-tos, responsive-design, multimedia
Weird HTML Hacks (ern)1621
css, hacks, techniques, history
Shadow DOM Is for Hiding Your Shame1620
shadow-dom, dom, web-components
The Elevator Pitch for Web Components (cfe)1619
web-components, dom
The 9 HTML Elements That Have an Attribute of the Same Name, or: The 9 Attributes That Have an Element of the Same Name (j9t)1618
attributes
An Attempted Taxonomy of Web Components (zac)1617
web-components
HTML Web Components Are Just JavaScript? (mia/odd)1616
web-components, javascript
Exclusive Accordions Exclude (yat)1615
accessibility, accordions
Using Chrome’s Accessibility Tree for Manual Testing of HTML and ARIA (rus)1614
videos, browsers, chrome, dev-tools, accessibility, testing, aria
HTML Web Components (jim)1613
web-components
HTML First1612
websites, principles
Do You Really Need to Validate Your HTML Code?1611
discussions, conformance
HTML Web Components (ada)1610
web-components, web-platform
Understanding HTML Landmarks and How to Apply Them (its/log)1609
semantics, accessibility, aria
13 HTML Attributes You Should Know About1608
attributes
Removing List Styles Without Affecting Semantics (mat)1607
css, semantics, accessibility
Markdown to HTML in Seconds: Discovering mdhub (gli)1606
markdown, conversion, tooling
The Anatomy of an Accessible Button1605
buttons, accessibility, aria
Don’t Turn a Table Into an ARIA Grid Just for a Clickable Row (aar)1604
tables, grids, aria, accessibility
2023: 0 of the Global Top 100 Websites Use Valid HTML (j9t)1603
css, conformance, metrics, quality
Let’s Reinvent the Wheel (vas)1602
css, user-experience, accessibility, web-platform
HTML vs. DOM? Let’s Debug Them (jec)1601
videos, dom, debugging, comparisons
20 Simple Ways to Style the HTML “details” Element (ral)1600
disclosure-widgets, css
HTML Meta Tags1599
metadata
Splitting Within Selects (aar)1598
accessibility, forms, browsers, support
Tailwind vs. Semantic CSS1597
tailwind, css, semantics, comparisons, performance
Select Element: Now With Horizontal Rules (una)1596
forms, semantics, browsers, chrome, safari, support
Strikethrough Accessibility (den)1595
accessibility, screen-readers, support
Using ChatGPT for Smart Truncation in Responsive Web Design1594
content, responsive-design, ai, chatgpt
Why Unique ID Attributes Matter (deq)1593
accessibility, attributes, conformance
On the Uniting Power of a Commitment to HTML Conformance (j9t)1592
conformance, quality, community, web
Does the HTML “hr” (Horizontal Rule) Benefit Screen Reader Users?1591
accessibility, screen-readers
CSS Findings From Photoshop Web Version (sha)1590
css, photoshop, case-studies
The Selected Date Must Be Within the Last 10 Years (ger/clo)1589
forms, validation
Extending the Properties of an HTML Element in TypeScript1588
components, typescript
An Anchored Navbar Solution (mey)1587
css, navigation
The Most Minimal Valid HTML Document (j9t)1586
minimalism, conformance, templates
Easy Dark Mode With “color-scheme” (sar)1585
slides, dark-mode, css, accessibility
Stop Using JS for That: Moving Features to CSS and HTML (kil)1584
videos, javascript, css
How Mastodon Handles Images and Web Previews (rba)1583
social-media, mastodon, open-graph, metadata, images
HTML Popover, Videos, and “display:blackhole” (bru)1582
pop-overs, videos
Misconceptions Can Kill Accessibility Momentum (yat)1581
accessibility, processes
State of HTML 2023 (sac+/dev)1580
surveys
What Makes an Accessible Date Picker? Is It Even Possible? (rus/inc)1579
videos, accessibility
How to Use the New “<search>” Element With WordPress (ede)1578
how-tos, wordpress
What Can You Do With “data” Attributes? (cfe)1577
custom-data, javascript
State of Web Accessibility, ARIA in HTML, and Missing UI Patterns (tin+/fwo)1576
podcasts, accessibility, aria
Browser Video Players Review (aar)1575
multimedia, accessibility, browsers, screen-readers, support
10 Things You Didn’t Know About HTML1574
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Popovers and How to Build Them (hdv)1573
slides, pop-overs, modals, deep-dives
Small Details to Improve Your Website’s Experience (alv)1572
user-experience, css, metadata
Let’s Make a Rubber Button With HTML, CSS, and SVG (tyl/clo)1571
buttons, css, svg, images
Main-ly Speaking (col)1570
accessibility
XUL and HTML (moz)1569
xul, comparisons
An Intro to the “dialog” Element (cfe)1568
introductions, modals, semantics
Supercharge Your HTML With WebC1567
videos, webc
Progressively Enhanced HTML Accordion (aar)1566
accordions, semantics, accessibility, progressive-enhancement
8 Common Heading Questions (pop)1565
accessibility, headings
Progressively Enhanced Form Validation: HTML and CSS (ger/clo)1564
forms, validation, progressive-enhancement, css
Responsive Images: DIY Implementation in 6 Steps1563
images, responsive-design
A Blog Post With Every HTML Element (pat)1562
semantics
Contextual Form Errors and ARIA (mar)1561
accessibility, forms, aria
I’m Betting on HTML1560
semantics
You Probably Don’t Need “http-equiv” Meta Tags (rvi)1559
metadata, http, performance
Help Design the Inaugural “State of HTML” Survey (lea)1558
community
Blockquotes in Screen Readers (aar)1557
accessibility, screen-readers, support
I Blame the W3C’s HTML Standard for Ordered Lists (sid)1556
lists, semantics
O “dialog” Focus, Where Art Thou? (mat)1555
accessibility, modals, focus
Preload vs. Early Hints vs. Fetch Priority1554
videos, performance, http, hints, comparisons, preloading
All the Places Where You Can Use “prefers-color-scheme” Media Query (ami)1553
css, media-queries, javascript, dark-mode
The Case Against Self-Closing Tags in HTML (jaf)1552
How to Validate HTML On-Line at W3C (wie)1551
how-tos, conformance, tooling
The “article” Element and Screen Readers (mat)1550
screen-readers, accessibility, support
And 4 More HTML Concepts You Didn’t Know (j9t)1549
concepts, web-components
The “details” Element and In-Page Search (mat)1548
disclosure-widgets, search, browsers, user-experience
Under-Engineered Comboboxen? (aar)1547
forms, css, accessibility
Form and Search Landmarks (mat)1546
aria, forms, browsers, assistive-tech, support
What Does the Image “decoding” Attribute Actually Do? (tun)1545
attributes, images, performance
Button Types (ada)1544
buttons
Django: A Security Improvement Coming to “format_html()” (ada)1543
django, security
HTML Imports (w3c)1542
You Can Stop Using “user-scalable=no” and “maximum-scale=1” in Viewport Meta Tags Now1541
viewport, metadata, accessibility, responsive-design
Assume the Position—a Labeling Story (llo/tpg)1540
accessibility, forms, labels
What Is Open Graph? How to Use It for Your WordPress Website?1539
how-tos, open-graph, social-media, wordpress
Semantic Code in HTML: What Is It and Does It Still Matter? (boa)1538
semantics
21 Awesome Web Features You’re Not Using Yet (fir)1537
videos, css, javascript
Brief Note on Popovers With Dialogs (aar)1536
support, accessibility, pop-overs, modals
11 HTML Best Practices for Login and Sign-Up Forms (sit/evi)1535
best-practices, forms
Querying Parsed HTML in BigQuery (rvi)1534
Introducing the Popover API (una)1533
introductions, apis, pop-overs
Be Careful Using “Menu” (aar)1532
aria, design, terminology
How to Build Lean Efficient Websites in 2023 (cfe)1531
how-tos, progressive-enhancement, minimalism
Fieldsets, Legends, and Screen Readers Again (ste/tpg)1530
accessibility, forms, screen-readers
Semantics and the “popover” Attribute: What to Use When? (hdv)1529
attributes, semantics, accessibility, pop-overs
Using HTML Landmark Roles to Improve Accessibility (sch/mdn)1528
accessibility
HTML Landmark Roles Screen Reader Demo (sch/mdn)1527
videos, accessibility, screen-readers, voiceover
Screen Readers Don’t Announce When the User Reaches the “maxlength” Character Limit (sim)1526
accessibility, screen-readers, support
Respect Your Children (ste/tpg)1525
accessibility, aria
How Large DOM Sizes Affect Interactivity, and What You Can Do About It (mal)1524
performance, dom, optimization
Client-Side Rendering of HTML and Interactivity (mal)1523
performance, client-side-rendering
How “x-default” Can Help You (met)1522
internationalization, urls, attributes, search, google
How Far Back in Time Can I Take My Website’s Design1521
web, design, history, css
Short Note: Why Isn’t “role=presentation”/“none” Allowed on Focusable Elements? (ste)1520
accessibility, focus, aria
Considering Content Warnings in HTML (aar)1519
content, dei
“details”/“summary” Inconsistencies (mat)1518
disclosure-widgets, browsers, assistive-tech, support
It’s Very Likely That… (mat)1517
semantics, buttons, modals
The “details” Element Is Amazing (fon)1516
disclosure-widgets
HTML Accessibility API Mappings 1.0 (ste+/w3c)1515
accessibility, apis
HTML Dark Mode (bt)1514
dark-mode
New HTML Element: “search” (alv)1513
semantics
What Is Semantic HTML? (dav)1512
semantics
Five Pieces of Advice for More Accessible Websites (cit)1511
accessibility, tips-and-tricks
Modern HTML Email (Tables No Longer Required) (oll)1510
email, tables
On-Page SEO Checklist: The Complete Task List for 2023 (sem)1509
seo, checklists, semantics
HTML: Help Users to Download Files With the HTML “download” Attribute1508
attributes
Fighting Inter-Component HTML Bloat (eli)1507
components, semantics, quality
Getting Started With HTML Tables1506
tables, introductions
The “search” Element (sco)1505
accessibility, semantics
The End of Front-End Development (jos)1504
outlooks, career
The H1 Conundrum: Understanding the Challenges of Heading Level One1503
accessibility, semantics, headings
Progressively Enhancing a Table With a Web Component (ray)1502
javascript, tables, web-components, progressive-enhancement
File Uploads for the Web: Uploading Files With HTML (aus)1501
file-handling
The Broken Promise of Atomic CSS1500
atomic-css, presentational-html, tailwind, css
A Tab Interface Before Its Time (aar)1499
components
HTML Garden1498
websites, art
50.1% Empty Links (mat)1497
accessibility, links, semantics, seo
Relative Rounded Corners (bel)1496
css
ARIA vs. HTML (aar)1495
accessibility, aria, semantics, comparisons
Avoid Spanning Table Headers (aar)1494
accessibility, assistive-tech, tables
Representation of Style (ste)1493
semantics
A Step-by-Step Guide to Building Accessible Carousels (swe/sma)1492
guides, carousels, accessibility, user-experience
Declarative Shadow DOM (dev+)1491
shadow-dom, dom
Screen Readers Don’t Convey the Semantics of “strong” and “em” (mat)1490
accessibility, screen-readers, semantics
Mastodon and Open Graph (drd)1489
social-media, mastodon, metadata, open-graph
An Introduction to HTML Cheat Sheet1488
introductions, semantics, cheat-sheets
Table of Contents Progress Animation (kev)1487
css, javascript, animations, progress-indicators
Interop 2023 CMS Checkin (chr)1486
interoperability, rss, atom, semantics
Rotating Gallery With CSS Scroll-Driven Animations (jhe)1485
css, javascript, animations, scrolling
What Are HTML5 Semantic Elements?1484
semantics
HTML Input Types (mar)1483
forms
Optimal Images in HTML (ste/bui)1482
images, backgrounds, performance, optimization
Use the Dialog Element (Reasonably) (sco)1481
modals, accessibility
Screen Readers Support for Text Level HTML Semantics (ste/tpg)1480
semantics, screen-readers, support, accessibility
Musing Upon an “[alt]” Text Badge on Images (chr)1479
accessibility, css
The Modern Way of Serving Images (kur)1478
images, performance
If You Need a Link, Don’t Use a Button (tem)1477
semantics, links, buttons, accessibility
Improve Your HTML Semantic With Pico CSS1476
pico
Unordered Lists in Main Navigations (mat)1475
lists, navigation, semantics
Three Attributes for Better Web Forms (ada)1474
forms, attributes
Two Ways to Safely Break a Long Word in HTML (ami)1473
Data URLs and Pool in Your URL (wes)1472
data-urls
Faking Min Width on a Table Column (css)1471
tables, css, responsive-design
Customizing HTML Form Validation (dav)1470
forms, validation
How to Build Great HTML Form Controls (aus/fre)1469
how-tos, forms
7 Required Steps to Secure Your Iframes Security1468
iframes, security, xss, http-headers, csp
Conditional API Responses for JavaScript vs. HTML Forms (aus)1467
javascript, forms, security, comparisons
Theme Toggles1466
websites, theming, toggles, react
Website Accessibility (15 Best Practices) (bru)1465
accessibility, best-practices, content, readability, captcha, images, alt-text, forms, focus, tooling
A Problem With Link Relationships (j9t)1464
links, metadata, semantics, maintainability
Enforcing Better HTML Markup With Eleventy (mat)1463
semantics, conformance, eleventy
A Theory of Web Relativity (alv/mat)1462
metadata, structured-data
Building an Accessible Theme Picker With HTML, CSS, and JavaScript (fos)1461
accessibility, css, javascript, theming, functionality
Common Nesting Issues in HTML (cit/mat)1460
nesting
Interop 2022: End of Year Update (rac)1459
interoperability, web-platform, browsers, css
HTML Dialog (5t3)1458
modals
Mini-Guide to Add an Image (its/mat)1457
images
Modern HTML as a Foundation for Progressive Enhancement (ffo/mat)1456
progressive-enhancement
5 HTML Elements, and a Partridge in a Despair Tree (mat)1455
semantics, accessibility
4 Ways CSS “:has()” Can Make Your HTML Forms Even Better (aus)1454
css, selectors, forms
Get That Marquee AeStHeTiC (dni/mat)1453
css, effects
An HTML-First Mental Model (noa/per)1452
dom, performance
Table Like It’s 2023 (cli/mat)1451
tables
One Day We’ll Have a Fully Customisable Select (hdv/mat)1450
css
There Can Be Only One: Options for Building “Choose One” Fields (aar/mat)1449
forms
Dear Developer, Your Assumptions Are Wrong (mat)1448
Inside the Mind of a Frontend Developer: Article Layout (sha)1447
css, layout
A Modern HTML Template (2022)1446
templates
Meaningful Labels Using ARIA—or Not (mat)1445
accessibility, forms, labels, aria
4 More HTML Concepts You Didn’t Know (j9t)1444
concepts, forms, focus
Brief Note on Description List Support (aar)1443
lists, semantics, accessibility, screen-readers, support
Reading the Meter (sup/mat)1442
semantics, accessibility
Landmarks and Where to Put Them (kil/mat)1441
semantics, aria, accessibility
You Don’t Need ARIA for That (den/mat)1440
accessibility, aria
How to Transfigure Wireframes Into HTML (mat)1439
how-tos, prototyping, conversion
HTML Semantics and Accessibility Cheat Sheet (web)1438
cheat-sheets, semantics, accessibility
Shadow DOM and Accessibility: The Trouble With ARIA (nol)1437
dom, shadow-dom, accessibility, aria
Newer Things to Know About Good Ol’ HTML Lists (dxn/css)1436
lists, semantics
Upgrade Your HTML IV (j9t/fro)1435
books, frontend-dogma, minimalism, craft, conformance
HTML Content Model Categories (rus)1434
semantics
Lazy Loading Images in HTML (sim)1433
performance, lazy-loading
The Shape-Shifting “a” Element (rus)1432
links, semantics
The “label” Element (rus)1431
labels, semantics
Page Title Conventions (ada)1430
accessibility, seo
What Happened to Text Inputs? (hey)1429
videos, forms
Brief Note on “aria-readonly” Support (aar)1428
accessibility, aria, assistive-tech, support
You Don’t Need HTML (ede)1427
websites, web-platform
A Guide to Keyboard Accessibility: HTML and CSS (its/sma)1426
guides, accessibility, keyboard-navigation, css
Dialogs, Modality, and Popovers Seem Similar—How Are They Different? (hdv)1425
semantics, accessibility, modals, pop-overs
Foundations: Native Versus Custom Components (tet)1424
accessibility, fundamentals, components, comparisons
Inside the Mind of a Frontend Developer: Hero Section (sha)1423
css
6 Steps to Improve HTML Images for Users and Developers (aus)1422
images, performance, responsive-design
16 Rare HTML Tags You Really Should Know1421
semantics
HTML and CSS Features, Tips for a 10× Faster Page Loading Speed1420
css, performance, tips-and-tricks
Intro to HTML-First Frontend Frameworks1419
introductions, frameworks
Building a Tooltip Component (arg)1418
components, tooltips, css
The Truth Behind Implicit/Explicit Form Labels1417
forms, labels, accessibility
Common ARIA Mistakes and How to Avoid Them (ale)1416
accessibility, aria, mistakes
Edit Someone Else’s Website: “contenteditable” and “designMode” (aus)1415
Introducing html.to.design (div)1414
introductions, design, figma, plugins, browser-extensions
A Little Semantic HTML Trick for React Components1413
react, semantics, components, tips-and-tricks
HTML 2022: 20 Additional Observations From Analyzing the Web Almanac Data (j9t)1412
metrics, web-almanac
How to Optimize Resource Loading With the “fetchpriority” Attribute (mat/deb)1411
how-tos, performance, optimization
Foundations: HTML Semantics (ihe/tet)1410
accessibility, fundamentals, semantics
When Going Somewhere Does a Thing: On Links and Buttons (kil)1409
accessibility, links, buttons, semantics
Templating in HTML (kit)1408
javascript
GIFs Without the .gif: The Most Performant Image and Video Options Right Now (oll/css)1407
performance, multimedia, images, gif
Named Element IDs Can Be Referenced as JavaScript Globals (css)1406
javascript
Learn HTML (est)1405
courses
Markup (j9t/htt)1404
web-almanac, studies, research, metrics
Streamable HTML Fragments (dev)1403
streaming
Two Things I Learned by Validating My HTML Again1402
conformance, lessons
Quick Reminder: HTML5 “required” and “pattern” Are Not a Security Feature (cod)1401
forms, security
Will Serving Real HTML Content Make a Website Faster? Let’s Experiment!1400
studies, research, performance
A “details” Element as a Burger Menu Is Not Accessible (ger/clo)1399
disclosure-widgets, semantics, accessibility
Brief Note on Super- and Subscript Text (aar)1398
accessibility, support, assistive-tech
How to (Not) Make a Button1397
how-tos, accessibility, buttons, semantics
Why the Number Input Is the Worst Input1396
forms, validation, accessibility
Making Sense of WAI–ARIA: A Comprehensive Guide (sma)1395
guides, accessibility, aria
Wtf Is an Island and Why Is It in My Website?1394
frameworks, architecture, concepts
2022: 0 of the Global Top 100 Websites Use Valid HTML (j9t)1393
css, conformance, metrics, quality, craft
The “details” and “summary” Elements, Again (sco)1392
disclosure-widgets, accessibility
Nuclear Footnotes (mey)1391
footnotes, css
What’s New With Forms in 2022? (oll/css)1390
forms, javascript
Building the Main Navigation for a Website (mat)1389
navigation, css
HTML Markup Tips for Developing Accessible Websites1388
accessibility, aria
A Content Warning Component (kit)1387
components, css
Disabled JavaScript Turns Off Native Lazy Loading (ste)1386
javascript, performance, lazy-loading
Accessible Lists and Tables (pop)1385
accessibility, lists, tables
Beginner’s Guide to Lists and How to Make Them Accessible (pop)1384
guides, lists, accessibility
Don’t Overwrite Visual Labels With “aria-label” (ash)1383
accessibility, aria, labels
Should I Use a Button or a Link? (ash)1382
buttons, links, semantics
Short Note on “figure” and “figcaption” (ste)1381
accessibility
CSS Classes Considered Harmful (kei)1380
css
TIL: You Can Access a User’s Camera With Just HTML (aus)1379
permissions
Creative List Styling (mic)1378
lists, css
Exploring the Underrated “output” Element1377
Table Column Alignment With Variable Transforms (mey)1376
css, tables, transforms, alignment
Tip: Use “fetchpriority=high” to Load Your LCP Hero Image Sooner (add)1375
performance, web-vitals
On Ratings and Meters (lea)1374
semantics, css
Capturing Images and Videos From the Camera of Mobile Devices Using HTML (ami)1373
multimedia, mobile
The Infinite Marquee1372
css, animations, effects
Making a Website Under 1 kB1371
performance, minimalism
Ruby Styling (ri/web)1370
ruby-markup, css
Abbreviations Suck (cfe)1369
accessibility
“<article>” vs. “<section>”: How to Choose the Right One (sma)1368
semantics, comparisons
Roundup of Recent Document Outline Chatter (geo/css)1367
headings, semantics, accessibility
Subheadings, Subtitles, Alternative Titles, and Taglines in HTML (ste/tpg)1366
semantics, headings, microcontent, accessibility
Abbreviations Can Be Problematic (tem)1365
accessibility
Minimal Social Markup (j9t)1364
social-media, open-graph, minimalism
What Is the Best Way to Mark Up an Exclusive Button Group? (lea)1363
semantics, accessibility, aria
What You Need to Know About ARIA and How to Fix Common Mistakes (pop)1362
accessibility, aria, mistakes
Avoiding “<img>” Layout Shifts: “aspect-ratio” vs. “width” and “height” Attributes (jaf)1361
performance, web-vitals, comparisons, attributes, aspect-ratio, css
Why the HTML Outlining Algorithm Was Removed From the Spec—the Truth Will Shock You! (bru)1360
semantics, accessibility
Two Levels of Customising “<selectmenu>” (hdv)1359
accessibility
Best Practices for Images1358
images, best-practices
Farewell to HTML5Rocks1357
community, history
What the Hell Is “<!DOCTYPE html>”?1356
doctypes
Are You Sure That’s a Number Input? (kil)1355
My Wonderful HTML Email Workflow (jos)1354
mjml, markdown, mdx, email, processes
HTML Cheatsheet1353
examples, cheat-sheets
Write HTML Right1352
optimization
Level Up Your Link Previews in Slack (whi)1351
social-media, open-graph, links, slack
8 Shocking HTML Tips You Probably Don’t Know About1350
tips-and-tricks
The “Form” Element Created the Modern Web—Was It a Big Mistake? (wir)1349
forms, history, mistakes
A Perfect Table of Contents With HTML and CSS (nza/css)1348
css
Why Are Iframe Titles Important for Accessibility?1347
accessibility, iframes, writing
HTML Cheat Sheet: A Quick Reference Guide for HTML Developers1346
guides, semantics, examples, cheat-sheets
Making Disabled Buttons More Inclusive (san/css)1345
forms, buttons, focus, aria, attributes, accessibility
Conditionally Loading CSS or Any Resource Using Media Queries (ami)1344
media-queries, performance
Building a Button Component (arg)1343
components, css, javascript, buttons
How the HTML “lang” Attribute Helps Accessibility1342
accessibility, attributes, localization
Don’t Fight the Browser Preload Scanner (mal)1341
browsers, parsing, performance
Divs Are Bad! (mat)1340
semantics
XHTML Syntax Is Still Worth Using (tem)1339
xhtml
Learn HTML [and] CSS (jad)1338
websites, courses, css
What’s Your Heading? (col)1337
accessibility, headings, semantics
Lost in Translation (mat/btc)1336
videos, design, accessibility, css
Please, Stop Disabling Zoom (mat)1335
accessibility, zooming
How to Use Videos With Alpha Transparency on the Web (ben)1334
how-tos, multimedia, transparency+opacity
Under-Engineered Multi-Selects (aar)1333
accessibility, aria
Foundations: Lists (tin/tet)1332
accessibility, fundamentals, lists
Common Frontend Interview Questions I’ve Been Asked1331
interviewing, javascript
The CSS Art Paradox (j9t)1330
css, art, quality
Introducing “inert”1329
introductions, attributes, accessibility, keyboard-navigation
Plain Old Semantic HTML: A Perfect Basis for Accessibility1328
accessibility, semantics
Non-Interactive Elements With the “inert” Attribute (web)1327
attributes, semantics
How Web Browsers Work: Parsing the HTML1326
browsers, parsing
Progressive Enhancement and HTML Forms: Use “FormData” (bra)1325
forms, progressive-enhancement
Does Valid and Semantic HTML Still Matter? (5t3+)1324
podcasts, semantics, conformance
Building a Dialog Component (arg)1323
components, modals, css, javascript
Those HTML Elements You Never Use1322
semantics
How to Turn HTML Webpage Into an Image?1321
how-tos, images, conversion
Designing Better Breadcrumbs (vit/sma)1320
usability, navigation, breadcrumbs
12 Years Beyond a HTML Joke (ste)1319
semantics
Alternative Text (Alt Text) (pop)1318
accessibility, images, writing, alt-text
HTML Is All You Need to Make a Website (whi)1317
“aria-labelledby” Usage Notes (ste)1316
accessibility, aria, labels
Accessible Cards (kit)1315
accessibility, css
How to Match HTML Elements With an Indeterminate State (ste)1314
how-tos, css, selectors
HTML-Only Keyboard Shortcuts (ami)1313
accessibility, keyboard-navigation, keyboard-shortcuts
Picture Perfect Images With the Modern “<img>” Element (add)1312
images, performance, web-vitals
Those HTML Attributes You Never Use (lou/sma)1311
attributes
HTML Semantics (cfe)1310
semantics
Write HTML, the HTML Way (Not the XHTML Way) (j9t/css)1309
xhtml, optimization
The Impact That High Quality Mark-Up Can Have on Accessibility, Performance, and Discoverability1308
videos, accessibility, performance
All HTML and CSS Cheatsheets in One Place1307
css, cheat-sheets
Building a Loading Bar Component (arg)1306
components, css, javascript
How to Automatically Size a Textarea Based on Its [Text] Using Vanilla JavaScript (cfe)1305
how-tos, javascript
The Weirdly Obscure Art of Streamed HTML1304
streaming, performance
Aligning Content in Different Wrappers (sha)1303
css, alignment
It Needs to Map Back to a Role (eri)1302
accessibility, aria, semantics
A Look at the Dialog Element’s Super Powers (ste)1301
modals, javascript
Creating Native Web Components (cod)1300
web-components, javascript
It’s Always Been You, Canvas2D1299
css, canvas, javascript
HTML Tips and Tricks1298
tips-and-tricks
(Not So) Short Note on Being Owned (ste)1297
aria, accessibility
Web Component Pseudo-Classes and Pseudo-Elements Are Easier Than You Think (css)1296
css, web-components
Foundations: Headings (ihe/tet)1295
accessibility, fundamentals, headings, semantics
HTML Comments Work in JavaScript Too1294
javascript, comments
Support for Marking Radio Buttons Required, Invalid (aar)1293
accessibility
Column Headers and Browser Support (aar)1292
accessibility, semantics
There Is No Character Limit for “Alt Text” (yat)1291
accessibility, alt-text, images
How to Create a Search Page for a Static Website With Vanilla JS (cfe)1290
how-tos, functionality, search, javascript
Why Radio Buttons Are Called Radio Buttons in UIs? (ami)1289
semantics, naming
MHTML in Chromium1288
browsers
Replace JavaScript Dialogs With the New HTML Dialog Element (sto/css)1287
modals, semantics
Introducing the Dialog Element (web)1286
introductions, modals
HTML Cheat Sheet—HTML Elements List Reference (fre)1285
semantics, examples, cheat-sheets
24 Lesser-Known HTML Attributes You May Want to Use1284
attributes
How to Convert Markdown to HTML (red)1283
how-tos, markdown, conversion
More to Give Than Just the Div: Semantics and How to Get Them Right (hdv)1282
semantics, accessibility
Context-Aware Web Components Are Easier Than You Think (css)1281
web-components, javascript
Div Divisiveness (sco)1280
semantics
Find HTML Parsing Errors (pat/dev)1279
browsers, dev-tools, parsing, quality
On the Peculiarities of Counting the Number of HTML Elements (j9t)1278
Boolean Attributes in HTML and ARIA: What’s the Difference? (hdv)1277
attributes, aria
Alt Tag Emptiness (ste)1276
accessibility, images, alt-text, aria
HTML Is General, ARIA Is Specific (dav)1275
aria
Labeling the Point: Scenarios of Label Misuse in WCAG (tpg)1274
accessibility, forms, labels, wcag
Accessible Heading Structure (ria)1273
accessibility, headings
Faster Websites by Using Less HTML (j9t)1272
cross-posts, performance, optimization, minimalism
Container Queries (5t3)1271
css, container-queries
Form Autocomplete (ben/5t3)1270
forms
How to Define Your Relationship to Sites You Link To (ste)1269
how-tos, links, semantics, seo
Image Display Elements (5t3)1268
images, responsive-design
5 Common Misconceptions About WAI–ARIA and Accessibility1267
accessibility, aria
HTML Cheat Sheet1266
semantics, examples, cheat-sheets
Ultimate HTML Cheatsheet1265
cheat-sheets
4 HTML Concepts You Didn’t Know (j9t)1264
concepts, tables
CSS Can Help Improve Your HTML!? Buttons and Links1263
css, buttons, links, accessibility
Details/Summary (5t3)1262
semantics, disclosure-widgets
Embrace the Platform (bra/css)1261
css, javascript, web-platform
How Not to Create a Button (eev)1260
buttons, accessibility