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