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 respect and accountability. Hide

Frontend Dogma

“html” News Archive (2)

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