Why I Built a Semantic HTML First Library (kar )Jul 20, 2026 2215 libraries , components , semantics Use Cases for “aria-expanded” (stv /pic )Jul 16, 2026 2214 attributes , aria , accessibility , examples Protecting HTML Content Against Copying (jsd )Jul 14, 2026 2213 css , javascript , canvas , obfuscation , techniques , comparisons Recreating a 1990 Book Cover (in HTML and CSS) (blo )Jul 13, 2026 2212 css HTML in Canvas: Render Real DOM Inside “<canvas>” Jul 13, 2026 2211 canvas , javascript “focusgroup” Tests (aar )Jul 5, 2026 2210 attributes , focus , chrome , google , browsers , examples , accessibility On the Semantic Web (kar )Jul 1, 2026 2209 semantics , buttons , forms What’s !important #14: Gap Decorations, “random()”, “<select>” Field Sizing, and More (dxn /css )Jun 30, 2026 2208 css , retrospectives , functions , theming , web-platform Clickable Table Rows Are a Bad Idea (tem )Jun 30, 2026 2207 tables , accessibility , keyboard-navigation Modes and Themes That Stick—Building a Persistent Toggle Solution (stu )Jun 30, 2026 2206 toggles , forms , dark-mode , theming , flash-of-x React’s Architectural Accessibility Gaps Jun 30, 2026 2205 react , accessibility , wcag Introducing the “<usermedia>” HTML Element Jun 29, 2026 2204 introductions , chrome , google , browsers Building an Accessible Modal Dialog on the Native “<dialog>” Jun 24, 2026 2203 modals , accessibility , typescript Animating the “dialog” Element Using View Transitions (rik )Jun 23, 2026 2202 modals , animations , view-transitions , javascript , css I Stored a Website in a Favicon Jun 19, 2026 2201 favicons , images , experiments The Siren Song of “ariaNotify()” (wil /css )Jun 17, 2026 2200 javascript , aria , notifications , attributes , jaws , nvda , voiceover , screen-readers , accessibility The Golden Rule of Customizable “select” (sar /web )Jun 15, 2026 2199 forms , safari , apple , browsers Dark Mode With Web Standards (oll )Jun 12, 2026 2198 dark-mode , standards , javascript , svg , css “headingoffset” Is Not the Document Outline Algorithm (aar )Jun 11, 2026 2197 attributes , headings Semantica11y—Semantic HTML for Everyone (ste )Jun 11, 2026 2196 packages , semantics , accessibility How Building an HTML-First Site Doubled Our Users Overnight (moh )Jun 10, 2026 2195 web-components , validation , traffic , case-studies WWDC26: Rediscover the HTML “select” Element Jun 8, 2026 2194 videos , forms , css WWDC26: Get Started With the HTML “model” Element Jun 8, 2026 2193 videos , introductions , animations Streaming HTML (oll )Jun 5, 2026 2192 streaming , javascript Another Stab at the Perfect CSS Pie Chart… Sans JavaScript (vil /css )Jun 4, 2026 2191 css Astro: HTML First, JavaScript When You Need It (jad )Jun 3, 2026 2190 astro , javascript Context-Aware Headings in HTML (mat )Jun 3, 2026 2189 headings , attributes Gary Illyes: The Web’s JavaScript Mess Is an AI Agent Nightmare (ppc )Jun 1, 2026 2188 ai , ai-agents , javascript , rag , llmstxt Re: Accessibility Question: Is Nesting Interactive Elements Bad? (aar )May 29, 2026 2187 accessibility , nesting Accessible (I Think) Split-Cell Table Headers (mey )May 28, 2026 2186 css , tables Managing Anchor Associations With Data Attributes and Advanced “attr()” (dxn /fro )May 27, 2026 2185 anchor-positioning , custom-data , css , functions , attributes Lost, Forgotten, and Unfamiliar HTML (tho )May 27, 2026 2184 attributes Not Every Form Field Needs to Be in a Fieldset (jea )May 24, 2026 2183 forms , design-systems , accessibility What’s New in Web UI (una +)May 22, 2026 2182 videos , web-platform , user-experience , principles , canvas , css , google Don’t Put “aria-label” on Generic Elements Like Divs (mat )May 22, 2026 2181 attributes , aria , screen-readers , support , accessibility Accessible by Design: HTML, CSS, JavaScript, and ARIA Techniques That Scale May 21, 2026 2180 videos , accessibility , css , javascript , aria Declarative Partial Updates (tun +)May 19, 2026 2179 apis , chrome , google , browsers Introducing the HTML-in-Canvas API Origin Trial (nma )May 19, 2026 2178 introductions , canvas , apis , origin-trials , chrome , google , browsers A Few Ways of Specifying Per-Theme Colours in Only CSS May 16, 2026 2177 css , dark-mode , colors , techniques You Don’t Know HTML Lists May 13, 2026 2176 lists , semantics hihtml (j9t )May 13, 2026 2175 packages , npm , conformance , links , link-rot , minification , html-minifier , optimization , quality Install Web Apps With the New HTML “install” Element (pat )May 12, 2026 2174 web-apps , installing , origin-trials , chromium Not All Hidden Content Is Equal: How Different Hiding Methods Impact Accessibility May 12, 2026 2173 accessibility , hiding , css , aria , attributes , techniques , comparisons AI and HTML: Validating, Omitting Optional Code, and Minifying as Token Optimization (j9t )May 12, 2026 2172 ai , token-optimization , conformance , minimalism , minification , optimization In-n-Out-Styling With Chris Coyier (chr /sma )May 11, 2026 2171 videos , css The “<selectmenu>” Element: Stop Using JavaScript Dropdown Libraries May 10, 2026 2170 forms , javascript , css Out With the JS, in With the HTML (jim )May 10, 2026 2169 javascript , refactoring Using Claude Code: The Unreasonable Effectiveness of HTML May 8, 2026 2168 claude , anthropic , ai , efficiency HTML.md (j9t )May 6, 2026 2167 documentation , ai What’s !important #10: HTML-in-Canvas, Hex Maps, E-Ink Optimization, and More (dxn /css )May 1, 2026 2166 css , retrospectives , canvas , apis , images , web-platform ARIA Roles and Web Accessibility: A Quick Guide (lev )Apr 30, 2026 2165 guides , accessibility , aria , attributes Hard to Read One-Liners (kri )Apr 28, 2026 2164 css , collaboration The End of Responsive Images (wil /pic )Apr 23, 2026 2163 images , responsive-design Visual Validation Feedback for Form Fields (aar )Apr 22, 2026 2162 forms , validation , javascript The Web Is Fun Again: First Experiments With HTML in Canvas (ami /fro )Apr 21, 2026 2161 experiments , canvas , javascript Multi-Level Navigation: The Challenge of Identifying Parent Sections for Screen Readers (ele )Apr 21, 2026 2160 navigation , aria , screen-readers , accessibility A11y 101: 3.1.1 Language of Page (nat )Apr 20, 2026 2159 introductions , accessibility , wcag , localization My Thoughts on the “focusgroup” Attribute Proposal (stv )Apr 20, 2026 2158 forms , focus , attributes Video as Code: A Deep Dive Into HeyGen’s Hyperframes Apr 19, 2026 2157 deep-dives , multimedia , css , tooling The Radio State Machine (ami /css )Apr 14, 2026 2156 css , state-management The Community Has Spoken, Now We Need Browsers Vendors to Help: A “<rangegroup>” Update (uti )Apr 14, 2026 2155 community , browsers Why AI Sucks at Front End (arg )Apr 12, 2026 2154 ai , css How to Use Standard HTML Video and Audio Lazy-Loading on the Web Today (sco )Apr 7, 2026 2153 how-tos , multimedia , lazy-loading , performance Old Advice: Hiding Content Has No Effect on Accessible Name or Description Calculation (ste )Apr 7, 2026 2152 accessibility , hiding , aria Making Emojis and Icons Screen Reader Accessible (pop )Apr 1, 2026 2151 emoji , icons , images , accessibility , screen-readers Semantic HTML Just Might Make Your CSS Less Fragile (sch )Mar 30, 2026 2150 css , semantics , resilience There’s No Need to Include “Navigation” in Your Navigation Labels (tem )Mar 30, 2026 2149 accessibility , labels , navigation Mike Smith Fireside (ste )Mar 29, 2026 2148 videos , interviews , standards , accessibility , community Headings the Right Way: Site Building Tips for Accessible Page Content (dru )Mar 29, 2026 2147 videos , headings , accessibility Bad Example: Timesheet Submit Button (rac )Mar 27, 2026 2146 buttons , accessibility Tooltips That Work for Everyone (ele )Mar 25, 2026 2145 tooltips , accessibility , aria , attributes , screen-readers , nvda , jaws Quick Tip: Don’t Use “<abbr>” (nat )Mar 20, 2026 2144 tips-and-tricks , screen-readers , support , accessibility Astro: How to Set Up More Powerful HTML Minification (in 31 Seconds) (j9t )Mar 17, 2026 2143 how-tos , astro , html-minifier , minification , optimization New Bookmarklet—Structure Revealer (llo )Mar 13, 2026 2142 bookmarklets , accessibility Abusing Customizable Selects (pat /css )Mar 11, 2026 2141 forms , css , functions The Enforced Accessibility of the “geolocation” Element (chr /fro )Mar 9, 2026 2140 geolocation , accessibility Testing Browser Support for “focusgroup” (ada )Mar 9, 2026 2139 attributes , focus , javascript The Different Ways to Select “<html>” in CSS (dxn /css )Mar 5, 2026 2138 css , selectors You Don’t Know HTML Tables Mar 5, 2026 2137 tables , javascript Request for Developer Feedback: “focusgroup” (jac )Mar 5, 2026 2136 attributes , focus , chromium , browsers Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat )Mar 4, 2026 2135 skip-links , attributes , accessibility 1995: From Batman Forever’s Cinematic Design to HTML Tables (ric )Mar 3, 2026 2134 web , history , design , netscape , mosaic , browsers , tables , layout , wysiwyg , code-editors Figcaptions Versus Alt Text (tem )Feb 28, 2026 2133 images , alt-text , accessibility , comparisons You Can Use Newline Characters in URLs (lem )Feb 28, 2026 2132 urls , data-urls , links , attributes “role=presentation” Is No Alternative for “aria-hidden=true” (mat )Feb 27, 2026 2131 accessibility , aria , attributes , comparisons When Is a Link Not a Link? (dec )Feb 25, 2026 2130 links , semantics , accessibility Matt May Speaks (mat +)Feb 23, 2026 2129 videos , interviews , accessibility , standards “aria-haspopup” Might Not Do What You Think It Does (mat )Feb 23, 2026 2128 aria , attributes , navigation , accessibility Standard HTML Video and Audio Lazy-Loading Is Coming (sco )Feb 22, 2026 2127 multimedia , lazy-loading , standards , performance Native HTML Components Don’t Guarantee Good UX (ada )Feb 22, 2026 2126 components , user-experience The Problem With HTML Reset Buttons (ada )Feb 22, 2026 2125 buttons , user-experience An Official* Logo for HTML (zac )Feb 20, 2026 2124 Everything You Never Wanted to Know About “visually-hidden” (dbu )Feb 20, 2026 2123 css , hiding , accessibility Notes on Relying on the ARIA Authoring Practices Guide (ste )Feb 19, 2026 2122 aria , accessibility Mastering Dialog Accessibility Feb 12, 2026 2121 accessibility , modals , aria You Might Not Need “role="presentation"” (stv /pic )Feb 12, 2026 2120 aria , accessibility Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev )Feb 12, 2026 2119 tables , scrolling , performance , react You Know What? Just Don’t Split Words Into Letters (aar )Feb 10, 2026 2118 accessibility , screen-readers , support Trying to Make the Perfect Pie Chart in CSS (mon /css )Feb 9, 2026 2117 css How to Improve Your HTML Game (j9t )Feb 5, 2026 2116 how-tos , conformance , learning , career Introduction to the New HTML Element “<geolocation>” (mat )Feb 4, 2026 2115 introductions , geolocation Accessible Inline Collapsible (eri )Feb 2, 2026 2114 accessibility , disclosure-widgets Repeatable Form Fields Made Simple (aar )Jan 31, 2026 2113 forms , web-components More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw )Jan 27, 2026 2112 examples SPAs Are a Performance Dead End (yeg )Jan 25, 2026 2111 single-page-apps , performance Barriers From Links With ARIA (aar )Jan 22, 2026 2110 accessibility , links , aria I Learned the First Rule of ARIA the Hard Way (css )Jan 21, 2026 2109 accessibility , aria , semantics Faking a Fieldset-Legend (tyl /clo )Jan 20, 2026 2108 forms , css SEO (htt )Jan 15, 2026 2107 web-almanac , studies , research , metrics , seo , robotstxt , llmstxt , links , content , structured-data , amp , internationalization Accessible Faux-Nested Interactive Controls (eri /pic )Jan 15, 2026 2106 accessibility , conformance , nesting The Incredible Overcomplexity of the Shadcn Radio Button (pau )Jan 15, 2026 2105 forms , shadcn , complexity EPUB and HTML—Survey Results and Next Steps (rei /w3c )Jan 14, 2026 2104 surveys , epub So You Think Your Website Is Doing Great (cit )Jan 14, 2026 2103 javascript , css , quality ARIA Roles Can Remove Their Children’s Semantics (ste )Jan 13, 2026 2102 aria , semantics , accessibility Introducing the “<geolocation>” HTML Element (tom +)Jan 13, 2026 2101 introductions , geolocation , chrome , google , browsers A Polyfill for the HTML “switch” Element (tom )Jan 12, 2026 2100 forms , polyfills What Is the Minimum Markup Needed to Create a Modal? (rus )Jan 10, 2026 2099 modals , minimalism , css , accessibility Very Good Components (bee )Jan 8, 2026 2098 websites , components How Browsers Work (dmy )Jan 4, 2026 2097 websites , guides , browsers , urls , http , tcp , dom How Can You Tell What’s Allowed Inside Each HTML Element? (rus )Dec 31, 2025 2096 conformance HTML Content Categories (rus )Dec 30, 2025 2095 semantics The Final Nail in the HTML5 Document Outline Coffin (tem )Dec 29, 2025 2094 headings , accessibility Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch )Dec 29, 2025 2093 modals Revisiting HTML Streaming for Modern Web Performance (per )Dec 26, 2025 2092 performance , streaming The Three Semantics of HTML (mat )Dec 24, 2025 2091 semantics For the Love of “<details>” (dev /mat )Dec 23, 2025 2090 disclosure-widgets The HTML Elements Time Forgot (val /mat )Dec 22, 2025 2089 history 2026 Predictions: The Next Big Shifts in Web Accessibility (web )Dec 22, 2025 2088 accessibility , outlooks , ai , wcag The Two Most Important Tools for HTML Developers Dec 22, 2025 2087 tooling , conformance , minification , html-minifier , htmlnano , swc Why “role="button"” on a “<button>” Does Nothing (rus )Dec 22, 2025 2086 buttons , attributes , aria Styling by Language: Using the “lang” Attribute for Multilingual Design (mat )Dec 21, 2025 2085 internationalization , css Did You Know Some ARIA Roles Remove Child Semantics? (rus )Dec 21, 2025 2084 aria , semantics , accessibility The Many Lives of the Page Title (kat /mat )Dec 20, 2025 2083 user-experience , accessibility , wcag Semantics Beyond the Tag Name (kno /mat )Dec 19, 2025 2082 attributes , aria , semantics , accessibility Targeting by Reference in the Shadow DOM (mey )Dec 19, 2025 2081 shadow-dom , javascript The Anatomy of an Accessible Text Field (ink )Dec 19, 2025 2080 forms , accessibility , labels Accessibility Is Personal (css )Dec 19, 2025 2079 accessibility Forms Are a Badly Designed Part of HTML (jen /mat )Dec 18, 2025 2078 forms , standards Don’t Leave the Screen Reader Hungry (ger /mat )Dec 17, 2025 2077 emoji , screen-readers , accessibility How “aria-labelledby” Really Works (rus )Dec 17, 2025 2076 accessibility , aria , attributes State of HTML 2025 [Results] (sac /dev )Dec 16, 2025 2075 surveys , metrics Giving Pages a Clear Shape by Using Headings (mat )Dec 16, 2025 2074 headings Does Chrome Get the “<header>” Element Wrong? (rus )Dec 16, 2025 2073 aria , chrome , google , browsers I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim )Dec 15, 2025 2072 migrating , ai , python , javascript , tooling , parsing Them’s the Breaks (tyl /mat )Dec 15, 2025 2071 The “<time>” Element Should Actually Do Something (nol )Dec 14, 2025 2070 time , semantics Hell Is Other People’s Markup (llo /mat )Dec 13, 2025 2069 auditing , tooling Changes in the World of HTML Minifiers (apo )Dec 13, 2025 2068 tooling , minification , html-minifier Why We Teach Our Students Progressive Enhancement (cyd )Dec 13, 2025 2067 progressive-enhancement , css , javascript , training How HTML Changes in EPUB (rob /mat )Dec 11, 2025 2066 epub , standards A11y Freedom Beaver (ste /mat )Dec 10, 2025 2065 accessibility , aria Useful Patterns for Building HTML Tools (sim )Dec 10, 2025 2064 ai , tooling Discover Dialog (sar /mat )Dec 9, 2025 2063 modals , javascript , css That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css )Dec 8, 2025 2062 css , learning What’s Wrong With This HTML, and Is It Valid? (pat /mat )Dec 8, 2025 2061 standards , conformance , web-platform Comparing HTML Minifiers (j9t )Dec 8, 2025 2060 minification , tooling , html-minifier , htmlnano , metrics , comparisons Controlling Dialogs and Popovers With the Invoker Commands API (sta /mat )Dec 7, 2025 2059 modals , pop-overs , apis , attributes Accessible by Design: The Role of the “lang” Attribute (col /mat )Dec 6, 2025 2058 accessibility , internationalization , attributes , metrics NoLoJS: Reducing the JS Workload With HTML and CSS (aar /per )Dec 6, 2025 2057 disclosure-widgets , forms , modals , pop-overs , navigation , scrolling , positioning IDREFs: What They Are and How to Use Them (kil /mat )Dec 5, 2025 2056 forms , aria , accessibility Referencing HTML Elements Inside Shadow DOM (meh /mat )Dec 4, 2025 2055 shadow-dom , web-components HTML Semantics: The Short Descriptions of All 113 Elements (j9t )Dec 3, 2025 2054 semantics , overviews Using the Ancient Evils for Debugging (bol /mat )Dec 2, 2025 2053 debugging Exploring Large HTML Documents on the Web (per )Dec 2, 2025 2052 performance , metrics How Modern Browsers Work (add )Nov 29, 2025 2051 browsers , chromium , network , parsing , painting , rendering , javascript-engines , v8 , memory , modules , javascript , css Eleventy: How to Set Up Effective HTML Minification (in 24 Seconds) (j9t )Nov 28, 2025 2050 how-tos , eleventy , html-minifier , minification , optimization What Are Invokers? Interactivity Without JavaScript (tol /syn )Nov 26, 2025 2049 videos , javascript , pop-overs Testing Methods: Page Titled (dec )Nov 19, 2025 2048 accessibility , wcag , testing A Complete Guide to the HTML Number Input (oll )Nov 14, 2025 2047 guides , attributes , forms “::details-content”: Style Expandable Content Without Wrapper Divs (tre )Nov 11, 2025 2046 disclosure-widgets , css Why Headings Are Important in HTML: Structure, Accessibility, and SEO Nov 11, 2025 2045 headings , accessibility , seo Headings: Semantics, Fluidity, and Styling—Oh My! (geo /css )Nov 10, 2025 2044 headings , css Link vs. Button: Choosing the Right Element for the Right Job (tpg )Nov 10, 2025 2043 links , buttons , accessibility , wcag , comparisons Tailwind CSS Won the War… but We’re the Losers Nov 7, 2025 2042 tailwind , css , web-platform Explaining the Accessible Benefits of Using Semantic HTML Elements (geo /css )Nov 6, 2025 2041 semantics , accessibility Now Available: “On Web Development II”! (j9t )Nov 6, 2025 2040 books , css , engineering-management , maintainability , quality Just Use a Button (cfe )Oct 31, 2025 2039 buttons , semantics HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool Oct 30, 2025 2038 minification , tooling , windows , asp-net , retrospectives Parenthetical Asidenotes (mey )Oct 28, 2025 2037 css ChatGPT Sez Build With Semantics First (ste )Oct 28, 2025 2036 chatgpt , chatgpt-atlas , ai , openai , browsers , semantics , accessibility Don’t Forget These Tags to Make HTML Work Like You Expect (jim )Oct 26, 2025 2035 What’s an Interactive Element? (mat )Oct 24, 2025 2034 focus , concepts Challenging the Idea of “Optional HTML” (mar )Oct 22, 2025 2033 guest-posts , minimalism Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod /wea )Oct 21, 2025 2032 css , javascript , links What State ARIA In? (tpg )Oct 20, 2025 2031 aria , accessibility Implicit Labels Aren’t (cfe )Oct 17, 2025 2030 forms , labels Headers, Headings, and Titles (tem )Oct 17, 2025 2029 headings , comparisons , terminology Page Headings Don’t Belong in the Header (tem )Oct 15, 2025 2028 headings , skip-links , accessibility A Look Into Customizable HTML “select” Elements Oct 15, 2025 2027 forms , css Tables: Beyond Rows and Columns (tpg )Oct 13, 2025 2026 accessibility , wcag , tables , semantics , jaws , nvda , screen-readers HTML “dialog”: Getting Accessibility and UX Right (jar )Oct 13, 2025 2025 modals , scrolling , accessibility , user-experience HTML—the Most Difficult Programming Language in the World (j9t )Oct 9, 2025 2024 programming , conformance , professionalism Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr /fro )Oct 7, 2025 2023 css , animations , scrolling , effects When to Use Modal vs. Dialog Components (a11 )Oct 7, 2025 2022 modals , aria , accessibility Lowriders and Websites (aaa )Oct 6, 2025 2021 css , craft Rethinking Cookie Dialogs (nat )Oct 6, 2025 2020 accessibility , disclosure-widgets , cookies , consent-management A Progressive Enhancement Challenge (chr /fro )Oct 3, 2025 2019 progressive-enhancement , javascript , feature-detection , support How to Optimize Viewport for Mobile for Faster Interactions (deb )Oct 1, 2025 2018 how-tos , viewport , mobile , performance , optimization Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg )Oct 1, 2025 2017 accessibility , wcag , conformance HTML’s Best Kept Secret: The “<output>” Tag (den )Oct 1, 2025 2016 Let’s Play Accordion With the HTML “details” Element (ale )Sep 27, 2025 2015 disclosure-widgets , accordions Creating a Truly Accessible Flip Card (sib /tpg )Sep 24, 2025 2014 css , javascript , accessibility Web Development for Beginners: Creating Web Pages via HTML (rau )Sep 23, 2025 2013 fundamentals , urls , servers , forms The “picture” Element (kev )Sep 18, 2025 2012 A Quick Primer on Accessible Pagination (kar )Sep 17, 2025 2011 introductions , accessibility , pagination , css , assistive-tech “aria-label” or “title”? Screen Reader Behaviour Explained (a11 )Sep 15, 2025 2010 attributes , accessibility , screen-readers Navigating the World of Web Accessibility With Sara Soueidan (sar +)Sep 12, 2025 2009 videos , interviews , accessibility , wcag , aria , css 2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t )Sep 10, 2025 2008 conformance , metrics , quality , craft Just Use HTML (cfe )Sep 10, 2025 2007 javascript Baby Steps Accessibility—Page Titles (dec )Sep 10, 2025 2006 microcontent , best-practices , accessibility Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn )Sep 8, 2025 2005 single-page-apps , usability , accessibility , seo , semantics Screen Reader HTML Support—Lookup (ste )Sep 7, 2025 2004 screen-readers , accessibility , support , overviews Your Images Are (Probably) Oversized Sep 5, 2025 2003 images , pixel-density Why Did I Ever Abandon HTML/CSS? (syl )Sep 2, 2025 2002 css Tricks to Write HTML and CSS 10× Faster (jay )Aug 29, 2025 2001 css , efficiency , tips-and-tricks You No Longer Need JavaScript (reb )Aug 28, 2025 2000 javascript , css , examples Opening a “details” Element From the URL (chr /fro )Aug 26, 2025 1999 disclosure-widgets , urls Hack to the Future—Frontend (the )Aug 26, 2025 1998 history , css , javascript , design , layout , flash , image-replacement , libraries , frameworks , hacks , xhtml , tooling , testing , outlooks How to Create an Accessible Table With Clickable Rows (ale )Aug 25, 2025 1997 how-tos , tables , accessibility Design Hacks From the Pre-CSS Era (den /hac )Aug 22, 2025 1996 tables , layout , hacks , history A Proposal for Inline LLM Instructions in HTML Based on llms.txt (ind )Aug 20, 2025 1995 ai , llmstxt The First Rule of ARIA (nat )Aug 18, 2025 1994 accessibility , aria , principles Covering “hidden=until-found” (geo /css )Aug 15, 2025 1993 hiding 5 Heading Accessibility Issues to Avoid (pop )Aug 11, 2025 1992 accessibility , headings A Progressive Complexity Manifesto (che )Aug 10, 2025 1991 manifestos , complexity , web-apps , htmx , javascript , web-components , frameworks , principles HTML Popovers Shown on Interest Should Be Accessible on Mobile Devices (uti )Aug 7, 2025 1990 pop-overs , mobile , usability HTML Is Dead, Long Live HTML (unc )Aug 6, 2025 1989 css , dom , standards , metrics When HTML Speaks Clearly Aug 6, 2025 1988 accessibility , conformance , semantics A Few Things About the Anchor Element’s “href” You Might Not Have Known (jim )Aug 3, 2025 1987 attributes , links , data-urls More Than Just Text: The Real Power of Labels (tpg )Jul 31, 2025 1986 accessibility , labels , forms HTML-First, Framework-Second: Is JavaScript Finally Growing Up? Jul 29, 2025 1985 javascript , frameworks Web Components: Working With Shadow DOM (sma )Jul 28, 2025 1984 web-components , shadow-dom , dom The “figcaption” Problem (chr /fro )Jul 24, 2025 1983 css Why and How to Write Minimal and Valid HTML, a Link Guide (j9t )Jul 24, 2025 1982 minimalism , conformance , how-tos , guides , link-lists State of HTML 2025 Now Open (lea )Jul 22, 2025 1981 surveys How Semantics and ARIA Attributes Support Accessible Design (tpg )Jul 22, 2025 1980 accessibility , semantics , aria , attributes Super Short Note: Placeholder Perfidy (ste )Jul 21, 2025 1979 accessibility , placeholders Why Semantic HTML Still Matters (jon )Jul 21, 2025 1978 semantics A Label and a Name Walk Into a Bar (ste )Jul 14, 2025 1977 accessibility , labels , concepts , examples Why I’m Writing Pure HTML and CSS in 2025 Jul 14, 2025 1976 css Screen Reader HTML Support Tables (ste /tet )Jul 10, 2025 1975 support , screen-readers , jaws , nvda HTML Minifier Next (a Maintained Fork of HTML Minifier) (j9t )Jul 9, 2025 1974 html-minifier , minification , optimization , tooling HTML Day 2025 (htm )Jul 7, 2025 1973 awareness-days What Is “popover=hint”? (una )Jul 7, 2025 1972 attributes , pop-overs Shadow DOM: The Ultimate Solution for Embedding Third-Party HTML Without CSS Conflicts Jul 2, 2025 1971 shadow-dom , dom , css Custom Select (That Comes Up From the Bottom on Mobile) (chr /fro )Jul 1, 2025 1970 forms , css , animations , progressive-enhancement , mobile Tabindex: What It Is, How It Works, and When to Use It (pop )Jul 1, 2025 1969 focus , keyboard-navigation , accessibility Google: Many Top Sites Have Invalid HTML and Still Rank (mat /sea )Jun 30, 2025 1968 google , conformance , quality , seo A Step Into the Spatial Web: The HTML Model Element in Apple Vision Pro (zac /web )Jun 26, 2025 1967 spatial-web , apple , xr The Mythical Magical Button (cri )Jun 24, 2025 1966 buttons , css , custom-properties , custom-data Know Your HTML (Yes, TSX Included) (hel )Jun 23, 2025 1965 semantics , accessibility CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma )Jun 19, 2025 1964 css , cascade , bem , presentational-html Selfish Reasons for Building Accessible Uis (nol )Jun 16, 2025 1963 accessibility , debugging , testing What I Wish Someone Told Me When I Was Getting Into ARIA (eri /sma )Jun 16, 2025 1962 accessibility , aria , assistive-tech , support Having “figure” Match Width of Contained Image (jef )Jun 13, 2025 1961 css , images Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec )Jun 12, 2025 1960 attributes , security , xss , escaping , chrome , google , browsers Why Visual Website Builders Didn’t Take Off (whi )Jun 12, 2025 1959 videos , code-editors , wysiwyg , history HTML Spec Change: Escaping “<” and “>” in Attributes (sec )Jun 12, 2025 1958 attributes , escaping , security , xss Is HTML Not a Programming Language? Jun 11, 2025 1957 programming Creating an Auto-Closing Notification With an HTML Popover (pre /css )Jun 9, 2025 1956 notifications , pop-overs ARIA/HTML Relationship Severance (ste )Jun 7, 2025 1955 accessibility , aria The “<output>” Element (kev )Jun 6, 2025 1954 “aria-selected”: Practical Examples and Use Cases (flo /a11 )Jun 5, 2025 1953 accessibility , aria , examples HTML-Native Accordions (cfe )Jun 5, 2025 1952 accordions How to Use ARIA Roles and Properties Effectively Jun 4, 2025 1951 how-tos , aria , accessibility Getting Creative With HTML Dialog (mal /css )Jun 3, 2025 1950 modals HTML Only Experiments (ala )May 30, 2025 1949 websites , experiments Up and Coming ARIA (web )May 30, 2025 1948 accessibility , aria The “col” Element (hey )May 29, 2025 1947 tables , semantics The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t )May 27, 2025 1946 minimalism , maintainability What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale )May 26, 2025 1945 css , conditional-comments , lessons Decorative Text Within HTML (ede )May 25, 2025 1944 attributes , css , formatting Making Scannable Web Pages for Assistive Technology (jar )May 23, 2025 1943 accessibility , assistive-tech , design , headings , semantics The “datalist” Element (kev )May 22, 2025 1942 forms Styling the Icon for HTML Date and Time Types (cas )May 21, 2025 1941 forms , css , time The “caption” Element (hey )May 20, 2025 1940 tables , semantics Expanding/Collapsing With “details” (ons /oze )May 17, 2025 1939 accessibility , disclosure-widgets Is There a Correct Answer? Flipping Layouts When Google Translate Swaps Between a Left-to-Right Language and a Right-to-Left Language (chr /fro )May 16, 2025 1938 internationalization , localization , conversion How Often Should We Speak About HTML Conformance? (j9t )May 14, 2025 1937 conformance , metrics Just Fucking Use HTML (kyr )May 12, 2025 1936 websites Enhancements to the Proposed “<permission>” Element (tom )May 12, 2025 1935 Foundations: Keyboard Accessibility (tet )May 9, 2025 1934 fundamentals , accessibility , keyboard-navigation , focus The True Path to Garbage Code: Figma Sites (joe )May 9, 2025 1933 figma , quality , semantics , accessibility The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo /a11 )May 6, 2025 1932 accessibility , aria , best-practices K.I.S.S. ARIA (nat )May 5, 2025 1931 aria , accessibility The “code” Element (hey )May 5, 2025 1930 markdown Revisiting Image Maps (mal /css )Apr 30, 2025 1929 images , image-maps , techniques The “cite” Element (hey )Apr 30, 2025 1928 semantics Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr /fro )Apr 29, 2025 1927 maintainability Anchor Positioning Just Don’t Care About Source Order (geo /css )Apr 28, 2025 1926 css , anchor-positioning , source-order Giving Software Away for Free (sim )Apr 28, 2025 1925 foss , hosting , javascript Menu and Navigation: The Difference (stv )Apr 28, 2025 1924 navigation , pagination , aria , accessibility The “canvas” Element (hey )Apr 28, 2025 1923 canvas , semantics Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code Apr 25, 2025 1922 accessibility , semantics , community HTML Oddities: Does the Order of Attribute Values Matter? (ede )Apr 24, 2025 1921 attributes , css , selectors “input type="color"” (kev )Apr 24, 2025 1920 forms , colors The Problem(s) With Image Accessibility Apr 23, 2025 1919 accessibility , images , alt-text Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t )Apr 23, 2025 1918 guest-posts , minimalism , conformance , semantics , interoperability , accessibility , standards Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod )Apr 18, 2025 1917 lists , semantics Creating an Accessible Accordion With HTML Description Lists (kar )Apr 17, 2025 1916 accessibility , lists , accordions 5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t )Apr 16, 2025 1915 performance , optimization Default Styles for “h1” Elements Are Changing (zco /mdn )Apr 11, 2025 1914 css , headings , browsers 5 Ways to Reduce HTML File Size on Your Website (deb )Apr 10, 2025 1913 minification , compression , performance , optimization ARIA in HTML (sco +/w3c )Apr 9, 2025 1912 standards , accessibility , aria Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil +)Apr 9, 2025 1911 podcasts , interviews , wordpress , apis , dom Strings Are a Leaky Abstraction for HTML (joe )Apr 8, 2025 1910 strings Hiding Elements That Require JavaScript Without JavaScript (0xd )Apr 5, 2025 1909 javascript , css Tweaking Text Level Styles, Reprised (aar )Apr 5, 2025 1908 css , accessibility , support , browsers , screen-readers CSS-Only Glitch Effect Apr 3, 2025 1907 css , effects Markup Languages (j9t )Mar 28, 2025 1906 overviews , link-lists , sgml , xml , xhtml , hdml , dhtml , mathml , wml , chtml “input type="number"” (kev )Mar 25, 2025 1905 forms “aria-label” Is a Letdown (thi /wag )Mar 24, 2025 1904 accessibility , aria , labels Create an HTML Dialog When You Click an Image (cas )Mar 21, 2025 1903 images , modals The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom )Mar 20, 2025 1902 attributes , browsers , support , web-platform Quick Accessibility Wins That Are Easy to Implement (kev )Mar 19, 2025 1901 videos , accessibility , semantics , alt-text , images , contrast , colors , keyboard-navigation , focus , skip-links The Bare Minimum You Need to Enable View Transitions on Your Website (ami )Mar 19, 2025 1900 css , view-transitions , minimalism Web Components vs. Framework Components: What’s the Difference? (sma )Mar 17, 2025 1899 web-components , components , frameworks , comparisons A Review of HTML Linters Mar 17, 2025 1898 overviews , linting , conformance , tooling , link-lists , comparisons Is React Accessible? That’s the Wrong Question Mar 17, 2025 1897 accessibility , react , jsx , semantics Popping Preconceived Popover Ponderings (sco )Mar 14, 2025 1896 accessibility , pop-overs Future of CSS: “select” Styling Without the Hacks Mar 10, 2025 1895 css , selectors , forms Creating Animated Accordions With the “details” Element and Modern CSS (ste /bui )Mar 7, 2025 1894 css , disclosure-widgets , accordions , animations , transitions Implementing “aria-describedby” for Web Accessibility (flo /a11 )Mar 7, 2025 1893 accessibility , aria , forms , labels Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb )Mar 7, 2025 1892 performance , css , data-urls , compression , base64 Introducing “command” and “commandfor” (kei )Mar 7, 2025 1891 introductions , attributes DeepSeek and HTML (j9t )Mar 7, 2025 1890 ai , deepseek , minimalism , conformance Cool Native HTML Elements You Should Already Be Using (hrr )Mar 6, 2025 1889 modals , disclosure-widgets , forms , progress-indicators Grouping Selection List Items Together With CSS Grid (pre /css )Mar 5, 2025 1888 lists , forms , css , grids , layout Building Websites With LLMS (jim )Mar 4, 2025 1887 css , view-transitions Using and Styling the “details” Element (geo /css )Mar 4, 2025 1886 css , disclosure-widgets , examples The Professional Standing of Frontend Developers (mar )Mar 4, 2025 1885 guest-posts , career , learning , css , javascript , communication , collaboration , community , ai Unlock Exciting Use Cases With the Document Picture-in-Picture API (jad )Mar 4, 2025 1884 apis CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod )Mar 3, 2025 1883 css , art There’s No Such Thing as “Menubar Navigation” (tem )Feb 28, 2025 1882 accessibility , navigation When to Use Lists for Better Accessibility Feb 27, 2025 1881 accessibility , lists Fixing “rowspan=0” on Tables on WebKit (kar )Feb 21, 2025 1880 tables , webkit , browser-engines , browsers “ruby-align” Is Baseline Newly Available Feb 21, 2025 1879 ruby-markup , css , browsers , support , web-platform Everything You Need to Know About Invoker Commands (kei /web )Feb 21, 2025 1878 videos , pop-overs Introduction to Frontend Development Feb 21, 2025 1877 introductions , css , javascript , frameworks , libraries , tooling , career , trends Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch )Feb 17, 2025 1876 accessibility , search , hiding , browsers It’s Right There in the Back of the Book (hom )Feb 17, 2025 1875 accessibility , semantics Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas /pic )Feb 13, 2025 1874 forms Which HTML Element Are You? Feb 13, 2025 1873 quizzes Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t )Feb 12, 2025 1872 frameworks , javascript , conformance , comparisons , link-lists Optimizing Images for Web Performance (tod /fro )Feb 10, 2025 1871 images , performance , optimization , jpeg , png , webp , avif , caching Taking RWD to the Extreme (sma )Feb 7, 2025 1870 responsive-design , intrinsic-design , css How to Declare Your Page’s Language (pop )Feb 5, 2025 1869 how-tos , internationalization HTML and CSS for a One-Time Password Input (chr /fro )Feb 5, 2025 1868 css , forms , passwords A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl /clo )Feb 4, 2025 1867 forms , lists , css Using Padding to Space an Input and Label (dar )Feb 4, 2025 1866 forms , labels , spacing , css Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet )Jan 31, 2025 1865 fundamentals , forms , aria How to Set Up an Accessible Page Structure and Navigation (pop )Jan 31, 2025 1864 how-tos , accessibility , navigation XHTML in Modern Web Development (mar )Jan 30, 2025 1863 guest-posts , xhtml What Text Area Popovers Taught Me About Browser APIs (bla )Jan 28, 2025 1862 forms , apis , javascript Only One “<details>” Open at a Time (osv )Jan 25, 2025 1861 disclosure-widgets Creating an Angled Slider (zac /fro )Jan 22, 2025 1860 sliders , css , effects Don’t Wrap Figure in a Link (aar )Jan 16, 2025 1859 links , screen-readers , accessibility 23 HTML Cheat Sheets, for a Different Look at HTML (fro )Jan 16, 2025 1858 cheat-sheets , link-lists Learning HTML Is the Best Investment I Ever Did (cod )Jan 15, 2025 1857 learning , career HTML Developers: Please Consider—in the Year of 2025 (ste )Jan 11, 2025 1856 aria , accessibility Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi /dat )Jan 9, 2025 1855 scraping , tooling , nodejs , rag Lesser Known Uses of Better Known Attributes (sma )Jan 8, 2025 1854 attributes Sharing a Variable Across HTML, CSS, and JavaScript (chr /fro )Jan 8, 2025 1853 variables , css , javascript Accessibility Essentials Every Front-End Developer Should Know (mar )Jan 7, 2025 1852 accessibility , fundamentals , semantics , forms , keyboard-navigation , modals , alt-text , focus , responsive-design , reduced-motion , aria Brief Note on Figure and Figcaption Support (aar )Jan 6, 2025 1851 accessibility , screen-readers , support How to Order Attributes on HTML Elements Jan 6, 2025 1850 how-tos , attributes , sorting , conventions Relatively New Things You Should Know About HTML Heading Into 2025 (chr /fro )Jan 6, 2025 1849 forms , toggles , pop-overs , javascript , import-maps , css , transitions The Difference Between HTML Attributes and Properties (pau /clo )Jan 6, 2025 1848 attributes , javascript , terminology Use “translate” to Turn Off Element Translations (ste )Jan 6, 2025 1847 localization HTML Is Actually a Programming Language—Fight Me (tim /wir )Jan 6, 2025 1846 programming Updated Brief Note on Description List Support (aar )Jan 3, 2025 1845 lists , semantics , accessibility , screen-readers , support Datalists Are More Powerful Than You Think (two /mat )Dec 29, 2024 1844 Media (ste +/htt )Dec 29, 2024 1843 web-almanac , studies , research , metrics , multimedia , images Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale /mat )Dec 27, 2024 1842 buttons , icons , images , accessibility , screen-readers Why Heading Order Matters in HTML (gra )Dec 27, 2024 1841 headings , accessibility The Underrated “<dl>” Element (luh /mat )Dec 26, 2024 1840 lists Preloading Fonts for Web Performance With “link rel=preload” (acc /mat )Dec 25, 2024 1839 performance , preloading , fonts , hints The Search Input: They Almost Got It Right (stv /mat )Dec 24, 2024 1838 forms , labels , screen-readers , assistive-tech , accessibility The Devil Is in the “<details>” (mat )Dec 23, 2024 1837 disclosure-widgets Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer )Dec 22, 2024 1836 accessibility , tables PSA: Stop Using the “title” Attribute as Tooltip (dni /mat )Dec 22, 2024 1835 attributes , tooltips , toggles , accessibility Accessibility First: How to Design Inclusive Frontend Experiences Dec 22, 2024 1834 how-tos , design , accessibility , semantics , alt-text , keyboard-navigation , aria , contrast , forms , focus Grouping Form Fields (mat )Dec 21, 2024 1833 forms My Favourite Colour Is Chuck Norris Red (val /mat )Dec 20, 2024 1832 colors No ARIA Is Better Than Bad ARIA (kar )Dec 20, 2024 1831 videos , accessibility , aria Getting Oriented With HTML Video (sco /mat )Dec 19, 2024 1830 multimedia , web-components Microdata for Books (ala /mat )Dec 18, 2024 1829 microdata HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t )Dec 17, 2024 1828 conformance , tooling , npm , comparisons You Don’t Need the “isOpen” Class (mau /mat )Dec 16, 2024 1827 aria , accessibility HTML “inert” Attribute (stv /5t3 )Dec 15, 2024 1826 attributes The Gift You Do Not Want: A Div in a Button’s Clothing (mat )Dec 15, 2024 1825 buttons , accessibility Page by Page: How Pagination Makes the Web Accessible (mat )Dec 14, 2024 1824 accessibility , pagination , css , svg ARIA in HTML (sco +/w3c )Dec 13, 2024 1823 standards , accessibility , aria Improving User Experience for Multilingual Web Browsing (mat )Dec 13, 2024 1822 user-experience , internationalization HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (mat )Dec 12, 2024 1821 ruby-markup , css , internationalization Makeshift Hot Reload (eva /mat )Dec 11, 2024 1820 metadata On-Page SEO Checklist: The Complete Task List for 2025 (sem )Dec 10, 2024 1819 seo , checklists , semantics Submit to the Quirks of HTML (fel /mat )Dec 10, 2024 1818 forms Native HTML Light and Dark Color Scheme Switching (pep /mat )Dec 9, 2024 1817 dark-mode , css , javascript , functionality Past HTML, Future HTML? (j9t /mat )Dec 8, 2024 1816 Almost, but Not Quite, Entirely Unlike… (tin /mat )Dec 7, 2024 1815 accessibility , buttons , ai What Do the State of CSS and HTML Surveys Tell Us? (rac )Dec 6, 2024 1814 web-platform , css , community What Is HTML Optimization? What Is It Not? (j9t )Dec 5, 2024 1813 optimization , terminology Control the Viewport Resize Behavior on Mobile With “interactive-widget” (bra /mat )Dec 4, 2024 1812 css , units , viewport , resizing , mobile , metadata Creating an Effective Multistep Form for Better User Experience (sma )Dec 3, 2024 1811 forms , javascript , user-experience Starting Off Right: Where Autofocus Shines (kil /mat )Dec 2, 2024 1810 forms , focus The HTML Native Search Element (tre )Dec 2, 2024 1809 semantics Character-Based Alignment (css )Nov 29, 2024 1808 css , alignment Preloading Responsive Images (tre )Nov 28, 2024 1807 images , hints , performance , preloading A Button Is Not a Link (mor /mat )Nov 26, 2024 1806 buttons , links Language of Parts Bookmarklet (bea )Nov 25, 2024 1805 bookmarklets , metadata , accessibility Old Alt Text Advice (ste )Nov 23, 2024 1804 accessibility , images , alt-text , microcontent , best-practices Avoid Read-Only Controls (aar )Nov 21, 2024 1803 forms , accessibility Where Has All the Valid HTML Gone (j9t )Nov 21, 2024 1802 conformance , quality My 3 Most-Wanted CSS Table Features (dar )Nov 20, 2024 1801 css , tables , wish-lists Importing a Frontend JavaScript Library Without a Build System (b0r )Nov 18, 2024 1800 javascript , libraries , commonjs , esm , nodejs Native Dual-Range Input Nov 18, 2024 1799 forms , css State of HTML 2024 [Results] (sac /dev )Nov 14, 2024 1798 surveys , metrics The “br” Element (hey )Nov 12, 2024 1797 semantics Markup (gua /htt )Nov 11, 2024 1796 web-almanac , studies , research , metrics State of CSS and State of HTML 2024 (pat )Nov 8, 2024 1795 css The Path to Learn Web Development (fla )Nov 8, 2024 1794 learning , http , css , tooling , git , javascript , typescript , databases , frameworks How to Identify Decorative Images and Boost Accessibility (a11 )Nov 7, 2024 1793 how-tos , images , decoration , accessibility , aria The Lowdown on Dropdowns in HTML and CSS (zer )Nov 7, 2024 1792 css More Options for Styling “<details>” (bra )Nov 6, 2024 1791 disclosure-widgets , css How Do HTML Event Handlers Work? (tbr )Nov 5, 2024 1790 javascript , events Disabled and Obscured (ste )Nov 4, 2024 1789 accessibility , forms , wcag , standards The “button” Element (hey )Nov 4, 2024 1788 semantics , buttons , links HTML Cheat Sheet Nov 4, 2024 1787 semantics , examples , cheat-sheets Building My Resume in HTML Using Eleventy (men )Nov 3, 2024 1786 career , eleventy 20 HTML Tips You Must Know in 2024 (xiu )Nov 2, 2024 1785 tips-and-tricks The “<details>” and “<summary>” Elements Are Getting an Upgrade (sea )Nov 1, 2024 1784 disclosure-widgets 25 Accessibility Tips to Celebrate 25 Years (jar /web )Oct 31, 2024 1783 accessibility , tips-and-tricks , aria The “body” Element (hey )Oct 31, 2024 1782 semantics Clarifying the Relationship Between Popovers and Dialogs (zel /css )Oct 29, 2024 1781 pop-overs , modals , comparisons , accessibility Come to the “light-dark()” Side (sar /css )Oct 29, 2024 1780 dark-mode , css , colors HTML Form Validation Is Heavily Underused Oct 28, 2024 1779 forms , validation , react Talkin’ Tables (aar /web )Oct 25, 2024 1778 videos , accessibility , tables Why Does “target="_blank"” Have an Underscore in Front? (kyr )Oct 25, 2024 1777 frames , links My Top 5 Most Popular Front-End Tips (kev )Oct 23, 2024 1776 videos , css , forms , tips-and-tricks How Should “<selectedoption>” Work? (jaf )Oct 18, 2024 1775 forms An HTML Email Template With Basic Typography and Dark/light Modes (chr /fro )Oct 17, 2024 1774 templates , email , typography , dark-mode Using Static Websites for Tiny Archives Oct 16, 2024 1773 css I’ve Been Doing Blockquotes Wrong (mic )Oct 16, 2024 1772 The “blockquote” Element (hey )Oct 14, 2024 1771 semantics My Eulogy for the Open Web and Old Google Oct 13, 2024 1770 open-web , google HTML/CSS Frameworks, in Their Own Words (by Word Cloud) (j9t )Oct 11, 2024 1769 frameworks , css , bootstrap , tailwind , foundation , bulma , milligram , pure , uikit , comparisons HTML for People (bw )Oct 10, 2024 1768 books , websites , examples The New Stylable “<select>” Element (jaf +)Oct 8, 2024 1767 podcasts , css , apis , forms No Industry for Old Men (ste /web )Oct 7, 2024 1766 videos , retrospectives , aria , browsers , screen-readers , accessibility , w3c The Popover API: Your New Best Friend for Tooltips (dev )Oct 7, 2024 1765 pop-overs , apis , tooltips , css , javascript Web Components: Little Bits (web )Oct 7, 2024 1764 videos , web-components Practical Accessibility Tips You Can Apply Today (pic )Oct 3, 2024 1763 accessibility , tips-and-tricks An Interesting HTML Parser Conundrum (dbu )Oct 1, 2024 1762 parsing The “bdi” Element (hey )Sep 30, 2024 1761 semantics , internationalization What’s the Difference Between HTML’s Dialog Element and Popovers? (chr /fro )Sep 30, 2024 1760 modals , pop-overs , comparisons How to Learn HTML: 46 Great Sites, Courses, and Books (All Free) Sep 29, 2024 1759 how-tos , learning , courses , books , link-lists The “b” Element (hey )Sep 28, 2024 1758 semantics “img sizes=auto” for Native Lazy Loading (ste )Sep 27, 2024 1757 code-pens , images , lazy-loading , performance Hire HTML and CSS People (fon )Sep 21, 2024 1756 css , hiring , engineering-management Why HTML Has Both “<b/i>” and “<strong/em>”? Sep 16, 2024 1755 semantics The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web )Sep 13, 2024 1754 seo , optimization , tips-and-tricks State of HTML 2024 (sac /dev )Sep 12, 2024 1753 surveys Request for Developer Feedback: Customizable Select (una )Sep 12, 2024 1752 forms 2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t )Sep 11, 2024 1751 conformance , metrics , quality , craft What Does Hydration Mean? (chr /fro )Sep 9, 2024 1750 hydration , concepts , javascript , dom Going Buildless (mxb )Sep 8, 2024 1749 building , components The HTML History and Optimization Cheat Sheet (j9t )Sep 5, 2024 1748 history , optimization , cheat-sheets Should Form Labels Be Wrapped or Separate? (sib /tpg )Sep 4, 2024 1747 forms , labels , accessibility , browsers , assistive-tech HTML Whitespace Is Broken (dev )Sep 2, 2024 1746 whitespace Semi-Annual Reminder to Learn and Hire for Web Standards (aar )Sep 1, 2024 1745 learning , fundamentals , standards , css Headings (web )Aug 30, 2024 1744 headings , accessibility Paragraphs (sco )Aug 29, 2024 1743 accessibility What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11 )Aug 29, 2024 1742 videos , guides , aria , accessibility The “aside” Element (hey )Aug 28, 2024 1741 semantics , accessibility The Secret Inside One Million Checkboxes Aug 28, 2024 1740 databases , community What’s Missing From HTML and CSS? (rac )Aug 28, 2024 1739 css Make Me One (Input) With Everything (mor /mat )Aug 27, 2024 1738 forms , accessibility , simplicity How to Easily Add Dark Mode to Your Website Aug 26, 2024 1737 how-tos , dark-mode , css , javascript , functionality What Skills Should You Focus on as Junior Web Developer in 2024? (fro )Aug 26, 2024 1736 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? Aug 23, 2024 1735 discussions , accessibility , attributes , forms , labels , aria , alt-text , images Raw-Dogging Websites (bra )Aug 22, 2024 1734 css , javascript , tech-stacks Spoiler Alert: It Needs to Be Accessible (sco )Aug 22, 2024 1733 accessibility , web-components , aria The Top Programming Languages 2024 (iee )Aug 22, 2024 1732 programming , comparisons , python , java , javascript , typescript , sql , go , php , lua Foundations: Labelling Text Fields With Input and Label (tet )Aug 21, 2024 1731 accessibility , fundamentals , forms , labels Expert Guide: Writing HTML for Screen Reader Users (flo /a11 )Aug 20, 2024 1730 guides , accessibility , aria , alt-text , writing , screen-readers Top 5 HTML Features You’re Not Using (but Should Be) Aug 20, 2024 1729 How Are the “colspan” and “rowspan” Attributes Different? (geo /css )Aug 15, 2024 1728 attributes , tables How Does the Browser Render HTML? (and )Aug 15, 2024 1727 browsers , browser-engines , rendering , dom , css , cssom , painting “blocking=render”: Why Would You Do That?! (css )Aug 14, 2024 1726 performance , rendering Rote Learning HTML & CSS (j9t /fro )Aug 14, 2024 1725 books , frontend-dogma , css , learning The “address” Element (hey )Aug 12, 2024 1724 semantics Action Web Components Which Span the Server-Client Divide (jar )Aug 11, 2024 1723 web-components , apis ObsoHTML, the Obsolete HTML Checker (j9t )Aug 11, 2024 1722 packages , npm , quality The “abbr” Element (hey )Aug 7, 2024 1721 semantics , accessibility HTML Web Components Can Have a Little Shadow DOM, as a Treat (sco )Aug 5, 2024 1720 web-components , shadow-dom , dom The Anchor Element (hey )Aug 2, 2024 1719 links , semantics , terminology , usability HTML Web Components Make Progressive Enhancement and CSS Encapsulation Easier (css )Aug 1, 2024 1718 web-components , principles , solid , progressive-enhancement , examples The Anatomy of Accessible Forms: Best Practices (deq )Aug 1, 2024 1717 accessibility , forms , best-practices Replacing jQuery UI Datepicker With HTML Date Input (chr )Jul 31, 2024 1716 jquery