My Interop 2027 Rankings (mey )Oct 14, 2026 2410 web-platform , interoperability , javascript , css The Web Needs Interactive Lists (cod )Oct 8, 2026 2409 lists , semantics , accessibility , aria Accepting AI-Generated Front-End Code: What Review Is for Now Oct 5, 2026 2408 ai , code-reviews , components , wcag , accessibility , compliance , automation State of HTML 2026 (dev )Oct 4, 2026 2407 surveys Tales from the 90s: On XML’s Great Future, the Mobile Web on a 4×20-Character Screen, and Accessibility as the Original Responsive Design (fro )Oct 1, 2026 2406 history , standards , xml , sgml , xhtml , hdml , responsive-design , graceful-degradation , mobile , accessibility , user-experience Lazy Loading Images and Media: How Far Ahead Browsers Fetch (ben /cal )Sep 28, 2026 2405 lazy-loading , images , multimedia , debugging , performance Why I Built a Website Clone Using HTML and CSS Sep 23, 2026 2404 css , learning What Is Palpable Content? (rus )Sep 20, 2026 2403 terminology , accessibility Periodic Table of HTML Elements (aba )Sep 19, 2026 2402 overviews What Are Form Controls? (rus )Sep 19, 2026 2401 forms , terminology , examples Custom Attributes Polyfill (kei )Sep 19, 2026 2400 polyfills 19½ Things You Didn’t Know About Accessibility in HTML and CSS (mat )Sep 17, 2026 2399 slides , accessibility , css It’s All About the Permissions Recovery (chr /fro )Sep 11, 2026 2398 browsers , permissions , support , geolocation 2026: 2 of the Global Top 200 Websites Use Valid HTML (j9t )Sep 10, 2026 2397 conformance , metrics , quality , craft My HTML Boilerplate (val )Sep 9, 2026 2396 templates Antiquated HTML Snippets and Artefacts (val )Sep 8, 2026 2395 metadata , geolocation , conditional-comments , internet-explorer , browsers , amp , twitter+x Support for “headers” Attribute (aar )Sep 8, 2026 2394 tables , attributes , accessibility , support , screen-readers , nvda , firefox , jaws , chrome , edge , voiceover , safari , talkback You Don’t Need “initial-scale” in Your HTML (val )Sep 2, 2026 2393 metadata New Things You Should Know About HTML Here in Mid 2026 (chr /fro )Sep 2, 2026 2392 web-components , canvas “initial-scale” No Longer Needed Sep 2, 2026 2391 metadata What’s !important #18: “<geolocation>”, Syntax ::highlight()ing, “named-feature()”, and More (css )Aug 31, 2026 2390 css , retrospectives , web-platform , link-lists What Is the Best Web Page Minifier in 2026? (apo )Aug 30, 2026 2389 minification , tooling , html-minifier , htmlnano , minify-html , minimize , swc , metrics , comparisons The 4 Hs of HTML (alv )Aug 24, 2026 2388 semantics Enhanced Spell Checking on the Web (bka )Aug 18, 2026 2387 apis , javascript My HTML Boilerplate in 2026 (mat )Aug 17, 2026 2386 templates Exploring Compose HTML for Server Side Rendering (jet )Aug 14, 2026 2385 server-side-rendering Delayed-Then-Instant Tooltips With HTML and CSS Alone (chr /fro )Aug 13, 2026 2384 tooltips , css Understanding “aria-details” (rus )Aug 13, 2026 2383 attributes , aria , accessibility Understanding “aria-roledescription” (rus )Aug 12, 2026 2382 attributes , aria , accessibility HTML Over WebSockets: Real-Time SPAs With Barely Any JavaScript (and )Aug 11, 2026 2381 websockets , single-page-apps , link-lists Building an Accordion the Browser Can Search Aug 10, 2026 2380 accordions , hiding , search , css , javascript Why You Might Want to Build Your Web App in Canvas Instead of HTML Aug 9, 2026 2379 canvas , web-apps , comparisons HTML Can Do That (chr )Aug 8, 2026 2378 examples Using and Styling the Dialog Element (geo /css )Aug 7, 2026 2377 modals , css Don’t Use a Class for That (alv )Aug 7, 2026 2376 attributes , selectors , css CSS: The Bomb Inside Your Inbox (gaz /por )Aug 6, 2026 2375 css , csp , email , security Something Nobody Told You About The Image Element (It Can Overflow) (css /fro )Aug 3, 2026 2374 images , overflow , css A11y 101—3.3.4 Error Prevention (nat )Aug 3, 2026 2373 introductions , accessibility , wcag , errors , javascript Fixing My Tooltip Accessibility Mistake (jaf )Jul 28, 2026 2372 accessibility , tooltips , aria , attributes , mistakes The Difference Between a Button and a Link Jul 28, 2026 2371 buttons , links , comparisons Robin Berjon—Fireside (rob +)Jul 21, 2026 2370 videos , interviews , w3c , web Why I Built a Semantic HTML First Library (kar )Jul 20, 2026 2369 libraries , components , semantics Use Cases for “aria-expanded” (stv /pic )Jul 16, 2026 2368 attributes , aria , accessibility , examples Protecting HTML Content Against Copying (jsd )Jul 14, 2026 2367 css , javascript , canvas , obfuscation , techniques , comparisons Recreating a 1990 Book Cover (in HTML and CSS) (blo )Jul 13, 2026 2366 css HTML in Canvas: Render Real DOM Inside “<canvas>” Jul 13, 2026 2365 canvas , javascript “focusgroup” Tests (aar )Jul 5, 2026 2364 attributes , focus , chrome , browsers , examples , accessibility On the Semantic Web (kar )Jul 1, 2026 2363 semantics , buttons , forms Clickable Table Rows Are a Bad Idea (tem )Jun 30, 2026 2362 tables , accessibility , keyboard-navigation Modes and Themes That Stick—Building a Persistent Toggle Solution (stu )Jun 30, 2026 2361 toggles , forms , dark-mode , theming , flash-of-x React’s Architectural Accessibility Gaps Jun 30, 2026 2360 react , accessibility , wcag What’s !important #14: Gap Decorations, “random()”, “<select>” Field Sizing, and More (dxn /css )Jun 30, 2026 2359 css , retrospectives , web-platform , link-lists Introducing the “<usermedia>” HTML Element Jun 29, 2026 2358 introductions , chrome , browsers Building an Accessible Modal Dialog on the Native “<dialog>” Jun 24, 2026 2357 modals , accessibility , typescript Animating the “dialog” Element Using View Transitions (rik )Jun 23, 2026 2356 modals , animations , view-transitions , javascript , css I Stored a Website in a Favicon Jun 19, 2026 2355 favicons , images , experiments The Siren Song of “ariaNotify()” (wil /css )Jun 17, 2026 2354 javascript , aria , notifications , attributes , jaws , nvda , voiceover , screen-readers , accessibility The Golden Rule of Customizable “select” (sar /web )Jun 15, 2026 2353 forms , safari , browsers Dark Mode With Web Standards (oll )Jun 12, 2026 2352 dark-mode , standards , javascript , svg , css “headingoffset” Is Not the Document Outline Algorithm (aar )Jun 11, 2026 2351 attributes , headings Semantica11y—Semantic HTML for Everyone (ste )Jun 11, 2026 2350 packages , semantics , accessibility How Building an HTML-First Site Doubled Our Users Overnight (moh )Jun 10, 2026 2349 web-components , validation , traffic , case-studies WWDC26: Rediscover the HTML “select” Element Jun 8, 2026 2348 videos , forms , css WWDC26: Get Started With the HTML “model” Element Jun 8, 2026 2347 videos , introductions , animations Streaming HTML (oll )Jun 5, 2026 2346 streaming , javascript Another Stab at the Perfect CSS Pie Chart… Sans JavaScript (vil /css )Jun 4, 2026 2345 css Astro: HTML First, JavaScript When You Need It (jad )Jun 3, 2026 2344 astro , javascript Context-Aware Headings in HTML (mat )Jun 3, 2026 2343 headings , attributes Gary Illyes: The Web’s JavaScript Mess Is an AI Agent Nightmare (ppc )Jun 1, 2026 2342 ai , ai-agents , javascript , rag , llmstxt Re: Accessibility Question: Is Nesting Interactive Elements Bad? (aar )May 29, 2026 2341 accessibility , nesting Accessible (I Think) Split-Cell Table Headers (mey )May 28, 2026 2340 css , tables Managing Anchor Associations With Data Attributes and Advanced “attr()” (dxn /fro )May 27, 2026 2339 anchor-positioning , custom-data , css , functions , attributes Lost, Forgotten, and Unfamiliar HTML (tho )May 27, 2026 2338 attributes Not Every Form Field Needs to Be in a Fieldset (jea )May 24, 2026 2337 forms , design-systems , accessibility What’s New in Web UI (una +)May 22, 2026 2336 videos , web-platform , user-experience , principles , canvas , css , google Don’t Put “aria-label” on Generic Elements Like Divs (mat )May 22, 2026 2335 attributes , aria , screen-readers , support , accessibility Accessible by Design: HTML, CSS, JavaScript, and ARIA Techniques That Scale May 21, 2026 2334 videos , accessibility , css , javascript , aria Introducing the HTML-in-Canvas API Origin Trial (nma )May 19, 2026 2333 introductions , canvas , apis , origin-trials , chrome , browsers Declarative Partial Updates (tun +)May 19, 2026 2332 streaming , apis , chrome , browsers A Few Ways of Specifying Per-Theme Colours in Only CSS May 16, 2026 2331 css , dark-mode , colors , techniques You Don’t Know HTML Lists May 13, 2026 2330 lists , semantics hihtml (j9t )May 13, 2026 2329 packages , npm , conformance , links , link-rot , minification , html-minifier , optimization , quality Install Web Apps With the New HTML “install” Element (pat )May 12, 2026 2328 web-apps , installing , origin-trials , chromium Not All Hidden Content Is Equal: How Different Hiding Methods Impact Accessibility May 12, 2026 2327 accessibility , hiding , css , aria , attributes , techniques , comparisons AI and HTML: Validating, Omitting Optional Code, and Minifying as Token Optimization (j9t )May 12, 2026 2326 ai , token-optimization , conformance , minimalism , minification , optimization In-n-Out-Styling With Chris Coyier (chr /sma )May 11, 2026 2325 videos , css The “<selectmenu>” Element: Stop Using JavaScript Dropdown Libraries May 10, 2026 2324 forms , javascript , css Out With the JS, in With the HTML (jim )May 10, 2026 2323 javascript , refactoring Using Claude Code: The Unreasonable Effectiveness of HTML May 8, 2026 2322 claude , ai , efficiency HTML.md (j9t )May 6, 2026 2321 documentation , ai What’s !important #10: HTML-in-Canvas, Hex Maps, E-Ink Optimization, and More (dxn /css )May 1, 2026 2320 css , retrospectives , web-platform , link-lists ARIA Roles and Web Accessibility: A Quick Guide (lev )Apr 30, 2026 2319 guides , accessibility , aria , attributes Hard to Read One-Liners (kri )Apr 28, 2026 2318 css , collaboration The End of Responsive Images (wil /pic )Apr 23, 2026 2317 images , responsive-design Visual Validation Feedback for Form Fields (aar )Apr 22, 2026 2316 forms , validation , javascript The Web Is Fun Again: First Experiments With HTML in Canvas (ami /fro )Apr 21, 2026 2315 experiments , canvas , javascript Multi-Level Navigation: The Challenge of Identifying Parent Sections for Screen Readers (ele )Apr 21, 2026 2314 navigation , aria , screen-readers , accessibility A11y 101: 3.1.1 Language of Page (nat )Apr 20, 2026 2313 introductions , accessibility , wcag , localization My Thoughts on the “focusgroup” Attribute Proposal (stv )Apr 20, 2026 2312 forms , focus , attributes Video as Code: A Deep Dive Into HeyGen’s Hyperframes Apr 19, 2026 2311 deep-dives , multimedia , css , tooling The Radio State Machine (ami /css )Apr 14, 2026 2310 css , state-management The Community Has Spoken, Now We Need Browsers Vendors to Help: A “<rangegroup>” Update (uti )Apr 14, 2026 2309 community , browsers Why AI Sucks at Front End (arg )Apr 12, 2026 2308 ai , css How to Use Standard HTML Video and Audio Lazy-Loading on the Web Today (sco )Apr 7, 2026 2307 how-tos , multimedia , lazy-loading , performance Old Advice: Hiding Content Has No Effect on Accessible Name or Description Calculation (ste )Apr 7, 2026 2306 accessibility , hiding , aria Making Emojis and Icons Screen Reader Accessible (pop )Apr 1, 2026 2305 emoji , icons , images , accessibility , screen-readers Semantic HTML Just Might Make Your CSS Less Fragile (sch )Mar 30, 2026 2304 css , semantics , resilience There’s No Need to Include “Navigation” in Your Navigation Labels (tem )Mar 30, 2026 2303 accessibility , labels , navigation Mike Smith Fireside (ste )Mar 29, 2026 2302 videos , interviews , standards , accessibility , community Headings the Right Way: Site Building Tips for Accessible Page Content (dru )Mar 29, 2026 2301 videos , headings , accessibility Bad Example: Timesheet Submit Button (rac )Mar 27, 2026 2300 buttons , accessibility Tooltips That Work for Everyone (ele )Mar 25, 2026 2299 tooltips , accessibility , aria , attributes , screen-readers , nvda , jaws Quick Tip: Don’t Use “<abbr>” (nat )Mar 20, 2026 2298 tips-and-tricks , screen-readers , support , accessibility Astro: How to Set Up More Powerful HTML Minification (in 31 Seconds) (j9t )Mar 17, 2026 2297 how-tos , astro , html-minifier , minification , optimization New Bookmarklet—Structure Revealer (llo )Mar 13, 2026 2296 bookmarklets , accessibility Abusing Customizable Selects (pat /css )Mar 11, 2026 2295 forms , css , functions The Enforced Accessibility of the “geolocation” Element (chr /fro )Mar 9, 2026 2294 geolocation , accessibility Testing Browser Support for “focusgroup” Mar 9, 2026 2293 attributes , focus , javascript html-minifier-terser vs. htmlnano vs. minify-html (2026) Mar 9, 2026 2292 minification , nodejs , html-minifier , htmlnano , minify-html , metrics , comparisons The Different Ways to Select “<html>” in CSS (dxn /css )Mar 5, 2026 2291 css , selectors You Don’t Know HTML Tables Mar 5, 2026 2290 tables , javascript Request for Developer Feedback: “focusgroup” (jac )Mar 5, 2026 2289 attributes , focus , chromium , browsers Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat )Mar 4, 2026 2288 skip-links , attributes , accessibility 1995: From Batman Forever’s Cinematic Design to HTML Tables (ric )Mar 3, 2026 2287 web , history , design , netscape , mosaic , browsers , tables , layout , wysiwyg , code-editors Figcaptions Versus Alt Text (tem )Feb 28, 2026 2286 images , alt-text , accessibility , comparisons You Can Use Newline Characters in URLs (lem )Feb 28, 2026 2285 urls , data-urls , links , attributes “role=presentation” Is No Alternative for “aria-hidden=true” (mat )Feb 27, 2026 2284 accessibility , aria , attributes , comparisons When Is a Link Not a Link? (dec )Feb 25, 2026 2283 links , semantics , accessibility Matt May Speaks (mat +)Feb 23, 2026 2282 videos , interviews , accessibility , standards “aria-haspopup” Might Not Do What You Think It Does (mat )Feb 23, 2026 2281 aria , attributes , navigation , accessibility Standard HTML Video and Audio Lazy-Loading Is Coming (sco )Feb 22, 2026 2280 multimedia , lazy-loading , standards , performance The Problem With HTML Reset Buttons (ada )Feb 22, 2026 2279 buttons , user-experience Native HTML Components Don’t Guarantee Good UX (ada )Feb 22, 2026 2278 components , user-experience Precompressed HTML at the Edge: Eleventy Meets Cloudflare Workers (the )Feb 21, 2026 2277 edge-computing , eleventy , cloudflare , caching , compression , brotli , performance An Official* Logo for HTML (zac )Feb 20, 2026 2276 Everything You Never Wanted to Know About “visually-hidden” (dbu )Feb 20, 2026 2275 css , hiding , accessibility Notes on Relying on the ARIA Authoring Practices Guide (ste )Feb 19, 2026 2274 aria , accessibility Mastering Dialog Accessibility Feb 12, 2026 2273 accessibility , modals , aria You Might Not Need “role="presentation"” (stv /pic )Feb 12, 2026 2272 aria , accessibility Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev )Feb 12, 2026 2271 tables , scrolling , performance , react You Know What? Just Don’t Split Words Into Letters (aar )Feb 10, 2026 2270 accessibility , screen-readers , support Trying to Make the Perfect Pie Chart in CSS (mon /css )Feb 9, 2026 2269 css How to Improve Your HTML Game (j9t )Feb 5, 2026 2268 how-tos , conformance , learning , career Introduction to the New HTML Element “<geolocation>” (mat )Feb 4, 2026 2267 introductions , geolocation Accessible Inline Collapsible (eri )Feb 2, 2026 2266 accessibility , disclosure-widgets Repeatable Form Fields Made Simple (aar )Jan 31, 2026 2265 forms , web-components More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw )Jan 27, 2026 2264 examples SPAs Are a Performance Dead End (yeg )Jan 25, 2026 2263 single-page-apps , performance Barriers From Links With ARIA (aar )Jan 22, 2026 2262 accessibility , links , aria I Learned the First Rule of ARIA the Hard Way (css )Jan 21, 2026 2261 accessibility , aria , semantics Faking a Fieldset-Legend (tyl /clo )Jan 20, 2026 2260 forms , css SEO (htt )Jan 15, 2026 2259 web-almanac , studies , research , metrics , seo , robotstxt , llmstxt , links , content , structured-data , amp , internationalization Accessible Faux-Nested Interactive Controls (eri /pic )Jan 15, 2026 2258 accessibility , conformance , nesting The Incredible Overcomplexity of the Shadcn Radio Button (pau )Jan 15, 2026 2257 forms , shadcn , complexity EPUB and HTML—Survey Results and Next Steps (rei /w3c )Jan 14, 2026 2256 surveys , epub So You Think Your Website Is Doing Great (cit )Jan 14, 2026 2255 javascript , css , quality ARIA Roles Can Remove Their Children’s Semantics (ste )Jan 13, 2026 2254 aria , semantics , accessibility Introducing the “<geolocation>” HTML Element (tom +)Jan 13, 2026 2253 introductions , geolocation , chrome , browsers A Polyfill for the HTML “switch” Element (tom )Jan 12, 2026 2252 forms , polyfills What Is the Minimum Markup Needed to Create a Modal? (rus )Jan 10, 2026 2251 modals , minimalism , css , accessibility Very Good Components (bee )Jan 8, 2026 2250 websites , components How Browsers Work (dmy )Jan 4, 2026 2249 websites , guides , browsers , urls , http , tcp , dom How Can You Tell What’s Allowed Inside Each HTML Element? (rus )Dec 31, 2025 2248 conformance HTML Content Categories (rus )Dec 30, 2025 2247 semantics The Final Nail in the HTML5 Document Outline Coffin (tem )Dec 29, 2025 2246 headings , accessibility Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch )Dec 29, 2025 2245 modals Revisiting HTML Streaming for Modern Web Performance (per )Dec 26, 2025 2244 performance , streaming The Three Semantics of HTML (mat )Dec 24, 2025 2243 semantics For the Love of “<details>” (dev /mat )Dec 23, 2025 2242 disclosure-widgets The HTML Elements Time Forgot (val /mat )Dec 22, 2025 2241 history 2026 Predictions: The Next Big Shifts in Web Accessibility (web )Dec 22, 2025 2240 accessibility , outlooks , ai , wcag The Two Most Important Tools for HTML Developers Dec 22, 2025 2239 tooling , conformance , minification , html-minifier , htmlnano , swc Why “role="button"” on a “<button>” Does Nothing (rus )Dec 22, 2025 2238 buttons , attributes , aria Styling by Language: Using the “lang” Attribute for Multilingual Design (mat )Dec 21, 2025 2237 internationalization , css Did You Know Some ARIA Roles Remove Child Semantics? (rus )Dec 21, 2025 2236 aria , semantics , accessibility The Many Lives of the Page Title (kat /mat )Dec 20, 2025 2235 user-experience , accessibility , wcag Semantics Beyond the Tag Name (kno /mat )Dec 19, 2025 2234 attributes , aria , semantics , accessibility Targeting by Reference in the Shadow DOM (mey )Dec 19, 2025 2233 shadow-dom , javascript The Anatomy of an Accessible Text Field (ink )Dec 19, 2025 2232 forms , accessibility , labels Accessibility Is Personal (css )Dec 19, 2025 2231 accessibility Forms Are a Badly Designed Part of HTML (jen /mat )Dec 18, 2025 2230 forms , standards Don’t Leave the Screen Reader Hungry (ger /mat )Dec 17, 2025 2229 emoji , screen-readers , accessibility How “aria-labelledby” Really Works (rus )Dec 17, 2025 2228 accessibility , aria , attributes State of HTML 2025 [Results] (sac /dev )Dec 16, 2025 2227 surveys , metrics Giving Pages a Clear Shape by Using Headings (mat )Dec 16, 2025 2226 headings Does Chrome Get the “<header>” Element Wrong? (rus )Dec 16, 2025 2225 aria , chrome , browsers I Ported JustHTML From Python to JavaScript With Codex CLI and GPT-5.2 in 4.5 Hours (sim )Dec 15, 2025 2224 migrating , ai , python , javascript , tooling , parsing Them’s the Breaks (tyl /mat )Dec 15, 2025 2223 The “<time>” Element Should Actually Do Something (nol )Dec 14, 2025 2222 time , semantics Hell Is Other People’s Markup (llo /mat )Dec 13, 2025 2221 auditing , tooling Changes in the World of HTML Minifiers (apo )Dec 13, 2025 2220 tooling , minification , html-minifier Why We Teach Our Students Progressive Enhancement (cyd )Dec 13, 2025 2219 progressive-enhancement , css , javascript , training How HTML Changes in EPUB (rob /mat )Dec 11, 2025 2218 epub , standards A11y Freedom Beaver (ste /mat )Dec 10, 2025 2217 accessibility , aria Useful Patterns for Building HTML Tools (sim )Dec 10, 2025 2216 ai , tooling Discover Dialog (sar /mat )Dec 9, 2025 2215 modals , javascript , css That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css )Dec 8, 2025 2214 css , learning What’s Wrong With This HTML, and Is It Valid? (pat /mat )Dec 8, 2025 2213 standards , conformance , web-platform Comparing HTML Minifiers (j9t )Dec 8, 2025 2212 minification , tooling , html-minifier , htmlnano , metrics , comparisons Controlling Dialogs and Popovers With the Invoker Commands API (sta /mat )Dec 7, 2025 2211 modals , pop-overs , apis , attributes Accessible by Design: The Role of the “lang” Attribute (col /mat )Dec 6, 2025 2210 accessibility , internationalization , attributes , metrics NoLoJS: Reducing the JS Workload With HTML and CSS (aar /per )Dec 6, 2025 2209 disclosure-widgets , forms , modals , pop-overs , navigation , scrolling , positioning IDREFs: What They Are and How to Use Them (kil /mat )Dec 5, 2025 2208 forms , aria , accessibility Referencing HTML Elements Inside Shadow DOM (meh /mat )Dec 4, 2025 2207 shadow-dom , web-components HTML Semantics: The Short Descriptions of All 113 Elements (j9t )Dec 3, 2025 2206 semantics , overviews Using the Ancient Evils for Debugging (bol /mat )Dec 2, 2025 2205 debugging Exploring Large HTML Documents on the Web (per )Dec 2, 2025 2204 performance , metrics How Modern Browsers Work (add )Nov 29, 2025 2203 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 2202 how-tos , eleventy , html-minifier , minification , optimization What Are Invokers? Interactivity Without JavaScript (tol /syn )Nov 26, 2025 2201 videos , javascript , pop-overs Testing Methods: Page Titled (dec )Nov 19, 2025 2200 accessibility , wcag , testing A Complete Guide to the HTML Number Input (oll )Nov 14, 2025 2199 guides , attributes , forms “::details-content”: Style Expandable Content Without Wrapper Divs (tre )Nov 11, 2025 2198 disclosure-widgets , css Why Headings Are Important in HTML: Structure, Accessibility, and SEO Nov 11, 2025 2197 headings , accessibility , seo Headings: Semantics, Fluidity, and Styling—Oh My! (geo /css )Nov 10, 2025 2196 headings , css Link vs. Button: Choosing the Right Element for the Right Job (tpg )Nov 10, 2025 2195 links , buttons , accessibility , wcag , comparisons Tailwind CSS Won the War… but We’re the Losers Nov 7, 2025 2194 tailwind , css , web-platform Explaining the Accessible Benefits of Using Semantic HTML Elements (geo /css )Nov 6, 2025 2193 semantics , accessibility Now Available: “On Web Development II”! (j9t )Nov 6, 2025 2192 books , css , engineering-management , maintainability , quality Just Use a Button (cfe )Oct 31, 2025 2191 buttons , semantics HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool Oct 30, 2025 2190 minification , tooling , windows , asp-net , retrospectives Parenthetical Asidenotes (mey )Oct 28, 2025 2189 css ChatGPT Sez Build With Semantics First (ste )Oct 28, 2025 2188 chatgpt , chatgpt-atlas , ai , browsers , semantics , accessibility Don’t Forget These Tags to Make HTML Work Like You Expect (jim )Oct 26, 2025 2187 What’s an Interactive Element? (mat )Oct 24, 2025 2186 focus , concepts Challenging the Idea of “Optional HTML” (mar )Oct 22, 2025 2185 guest-posts , minimalism Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod /wea )Oct 21, 2025 2184 css , javascript , links What State ARIA In? (tpg )Oct 20, 2025 2183 aria , accessibility Implicit Labels Aren’t (cfe )Oct 17, 2025 2182 forms , labels Headers, Headings, and Titles (tem )Oct 17, 2025 2181 headings , comparisons , terminology Page Headings Don’t Belong in the Header (tem )Oct 15, 2025 2180 headings , skip-links , accessibility A Look Into Customizable HTML “select” Elements Oct 15, 2025 2179 forms , css Tables: Beyond Rows and Columns (tpg )Oct 13, 2025 2178 accessibility , wcag , tables , semantics , jaws , nvda , screen-readers HTML “dialog”: Getting Accessibility and UX Right (jar )Oct 13, 2025 2177 modals , scrolling , accessibility , user-experience HTML—the Most Difficult Programming Language in the World (j9t )Oct 9, 2025 2176 programming , conformance , professionalism Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr /fro )Oct 7, 2025 2175 css , animations , scrolling , effects When to Use Modal vs. Dialog Components (a11 )Oct 7, 2025 2174 modals , aria , accessibility Lowriders and Websites (aaa )Oct 6, 2025 2173 css , craft Rethinking Cookie Dialogs (nat )Oct 6, 2025 2172 accessibility , disclosure-widgets , cookies , consent-management A Progressive Enhancement Challenge (chr /fro )Oct 3, 2025 2171 progressive-enhancement , javascript , feature-detection , support How to Optimize Viewport for Mobile for Faster Interactions (deb )Oct 1, 2025 2170 how-tos , viewport , mobile , performance , optimization Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg )Oct 1, 2025 2169 accessibility , wcag , conformance HTML’s Best Kept Secret: The “<output>” Tag (den )Oct 1, 2025 2168 Let’s Play Accordion With the HTML “details” Element (ale )Sep 27, 2025 2167 disclosure-widgets , accordions Creating a Truly Accessible Flip Card (sib /tpg )Sep 24, 2025 2166 css , javascript , accessibility Web Development for Beginners: Creating Web Pages via HTML (rau )Sep 23, 2025 2165 fundamentals , urls , servers , forms The “picture” Element (kev )Sep 18, 2025 2164 A Quick Primer on Accessible Pagination (kar )Sep 17, 2025 2163 introductions , accessibility , pagination , css , assistive-tech “aria-label” or “title”? Screen Reader Behaviour Explained (a11 )Sep 15, 2025 2162 attributes , accessibility , screen-readers Navigating the World of Web Accessibility With Sara Soueidan (sar +)Sep 12, 2025 2161 videos , interviews , accessibility , wcag , aria , css 2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t )Sep 10, 2025 2160 conformance , metrics , quality , craft Just Use HTML (cfe )Sep 10, 2025 2159 javascript Baby Steps Accessibility—Page Titles (dec )Sep 10, 2025 2158 microcontent , best-practices , accessibility Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn )Sep 8, 2025 2157 single-page-apps , usability , accessibility , seo , semantics Screen Reader HTML Support—Lookup (ste )Sep 7, 2025 2156 screen-readers , accessibility , support , overviews Your Images Are (Probably) Oversized Sep 5, 2025 2155 images , pixel-density Why Did I Ever Abandon HTML/CSS? (syl )Sep 2, 2025 2154 css Tricks to Write HTML and CSS 10× Faster (jay )Aug 29, 2025 2153 css , efficiency , tips-and-tricks You No Longer Need JavaScript (reb )Aug 28, 2025 2152 javascript , css , examples Opening a “details” Element From the URL (chr /fro )Aug 26, 2025 2151 disclosure-widgets , urls Hack to the Future—Frontend (the )Aug 26, 2025 2150 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 2149 how-tos , tables , accessibility Design Hacks From the Pre-CSS Era (den /hac )Aug 22, 2025 2148 tables , layout , hacks , history A Proposal for Inline LLM Instructions in HTML Based on llms.txt (ind )Aug 20, 2025 2147 ai , llmstxt The First Rule of ARIA (nat )Aug 18, 2025 2146 accessibility , aria , principles Covering “hidden=until-found” (geo /css )Aug 15, 2025 2145 hiding 5 Heading Accessibility Issues to Avoid (pop )Aug 11, 2025 2144 accessibility , headings A Progressive Complexity Manifesto (che )Aug 10, 2025 2143 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 2142 pop-overs , mobile , usability HTML Is Dead, Long Live HTML (unc )Aug 6, 2025 2141 css , dom , standards , metrics When HTML Speaks Clearly Aug 6, 2025 2140 accessibility , conformance , semantics A Few Things About the Anchor Element’s “href” You Might Not Have Known (jim )Aug 3, 2025 2139 attributes , links , data-urls More Than Just Text: The Real Power of Labels (tpg )Jul 31, 2025 2138 accessibility , labels , forms HTML-First, Framework-Second: Is JavaScript Finally Growing Up? Jul 29, 2025 2137 javascript , frameworks Web Components: Working With Shadow DOM (sma )Jul 28, 2025 2136 web-components , shadow-dom , dom The “figcaption” Problem (chr /fro )Jul 24, 2025 2135 css Why and How to Write Minimal and Valid HTML, a Link Guide (j9t )Jul 24, 2025 2134 minimalism , conformance , how-tos , guides , link-lists State of HTML 2025 Now Open (lea )Jul 22, 2025 2133 surveys How Semantics and ARIA Attributes Support Accessible Design (tpg )Jul 22, 2025 2132 accessibility , semantics , aria , attributes Super Short Note: Placeholder Perfidy (ste )Jul 21, 2025 2131 accessibility , placeholders Why Semantic HTML Still Matters (jon )Jul 21, 2025 2130 semantics A Label and a Name Walk Into a Bar (ste )Jul 14, 2025 2129 accessibility , labels , concepts , examples Why I’m Writing Pure HTML and CSS in 2025 Jul 14, 2025 2128 css Screen Reader HTML Support Tables (ste /tet )Jul 10, 2025 2127 support , screen-readers , jaws , nvda , accessibility HTML Minifier Next (a Maintained Fork of HTML Minifier) (j9t )Jul 9, 2025 2126 html-minifier , minification , optimization , tooling HTML Day 2025 (htm )Jul 7, 2025 2125 awareness-days What Is “popover=hint”? (una )Jul 7, 2025 2124 attributes , pop-overs Shadow DOM: The Ultimate Solution for Embedding Third-Party HTML Without CSS Conflicts Jul 2, 2025 2123 shadow-dom , dom , css Custom Select (That Comes Up From the Bottom on Mobile) (chr /fro )Jul 1, 2025 2122 forms , css , animations , progressive-enhancement , mobile Tabindex: What It Is, How It Works, and When to Use It (pop )Jul 1, 2025 2121 focus , keyboard-navigation , accessibility Google: Many Top Sites Have Invalid HTML and Still Rank (mat /sea )Jun 30, 2025 2120 google , conformance , quality , seo A Step Into the Spatial Web: The HTML Model Element in Apple Vision Pro (zac /web )Jun 26, 2025 2119 spatial-web , apple , xr The Mythical Magical Button (cri )Jun 24, 2025 2118 buttons , css , custom-properties , custom-data Know Your HTML (Yes, TSX Included) (hel )Jun 23, 2025 2117 semantics , accessibility CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma )Jun 19, 2025 2116 css , cascade , bem , presentational-html Selfish Reasons for Building Accessible Uis (nol )Jun 16, 2025 2115 accessibility , debugging , testing What I Wish Someone Told Me When I Was Getting Into ARIA (eri /sma )Jun 16, 2025 2114 accessibility , aria , assistive-tech , support Having “figure” Match Width of Contained Image (jef )Jun 13, 2025 2113 css , images Why Visual Website Builders Didn’t Take Off (whi )Jun 12, 2025 2112 videos , code-editors , wysiwyg , history HTML Spec Change: Escaping “<” and “>” in Attributes (sec )Jun 12, 2025 2111 attributes , escaping , security , xss Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec )Jun 12, 2025 2110 attributes , security , xss , escaping , chrome , browsers Is HTML Not a Programming Language? Jun 11, 2025 2109 programming Creating an Auto-Closing Notification With an HTML Popover (pre /css )Jun 9, 2025 2108 notifications , pop-overs ARIA/HTML Relationship Severance (ste )Jun 7, 2025 2107 accessibility , aria The “<output>” Element (kev )Jun 6, 2025 2106 “aria-selected”: Practical Examples and Use Cases (flo /a11 )Jun 5, 2025 2105 accessibility , aria , examples HTML-Native Accordions (cfe )Jun 5, 2025 2104 accordions How to Use ARIA Roles and Properties Effectively Jun 4, 2025 2103 how-tos , aria , accessibility Getting Creative With HTML Dialog (mal /css )Jun 3, 2025 2102 modals HTML Only Experiments (ala )May 30, 2025 2101 websites , experiments Up and Coming ARIA (web )May 30, 2025 2100 accessibility , aria The “col” Element (hey )May 29, 2025 2099 tables , semantics The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t )May 27, 2025 2098 minimalism , maintainability What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale )May 26, 2025 2097 css , conditional-comments , lessons Decorative Text Within HTML (ede )May 25, 2025 2096 attributes , css , formatting Making Scannable Web Pages for Assistive Technology (jar )May 23, 2025 2095 accessibility , assistive-tech , design , headings , semantics The “datalist” Element (kev )May 22, 2025 2094 forms Styling the Icon for HTML Date and Time Types (cas )May 21, 2025 2093 forms , css , time The “caption” Element (hey )May 20, 2025 2092 tables , semantics Expanding/Collapsing With “details” (ons /oze )May 17, 2025 2091 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 2090 internationalization , localization , conversion How Often Should We Speak About HTML Conformance? (j9t )May 14, 2025 2089 conformance , metrics Just Fucking Use HTML (kyr )May 12, 2025 2088 websites Enhancements to the Proposed “<permission>” Element (tom )May 12, 2025 2087 Foundations: Keyboard Accessibility (tet )May 9, 2025 2086 fundamentals , accessibility , keyboard-navigation , focus The True Path to Garbage Code: Figma Sites (joe )May 9, 2025 2085 figma , quality , semantics , accessibility The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo /a11 )May 6, 2025 2084 accessibility , aria , best-practices K.I.S.S. ARIA (nat )May 5, 2025 2083 aria , accessibility The “code” Element (hey )May 5, 2025 2082 markdown Revisiting Image Maps (mal /css )Apr 30, 2025 2081 images , image-maps , techniques The “cite” Element (hey )Apr 30, 2025 2080 semantics Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr /fro )Apr 29, 2025 2079 maintainability Anchor Positioning Just Don’t Care About Source Order (geo /css )Apr 28, 2025 2078 css , anchor-positioning , source-order Giving Software Away for Free (sim )Apr 28, 2025 2077 foss , hosting , javascript Menu and Navigation: The Difference (stv )Apr 28, 2025 2076 navigation , pagination , aria , accessibility The “canvas” Element (hey )Apr 28, 2025 2075 canvas , semantics Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code Apr 25, 2025 2074 accessibility , semantics , community HTML Oddities: Does the Order of Attribute Values Matter? (ede )Apr 24, 2025 2073 attributes , css , selectors “input type="color"” (kev )Apr 24, 2025 2072 forms , colors The Problem(s) With Image Accessibility Apr 23, 2025 2071 accessibility , images , alt-text Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t )Apr 23, 2025 2070 guest-posts , minimalism , conformance , semantics , interoperability , accessibility , standards Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod )Apr 18, 2025 2069 lists , semantics Creating an Accessible Accordion With HTML Description Lists (kar )Apr 17, 2025 2068 accessibility , lists , accordions 5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t )Apr 16, 2025 2067 performance , optimization Default Styles for “h1” Elements Are Changing (zco /mdn )Apr 11, 2025 2066 css , headings , browsers 5 Ways to Reduce HTML File Size on Your Website (deb )Apr 10, 2025 2065 minification , compression , performance , optimization ARIA in HTML (sco +/w3c )Apr 9, 2025 2064 standards , accessibility , aria Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil +)Apr 9, 2025 2063 podcasts , interviews , wordpress , apis , dom Strings Are a Leaky Abstraction for HTML (joe )Apr 8, 2025 2062 strings Hiding Elements That Require JavaScript Without JavaScript (0xd )Apr 5, 2025 2061 javascript , css Tweaking Text Level Styles, Reprised (aar )Apr 5, 2025 2060 css , accessibility , support , browsers , screen-readers CSS-Only Glitch Effect Apr 3, 2025 2059 css , effects Markup Languages (j9t )Mar 28, 2025 2058 overviews , link-lists , sgml , xml , xhtml , hdml , dhtml , mathml , wml , chtml “input type="number"” (kev )Mar 25, 2025 2057 forms “aria-label” Is a Letdown (thi /wag )Mar 24, 2025 2056 accessibility , aria , labels Create an HTML Dialog When You Click an Image (cas )Mar 21, 2025 2055 images , modals The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom )Mar 20, 2025 2054 attributes , browsers , support , web-platform Quick Accessibility Wins That Are Easy to Implement (kev )Mar 19, 2025 2053 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 2052 css , view-transitions , minimalism A Review of HTML Linters Mar 17, 2025 2051 overviews , linting , conformance , tooling , link-lists , comparisons Is React Accessible? That’s the Wrong Question Mar 17, 2025 2050 accessibility , react , jsx , semantics Web Components vs. Framework Components: What’s the Difference? (sma )Mar 17, 2025 2049 web-components , components , frameworks , comparisons Popping Preconceived Popover Ponderings (sco )Mar 14, 2025 2048 accessibility , pop-overs Future of CSS: “select” Styling Without the Hacks Mar 10, 2025 2047 css , selectors , forms Creating Animated Accordions With the “details” Element and Modern CSS (ste /bui )Mar 7, 2025 2046 css , disclosure-widgets , accordions , animations , transitions Implementing “aria-describedby” for Web Accessibility (flo /a11 )Mar 7, 2025 2045 accessibility , aria , forms , labels Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb )Mar 7, 2025 2044 performance , css , data-urls , compression , base64 Introducing “command” and “commandfor” (kei )Mar 7, 2025 2043 introductions , attributes DeepSeek and HTML (j9t )Mar 7, 2025 2042 ai , deepseek , minimalism , conformance Cool Native HTML Elements You Should Already Be Using (hrr )Mar 6, 2025 2041 modals , disclosure-widgets , forms , progress-indicators Grouping Selection List Items Together With CSS Grid (pre /css )Mar 5, 2025 2040 lists , forms , css , grids , layout Building Websites With LLMS (jim )Mar 4, 2025 2039 css , view-transitions Using and Styling the “details” Element (geo /css )Mar 4, 2025 2038 css , disclosure-widgets , examples The Professional Standing of Frontend Developers (mar )Mar 4, 2025 2037 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 2036 apis CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod )Mar 3, 2025 2035 css , art There’s No Such Thing as “Menubar Navigation” (tem )Feb 28, 2025 2034 accessibility , navigation When to Use Lists for Better Accessibility Feb 27, 2025 2033 accessibility , lists Fixing “rowspan=0” on Tables on WebKit (kar )Feb 21, 2025 2032 tables , webkit , browser-engines , browsers Everything You Need to Know About Invoker Commands (kei /web )Feb 21, 2025 2031 videos , pop-overs Introduction to Frontend Development Feb 21, 2025 2030 introductions , css , javascript , frameworks , libraries , tooling , career , trends “ruby-align” Is Baseline Newly Available Feb 21, 2025 2029 ruby-markup , css , browsers , support , web-platform Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch )Feb 17, 2025 2028 accessibility , search , hiding , browsers It’s Right There in the Back of the Book (hom )Feb 17, 2025 2027 accessibility , semantics Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas /pic )Feb 13, 2025 2026 forms Which HTML Element Are You? Feb 13, 2025 2025 quizzes Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t )Feb 12, 2025 2024 frameworks , javascript , conformance , comparisons , link-lists Optimizing Images for Web Performance (tod /fro )Feb 10, 2025 2023 images , performance , optimization , jpeg , png , webp , avif , caching Taking RWD to the Extreme (sma )Feb 7, 2025 2022 responsive-design , intrinsic-design , css How to Declare Your Page’s Language (pop )Feb 5, 2025 2021 how-tos , internationalization HTML and CSS for a One-Time Password Input (chr /fro )Feb 5, 2025 2020 css , forms , passwords A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl /clo )Feb 4, 2025 2019 forms , lists , css Using Padding to Space an Input and Label (dar )Feb 4, 2025 2018 forms , labels , spacing , css Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet )Jan 31, 2025 2017 fundamentals , forms , aria How to Set Up an Accessible Page Structure and Navigation (pop )Jan 31, 2025 2016 how-tos , accessibility , navigation XHTML in Modern Web Development (mar )Jan 30, 2025 2015 guest-posts , xhtml What Text Area Popovers Taught Me About Browser APIs (bla )Jan 28, 2025 2014 forms , apis , javascript Only One “<details>” Open at a Time (osv )Jan 25, 2025 2013 disclosure-widgets Creating an Angled Slider (zac /fro )Jan 22, 2025 2012 sliders , css , effects Don’t Wrap Figure in a Link (aar )Jan 16, 2025 2011 links , screen-readers , accessibility 23 HTML Cheat Sheets, for a Different Look at HTML (fro )Jan 16, 2025 2010 cheat-sheets , link-lists Learning HTML Is the Best Investment I Ever Did (cod )Jan 15, 2025 2009 learning , career HTML Developers: Please Consider—in the Year of 2025 (ste )Jan 11, 2025 2008 aria , accessibility Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi /dat )Jan 9, 2025 2007 scraping , tooling , nodejs , rag Sharing a Variable Across HTML, CSS, and JavaScript (chr /fro )Jan 8, 2025 2006 variables , css , javascript Lesser Known Uses of Better Known Attributes (sma )Jan 8, 2025 2005 attributes Accessibility Essentials Every Front-End Developer Should Know (mar )Jan 7, 2025 2004 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 2003 accessibility , screen-readers , support How to Order Attributes on HTML Elements Jan 6, 2025 2002 how-tos , attributes , sorting , conventions Relatively New Things You Should Know About HTML Heading Into 2025 (chr /fro )Jan 6, 2025 2001 forms , toggles , pop-overs , javascript , import-maps , css , transitions The Difference Between HTML Attributes and Properties (pau /clo )Jan 6, 2025 2000 attributes , javascript , terminology Use “translate” to Turn Off Element Translations (ste )Jan 6, 2025 1999 localization HTML Is Actually a Programming Language—Fight Me (tim /wir )Jan 6, 2025 1998 programming Updated Brief Note on Description List Support (aar )Jan 3, 2025 1997 lists , semantics , accessibility , screen-readers , support Datalists Are More Powerful Than You Think (two /mat )Dec 29, 2024 1996 Media (ste +/htt )Dec 29, 2024 1995 web-almanac , studies , research , metrics , multimedia , images Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale /mat )Dec 27, 2024 1994 buttons , icons , images , accessibility , screen-readers Why Heading Order Matters in HTML (gra )Dec 27, 2024 1993 headings , accessibility The Underrated “<dl>” Element (luh /mat )Dec 26, 2024 1992 lists Preloading Fonts for Web Performance With “link rel=preload” (acc /mat )Dec 25, 2024 1991 performance , preloading , fonts , hints The Search Input: They Almost Got It Right (stv /mat )Dec 24, 2024 1990 forms , labels , screen-readers , assistive-tech , accessibility The Devil Is in the “<details>” (mat )Dec 23, 2024 1989 disclosure-widgets Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer )Dec 22, 2024 1988 accessibility , tables PSA: Stop Using the “title” Attribute as Tooltip (dni /mat )Dec 22, 2024 1987 attributes , tooltips , toggles , accessibility Accessibility First: How to Design Inclusive Frontend Experiences Dec 22, 2024 1986 how-tos , design , accessibility , semantics , alt-text , keyboard-navigation , aria , contrast , forms , focus Grouping Form Fields (mat )Dec 21, 2024 1985 forms My Favourite Colour Is Chuck Norris Red (val /mat )Dec 20, 2024 1984 colors No ARIA Is Better Than Bad ARIA (kar )Dec 20, 2024 1983 videos , accessibility , aria Getting Oriented With HTML Video (sco /mat )Dec 19, 2024 1982 multimedia , web-components Microdata for Books (ala /mat )Dec 18, 2024 1981 microdata HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t )Dec 17, 2024 1980 conformance , tooling , npm , comparisons You Don’t Need the “isOpen” Class (mau /mat )Dec 16, 2024 1979 aria , accessibility HTML “inert” Attribute (stv /5t3 )Dec 15, 2024 1978 attributes The Gift You Do Not Want: A Div in a Button’s Clothing (mat )Dec 15, 2024 1977 buttons , accessibility Page by Page: How Pagination Makes the Web Accessible (mat )Dec 14, 2024 1976 accessibility , pagination , css , svg ARIA in HTML (sco +/w3c )Dec 13, 2024 1975 standards , accessibility , aria Improving User Experience for Multilingual Web Browsing (mat )Dec 13, 2024 1974 user-experience , internationalization HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (mat )Dec 12, 2024 1973 ruby-markup , css , internationalization Makeshift Hot Reload (eva /mat )Dec 11, 2024 1972 metadata On-Page SEO Checklist: The Complete Task List for 2025 (sem )Dec 10, 2024 1971 seo , checklists , semantics Submit to the Quirks of HTML (fel /mat )Dec 10, 2024 1970 forms Native HTML Light and Dark Color Scheme Switching (pep /mat )Dec 9, 2024 1969 dark-mode , css , javascript , functionality Past HTML, Future HTML? (j9t /mat )Dec 8, 2024 1968 Almost, but Not Quite, Entirely Unlike… (tin /mat )Dec 7, 2024 1967 accessibility , buttons , ai What Do the State of CSS and HTML Surveys Tell Us? Dec 6, 2024 1966 web-platform , css , community What Is HTML Optimization? What Is It Not? (j9t )Dec 5, 2024 1965 optimization , terminology Control the Viewport Resize Behavior on Mobile With “interactive-widget” (bra /mat )Dec 4, 2024 1964 css , units , viewport , resizing , mobile , metadata Creating an Effective Multistep Form for Better User Experience (sma )Dec 3, 2024 1963 forms , javascript , user-experience Starting Off Right: Where Autofocus Shines (kil /mat )Dec 2, 2024 1962 forms , focus The HTML Native Search Element (tre )Dec 2, 2024 1961 semantics Character-Based Alignment (css )Nov 29, 2024 1960 css , alignment Preloading Responsive Images (tre )Nov 28, 2024 1959 images , hints , performance , preloading A Button Is Not a Link (mor /mat )Nov 26, 2024 1958 buttons , links Language of Parts Bookmarklet (bea )Nov 25, 2024 1957 bookmarklets , metadata , accessibility Old Alt Text Advice (ste )Nov 23, 2024 1956 accessibility , images , alt-text , microcontent , best-practices Avoid Read-Only Controls (aar )Nov 21, 2024 1955 forms , accessibility Where Has All the Valid HTML Gone (j9t )Nov 21, 2024 1954 conformance , quality My 3 Most-Wanted CSS Table Features (dar )Nov 20, 2024 1953 css , tables , wish-lists Importing a Frontend JavaScript Library Without a Build System (b0r )Nov 18, 2024 1952 javascript , libraries , commonjs , esm , nodejs Native Dual-Range Input Nov 18, 2024 1951 forms , css State of HTML 2024 [Results] (sac /dev )Nov 14, 2024 1950 surveys , metrics The “br” Element (hey )Nov 12, 2024 1949 semantics Markup (gua /htt )Nov 11, 2024 1948 web-almanac , studies , research , metrics State of CSS and State of HTML 2024 (pat )Nov 8, 2024 1947 css The Path to Learn Web Development (fla )Nov 8, 2024 1946 learning , http , css , tooling , git , javascript , typescript , databases , frameworks How to Identify Decorative Images and Boost Accessibility (a11 )Nov 7, 2024 1945 how-tos , images , decoration , accessibility , aria The Lowdown on Dropdowns in HTML and CSS (dav /zer )Nov 7, 2024 1944 css More Options for Styling “<details>” (bra )Nov 6, 2024 1943 disclosure-widgets , css How Do HTML Event Handlers Work? (tbr )Nov 5, 2024 1942 javascript , events Disabled and Obscured (ste )Nov 4, 2024 1941 accessibility , forms , wcag , standards The “button” Element (hey )Nov 4, 2024 1940 semantics , buttons , links HTML Cheat Sheet Nov 4, 2024 1939 semantics , examples , cheat-sheets Building My Resume in HTML Using Eleventy (men )Nov 3, 2024 1938 career , eleventy 20 HTML Tips You Must Know in 2024 (xiu )Nov 2, 2024 1937 tips-and-tricks The “<details>” and “<summary>” Elements Are Getting an Upgrade (sea )Nov 1, 2024 1936 disclosure-widgets 25 Accessibility Tips to Celebrate 25 Years (jar /web )Oct 31, 2024 1935 accessibility , tips-and-tricks , aria The “body” Element (hey )Oct 31, 2024 1934 semantics Clarifying the Relationship Between Popovers and Dialogs (zel /css )Oct 29, 2024 1933 pop-overs , modals , comparisons , accessibility Come to the “light-dark()” Side (sar /css )Oct 29, 2024 1932 dark-mode , css , colors HTML Form Validation Is Heavily Underused Oct 28, 2024 1931 forms , validation , react Talkin’ Tables (aar /web )Oct 25, 2024 1930 videos , accessibility , tables Why Does “target="_blank"” Have an Underscore in Front? (kyr )Oct 25, 2024 1929 frames , links My Top 5 Most Popular Front-End Tips (kev )Oct 23, 2024 1928 videos , css , forms , tips-and-tricks How Should “<selectedoption>” Work? (jaf )Oct 18, 2024 1927 forms An HTML Email Template With Basic Typography and Dark/light Modes (chr /fro )Oct 17, 2024 1926 templates , email , typography , dark-mode I’ve Been Doing Blockquotes Wrong (mic )Oct 16, 2024 1925 Using Static Websites for Tiny Archives Oct 16, 2024 1924 css The “blockquote” Element (hey )Oct 14, 2024 1923 semantics My Eulogy for the Open Web and Old Google Oct 13, 2024 1922 open-web , google HTML/CSS Frameworks, in Their Own Words (by Word Cloud) (j9t )Oct 11, 2024 1921 frameworks , css , bootstrap , tailwind , foundation , bulma , milligram , pure , uikit , comparisons HTML for People (bw )Oct 10, 2024 1920 books , websites , examples The New Stylable “<select>” Element (jaf +)Oct 8, 2024 1919 podcasts , css , apis , forms No Industry for Old Men (ste /web )Oct 7, 2024 1918 videos , retrospectives , aria , browsers , screen-readers , accessibility , w3c The Popover API: Your New Best Friend for Tooltips (dev )Oct 7, 2024 1917 pop-overs , apis , tooltips , css , javascript Web Components: Little Bits (dav /web )Oct 7, 2024 1916 videos , web-components Practical Accessibility Tips You Can Apply Today (pic )Oct 3, 2024 1915 accessibility , tips-and-tricks An Interesting HTML Parser Conundrum (dbu )Oct 1, 2024 1914 parsing The “bdi” Element (hey )Sep 30, 2024 1913 semantics , internationalization What’s the Difference Between HTML’s Dialog Element and Popovers? (chr /fro )Sep 30, 2024 1912 modals , pop-overs , comparisons How to Learn HTML: 46 Great Sites, Courses, and Books (All Free) Sep 29, 2024 1911 how-tos , learning , courses , books , link-lists