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