What’s !important #10: HTML-in-Canvas, Hex Maps, E-Ink Optimization, and More (dxn /css )May 1, 2026 2,101 css , retrospectives , canvas , apis , images , web-platform Hard to Read One-Liners (kri )Apr 28, 2026 2,100 css , collaboration The End of Responsive Images (wil /pic )Apr 23, 2026 2,099 images , responsive-design Visual Validation Feedback for Form Fields (aar )Apr 22, 2026 2,098 forms , validation , javascript The Web Is Fun Again: First Experiments With HTML in Canvas (ami /fro )Apr 21, 2026 2,097 experiments , canvas , javascript A11y 101: 3.1.1 Language of Page (nat )Apr 20, 2026 2,096 introductions , accessibility , wcag , localization Video as Code: A Deep Dive Into HeyGen’s Hyperframes Apr 19, 2026 2,095 deep-dives , multimedia , css , tooling The Radio State Machine (ami /css )Apr 14, 2026 2,094 css , state-management The Community Has Spoken, Now We Need Browsers Vendors to Help: A “<rangegroup>” Update (uti )Apr 14, 2026 2,093 community , browsers Why AI Sucks at Front End (arg )Apr 12, 2026 2,092 ai , css How to Use Standard HTML Video and Audio Lazy-Loading on the Web Today (sco )Apr 7, 2026 2,091 how-tos , multimedia , lazy-loading , performance Old Advice: Hiding Content Has No Effect on Accessible Name or Description Calculation (ste )Apr 7, 2026 2,090 accessibility , hiding , aria Making Emojis and Icons Screen Reader Accessible (pop )Apr 1, 2026 2,089 emoji , icons , images , accessibility , screen-readers Semantic HTML Just Might Make Your CSS Less Fragile (sch )Mar 30, 2026 2,088 css , semantics , resilience There’s No Need to Include “Navigation” in Your Navigation Labels (tem )Mar 30, 2026 2,087 accessibility , labels , navigation Mike Smith Fireside (ste )Mar 29, 2026 2,086 videos , interviews , standards , accessibility , community Bad Example: Timesheet Submit Button (rac )Mar 27, 2026 2,085 buttons , accessibility Quick Tip: Don’t Use “<abbr>” (nat )Mar 20, 2026 2,084 tips-and-tricks , screen-readers , support , accessibility Astro: How to Set Up More Powerful HTML Minification (in 31 Seconds) (j9t )Mar 17, 2026 2,083 how-tos , astro , html-minifier , minification , optimization New Bookmarklet—Structure Revealer (llo )Mar 13, 2026 2,082 bookmarklets , accessibility Abusing Customizable Selects (pat /css )Mar 11, 2026 2,081 forms , css , functions The Enforced Accessibility of the “geolocation” Element (chr /fro )Mar 9, 2026 2,080 geolocation , accessibility Testing Browser Support for “focusgroup” (ada )Mar 9, 2026 2,079 attributes , focus , javascript The Different Ways to Select “<html>” in CSS (dxn /css )Mar 5, 2026 2,078 css , selectors You Don’t Know HTML Tables Mar 5, 2026 2,077 tables , javascript Request for Developer Feedback: “focusgroup” (jac )Mar 5, 2026 2,076 attributes , chromium , browsers Your Skip Link Targets May Not Need “tabindex=-1” to Work Properly (mat )Mar 4, 2026 2,075 skip-links , attributes , accessibility 1995: From Batman Forever’s Cinematic Design to HTML Tables (ric )Mar 3, 2026 2,074 web , history , design , netscape , mosaic , browsers , tables , layout , wysiwyg , code-editors Figcaptions Versus Alt Text (tem )Feb 28, 2026 2,073 images , alt-text , accessibility , comparisons You Can Use Newline Characters in URLs (lem )Feb 28, 2026 2,072 urls , data-urls , links , attributes “role=presentation” Is No Alternative for “aria-hidden=true” (mat )Feb 27, 2026 2,071 accessibility , aria , attributes , comparisons When Is a Link Not a Link? (dec )Feb 25, 2026 2,070 links , semantics , accessibility Matt May Speaks (mat +)Feb 23, 2026 2,069 videos , interviews , accessibility , standards “aria-haspopup” Might Not Do What You Think It Does (mat )Feb 23, 2026 2,068 aria , attributes , navigation , accessibility Standard HTML Video and Audio Lazy-Loading Is Coming (sco )Feb 22, 2026 2,067 multimedia , lazy-loading , standards , performance Native HTML Components Don’t Guarantee Good UX (ada )Feb 22, 2026 2,066 components , user-experience An Official* Logo for HTML (zac )Feb 20, 2026 2,065 Everything You Never Wanted to Know About “visually-hidden” (dbu )Feb 20, 2026 2,064 css , hiding , accessibility Notes on Relying on the ARIA Authoring Practices Guide (ste )Feb 19, 2026 2,063 aria , accessibility Mastering Dialog Accessibility Feb 12, 2026 2,062 accessibility , modals , aria You Might Not Need “role="presentation"” (stv /pic )Feb 12, 2026 2,061 aria , accessibility Virtual Scrolling for Billions of Rows—Techniques From HighTable (sev )Feb 12, 2026 2,060 tables , scrolling , performance , react You Know What? Just Don’t Split Words Into Letters (aar )Feb 10, 2026 2,059 accessibility , screen-readers , support Trying to Make the Perfect Pie Chart in CSS (mon /css )Feb 9, 2026 2,058 css How to Improve Your HTML Game (j9t )Feb 5, 2026 2,057 how-tos , conformance , learning , career Introduction to the New HTML Element “<geolocation>” (mat )Feb 4, 2026 2,056 introductions , geolocation Accessible Inline Collapsible (eri )Feb 2, 2026 2,055 accessibility , disclosure-widgets Repeatable Form Fields Made Simple (aar )Jan 31, 2026 2,054 forms , web-components More Invoker Commands, and More Reasons Not to Use JavaScript Please (paw )Jan 27, 2026 2,053 examples SPAs Are a Performance Dead End (yeg )Jan 25, 2026 2,052 single-page-apps , performance Barriers From Links With ARIA (aar )Jan 22, 2026 2,051 accessibility , links , aria I Learned the First Rule of ARIA the Hard Way (css )Jan 21, 2026 2,050 accessibility , aria , semantics Faking a Fieldset-Legend (tyl /clo )Jan 20, 2026 2,049 forms , css SEO (htt )Jan 15, 2026 2,048 web-almanac , studies , research , metrics , seo , robotstxt , llmstxt , links , content , structured-data , amp , internationalization Accessible Faux-Nested Interactive Controls (eri /pic )Jan 15, 2026 2,047 accessibility , conformance , nesting The Incredible Overcomplexity of the Shadcn Radio Button (pau )Jan 15, 2026 2,046 forms , complexity EPUB and HTML—Survey Results and Next Steps (rei /w3c )Jan 14, 2026 2,045 surveys , epub So You Think Your Website Is Doing Great (cit )Jan 14, 2026 2,044 javascript , css , quality ARIA Roles Can Remove Their Children’s Semantics (ste )Jan 13, 2026 2,043 aria , semantics , accessibility Introducing the “<geolocation>” HTML Element (tom +)Jan 13, 2026 2,042 introductions , geolocation , chrome , google , browsers A Polyfill for the HTML “switch” Element (tom )Jan 12, 2026 2,041 forms , polyfills What Is the Minimum Markup Needed to Create a Modal? Jan 10, 2026 2,040 modals , minimalism , css , accessibility Very Good Components (bee )Jan 8, 2026 2,039 websites , components How Browsers Work (dmy )Jan 4, 2026 2,038 websites , guides , browsers , urls , http , tcp , dom How Can You Tell What’s Allowed Inside Each HTML Element? Dec 31, 2025 2,037 conformance HTML Content Categories Dec 30, 2025 2,036 semantics The Final Nail in the HTML5 Document Outline Coffin (tem )Dec 29, 2025 2,035 headings , accessibility Opening and Closing Dialogs Without JavaScript Using HTML Invoker Commands (sch )Dec 29, 2025 2,034 modals Revisiting HTML Streaming for Modern Web Performance (per )Dec 26, 2025 2,033 performance , streaming The Three Semantics of HTML (mat )Dec 24, 2025 2,032 semantics For the Love of “<details>” (dev /mat )Dec 23, 2025 2,031 disclosure-widgets The HTML Elements Time Forgot (val /mat )Dec 22, 2025 2,030 history 2026 Predictions: The Next Big Shifts in Web Accessibility (web )Dec 22, 2025 2,029 accessibility , outlooks , ai , wcag The Two Most Important Tools for HTML Developers Dec 22, 2025 2,028 tooling , conformance , minification , html-minifier , htmlnano , swc Why “role="button"” on a “<button>” Does Nothing Dec 22, 2025 2,027 buttons , attributes , aria Styling by Language: Using the “lang” Attribute for Multilingual Design (mat )Dec 21, 2025 2,026 internationalization , css Did You Know Some ARIA Roles Remove Child Semantics? Dec 21, 2025 2,025 aria , semantics , accessibility The Many Lives of the Page Title (kat /mat )Dec 20, 2025 2,024 user-experience , accessibility , wcag Semantics Beyond the Tag Name (kno /mat )Dec 19, 2025 2,023 attributes , aria , semantics , accessibility Targeting by Reference in the Shadow DOM (mey )Dec 19, 2025 2,022 shadow-dom , javascript The Anatomy of an Accessible Text Field (ink )Dec 19, 2025 2,021 forms , accessibility , labels Accessibility Is Personal (css )Dec 19, 2025 2,020 accessibility Forms Are a Badly Designed Part of HTML (jen /mat )Dec 18, 2025 2,019 forms , standards Don’t Leave the Screen Reader Hungry (ger /mat )Dec 17, 2025 2,018 emoji , screen-readers , accessibility How “aria-labelledby” Really Works Dec 17, 2025 2,017 accessibility , aria , attributes State of HTML 2025 [Results] (sac /dev )Dec 16, 2025 2,016 surveys , metrics Giving Pages a Clear Shape by Using Headings (mat )Dec 16, 2025 2,015 headings Does Chrome Get the “<header>” Element Wrong? Dec 16, 2025 2,014 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 2,013 migrating , ai , python , javascript , tooling , parsing Them’s the Breaks (tyl /mat )Dec 15, 2025 2,012 The “<time>” Element Should Actually Do Something (nol )Dec 14, 2025 2,011 time , semantics Hell Is Other People’s Markup (llo /mat )Dec 13, 2025 2,010 auditing , tooling Changes in the World of HTML Minifiers (apo )Dec 13, 2025 2,009 tooling , minification , html-minifier Why We Teach Our Students Progressive Enhancement (cyd )Dec 13, 2025 2,008 progressive-enhancement , css , javascript , training How HTML Changes in EPUB (rob /mat )Dec 11, 2025 2,007 epub , standards A11y Freedom Beaver (ste /mat )Dec 10, 2025 2,006 accessibility , aria Useful Patterns for Building HTML Tools (sim )Dec 10, 2025 2,005 ai , tooling Discover Dialog (sar /mat )Dec 9, 2025 2,004 modals , javascript , css That Time I Tried Explaining HTML and CSS to My 5-Year Old Niece (css )Dec 8, 2025 2,003 css , learning What’s Wrong With This HTML, and Is It Valid? (pat /mat )Dec 8, 2025 2,002 standards , conformance , web-platform Comparing HTML Minifiers (j9t )Dec 8, 2025 2,001 minification , tooling , html-minifier , htmlnano , metrics , comparisons Controlling Dialogs and Popovers With the Invoker Commands API (sta /mat )Dec 7, 2025 2,000 modals , pop-overs , apis , attributes Accessible by Design: The Role of the “lang” Attribute (col /mat )Dec 6, 2025 1,999 accessibility , internationalization , attributes , metrics NoLoJS: Reducing the JS Workload With HTML and CSS (aar /per )Dec 6, 2025 1,998 disclosure-widgets , forms , modals , pop-overs , navigation , scrolling , positioning IDREFs: What They Are and How to Use Them (kil /mat )Dec 5, 2025 1,997 forms , aria , accessibility Referencing HTML Elements Inside Shadow DOM (meh /mat )Dec 4, 2025 1,996 shadow-dom , web-components HTML Semantics: The Short Descriptions of All 113 Elements (j9t )Dec 3, 2025 1,995 semantics , overviews Using the Ancient Evils for Debugging (bol /mat )Dec 2, 2025 1,994 debugging Exploring Large HTML Documents on the Web (per )Dec 2, 2025 1,993 performance , metrics How Modern Browsers Work (add )Nov 29, 2025 1,992 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 1,991 how-tos , eleventy , html-minifier , minification , optimization What Are Invokers? Interactivity Without JavaScript (tol /syn )Nov 26, 2025 1,990 videos , javascript , pop-overs Testing Methods: Page Titled (dec )Nov 19, 2025 1,989 accessibility , wcag , testing A Complete Guide to the HTML Number Input (oll )Nov 14, 2025 1,988 guides , attributes , forms “::details-content”: Style Expandable Content Without Wrapper Divs (tre )Nov 11, 2025 1,987 disclosure-widgets , css Why Headings Are Important in HTML: Structure, Accessibility, and SEO Nov 11, 2025 1,986 headings , accessibility , seo Headings: Semantics, Fluidity, and Styling—Oh My! (geo /css )Nov 10, 2025 1,985 headings , css Link vs. Button: Choosing the Right Element for the Right Job (tpg )Nov 10, 2025 1,984 links , buttons , accessibility , wcag , comparisons Tailwind CSS Won the War… but We’re the Losers Nov 7, 2025 1,983 tailwind , css , web-platform Explaining the Accessible Benefits of Using Semantic HTML Elements (geo /css )Nov 6, 2025 1,982 semantics , accessibility Now Available: “On Web Development II”! (j9t )Nov 6, 2025 1,981 books , css , engineering-management , maintainability , quality Just Use a Button (cfe )Oct 31, 2025 1,980 buttons , semantics HTML Minifier: A 12-Year Journey Building and Maintaining an Open Source Tool Oct 30, 2025 1,979 minification , tooling , windows , asp-net , retrospectives Parenthetical Asidenotes (mey )Oct 28, 2025 1,978 css ChatGPT Sez Build With Semantics First (ste )Oct 28, 2025 1,977 chatgpt , chatgpt-atlas , ai , openai , browsers , semantics , accessibility Don’t Forget These Tags to Make HTML Work Like You Expect (jim )Oct 26, 2025 1,976 What’s an Interactive Element? (mat )Oct 24, 2025 1,975 focus , concepts Challenging the Idea of “Optional HTML” (mar )Oct 22, 2025 1,974 guest-posts , minimalism Links and Anchors: Ancient HTML and JS Magic in Your Browser (cod /wea )Oct 21, 2025 1,973 css , javascript , links What State ARIA In? (tpg )Oct 20, 2025 1,972 aria , accessibility Implicit Labels Aren’t (cfe )Oct 17, 2025 1,971 forms , labels Headers, Headings, and Titles (tem )Oct 17, 2025 1,970 headings , comparisons , terminology Page Headings Don’t Belong in the Header (tem )Oct 15, 2025 1,969 headings , skip-links , accessibility A Look Into Customizable HTML “select” Elements Oct 15, 2025 1,968 forms , css Tables: Beyond Rows and Columns (tpg )Oct 13, 2025 1,967 accessibility , wcag , tables , semantics , jaws , nvda , screen-readers HTML “dialog”: Getting Accessibility and UX Right (jar )Oct 13, 2025 1,966 modals , scrolling , accessibility , user-experience HTML—the Most Difficult Programming Language in the World (j9t )Oct 9, 2025 1,965 programming , conformance , professionalism Numbers That Fall (Scroll-Driven Animations and Sibling Index) (chr /fro )Oct 7, 2025 1,964 css , animations , scrolling , effects When to Use Modal vs. Dialog Components (a11 )Oct 7, 2025 1,963 modals , aria , accessibility Lowriders and Websites (aaa )Oct 6, 2025 1,962 css , craft Rethinking Cookie Dialogs (nat )Oct 6, 2025 1,961 accessibility , disclosure-widgets , cookies , consent-management A Progressive Enhancement Challenge (chr /fro )Oct 3, 2025 1,960 progressive-enhancement , javascript , feature-detection , support How to Optimize Viewport for Mobile for Faster Interactions (deb )Oct 1, 2025 1,959 how-tos , viewport , mobile , performance , optimization Understanding the Removal of 4.1.1 Parsing in WCAG 2.2 (tpg )Oct 1, 2025 1,958 accessibility , wcag , conformance HTML’s Best Kept Secret: The “<output>” Tag (den )Oct 1, 2025 1,957 Let’s Play Accordion With the HTML “details” Element (ale )Sep 27, 2025 1,956 disclosure-widgets , accordions Creating a Truly Accessible Flip Card (sib /tpg )Sep 24, 2025 1,955 css , javascript , accessibility Web Development for Beginners: Creating Web Pages via HTML (rau )Sep 23, 2025 1,954 fundamentals , urls , servers , forms The “picture” Element (kev )Sep 18, 2025 1,953 A Quick Primer on Accessible Pagination (kar )Sep 17, 2025 1,952 introductions , accessibility , pagination , css , assistive-tech “aria-label” or “title”? Screen Reader Behaviour Explained (a11 )Sep 15, 2025 1,951 attributes , accessibility , screen-readers Navigating the World of Web Accessibility With Sara Soueidan (sar +)Sep 12, 2025 1,950 videos , interviews , accessibility , wcag , aria , css 2025: 0 of the Global Top 200 Websites Use Valid HTML (j9t )Sep 10, 2025 1,949 conformance , metrics , quality , craft Just Use HTML (cfe )Sep 10, 2025 1,948 javascript Baby Steps Accessibility—Page Titles (dec )Sep 10, 2025 1,947 microcontent , best-practices , accessibility Why Moving Away From SPAs Improves Usability, Accessibility, and SEO (inn )Sep 8, 2025 1,946 single-page-apps , usability , accessibility , seo , semantics Screen Reader HTML Support—Lookup (ste )Sep 7, 2025 1,945 screen-readers , accessibility , support , overviews Your Images Are (Probably) Oversized Sep 5, 2025 1,944 images , pixel-density Why Did I Ever Abandon HTML/CSS? (syl )Sep 2, 2025 1,943 css Tricks to Write HTML and CSS 10× Faster (jay )Aug 29, 2025 1,942 css , efficiency , tips-and-tricks You No Longer Need JavaScript (reb )Aug 28, 2025 1,941 javascript , css , examples Opening a “details” Element From the URL (chr /fro )Aug 26, 2025 1,940 disclosure-widgets , urls Hack to the Future—Frontend (the )Aug 26, 2025 1,939 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 1,938 how-tos , tables , accessibility Design Hacks From the Pre-CSS Era (den /hac )Aug 22, 2025 1,937 tables , layout , hacks , history A Proposal for Inline LLM Instructions in HTML Based on llms.txt (ind )Aug 20, 2025 1,936 ai , llmstxt The First Rule of ARIA (nat )Aug 18, 2025 1,935 accessibility , aria , principles Covering “hidden=until-found” (geo /css )Aug 15, 2025 1,934 hiding 5 Heading Accessibility Issues to Avoid (pop )Aug 11, 2025 1,933 accessibility , headings A Progressive Complexity Manifesto (che )Aug 10, 2025 1,932 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 1,931 pop-overs , mobile , usability HTML Is Dead, Long Live HTML (unc )Aug 6, 2025 1,930 css , dom , standards , metrics When HTML Speaks Clearly Aug 6, 2025 1,929 accessibility , conformance , semantics A Few Things About the Anchor Element’s “href” You Might Not Have Known (jim )Aug 3, 2025 1,928 attributes , links , data-urls More Than Just Text: The Real Power of Labels (tpg )Jul 31, 2025 1,927 accessibility , labels , forms HTML-First, Framework-Second: Is JavaScript Finally Growing Up? (the )Jul 29, 2025 1,926 javascript , frameworks Web Components: Working With Shadow DOM (sma )Jul 28, 2025 1,925 web-components , shadow-dom , dom The “figcaption” Problem (chr /fro )Jul 24, 2025 1,924 css Why and How to Write Minimal and Valid HTML, a Link Guide (j9t )Jul 24, 2025 1,923 minimalism , conformance , how-tos , guides , link-lists State of HTML 2025 Now Open (lea )Jul 22, 2025 1,922 surveys How Semantics and ARIA Attributes Support Accessible Design (tpg )Jul 22, 2025 1,921 accessibility , semantics , aria , attributes Super Short Note: Placeholder Perfidy (ste )Jul 21, 2025 1,920 accessibility , placeholders Why Semantic HTML Still Matters (jon )Jul 21, 2025 1,919 semantics A Label and a Name Walk Into a Bar (ste )Jul 14, 2025 1,918 accessibility , labels , concepts , examples Why I’m Writing Pure HTML and CSS in 2025 Jul 14, 2025 1,917 css Screen Reader HTML Support Tables (ste /tet )Jul 10, 2025 1,916 support , screen-readers , jaws , nvda HTML Minifier Next (a Maintained Fork of HTML Minifier) (j9t )Jul 9, 2025 1,915 html-minifier , minification , optimization , tooling HTML Day 2025 (htm )Jul 7, 2025 1,914 awareness-days What Is “popover=hint”? (una )Jul 7, 2025 1,913 attributes , pop-overs Shadow DOM: The Ultimate Solution for Embedding Third-Party HTML Without CSS Conflicts Jul 2, 2025 1,912 shadow-dom , dom , css Custom Select (That Comes Up From the Bottom on Mobile) (chr /fro )Jul 1, 2025 1,911 forms , css , animations , progressive-enhancement , mobile Tabindex: What It Is, How It Works, and When to Use It (pop )Jul 1, 2025 1,910 focus , keyboard-navigation , accessibility Google: Many Top Sites Have Invalid HTML and Still Rank (mat /sea )Jun 30, 2025 1,909 google , conformance , quality , seo A Step Into the Spatial Web: The HTML Model Element in Apple Vision Pro (zac /web )Jun 26, 2025 1,908 spatial-web , apple , xr The Mythical Magical Button (cri )Jun 24, 2025 1,907 buttons , css , custom-properties , custom-data Know Your HTML (Yes, TSX Included) (hel )Jun 23, 2025 1,906 semantics , accessibility CSS Cascade Layers vs. BEM vs. Utility Classes: Specificity Control (sma )Jun 19, 2025 1,905 css , cascade , bem , presentational-html Selfish Reasons for Building Accessible Uis (nol )Jun 16, 2025 1,904 accessibility , debugging , testing What I Wish Someone Told Me When I Was Getting Into ARIA (eri /sma )Jun 16, 2025 1,903 accessibility , aria , assistive-tech , support Having “figure” Match Width of Contained Image (jef )Jun 13, 2025 1,902 css , images Escaping “<” and “>” in Attributes—How It Helps Protect Against Mutation XSS (sec )Jun 12, 2025 1,901 attributes , security , xss , escaping , chrome , google , browsers Why Visual Website Builders Didn’t Take Off (whi )Jun 12, 2025 1,900 videos , code-editors , wysiwyg , history HTML Spec Change: Escaping “<” and “>” in Attributes (sec )Jun 12, 2025 1,899 attributes , escaping , security , xss Is HTML Not a Programming Language? Jun 11, 2025 1,898 programming Creating an Auto-Closing Notification With an HTML Popover (pre /css )Jun 9, 2025 1,897 notifications , pop-overs ARIA/HTML Relationship Severance (ste )Jun 7, 2025 1,896 accessibility , aria The “<output>” Element (kev )Jun 6, 2025 1,895 “aria-selected”: Practical Examples and Use Cases (flo /a11 )Jun 5, 2025 1,894 accessibility , aria , examples HTML-Native Accordions (cfe )Jun 5, 2025 1,893 accordions How to Use ARIA Roles and Properties Effectively Jun 4, 2025 1,892 how-tos , aria , accessibility Getting Creative With HTML Dialog (mal /css )Jun 3, 2025 1,891 modals HTML Only Experiments (ala )May 30, 2025 1,890 websites , experiments Up and Coming ARIA (web )May 30, 2025 1,889 accessibility , aria The “col” Element (hey )May 29, 2025 1,888 tables , semantics The Magic of the Most Minimal HTML Possible (and Why We Don’t Make Use of It) (j9t )May 27, 2025 1,887 minimalism , maintainability What I Learnt About Making Websites by Reading Two Thousand Web Pages (ale )May 26, 2025 1,886 css , conditional-comments , lessons Decorative Text Within HTML (ede )May 25, 2025 1,885 attributes , css , formatting Making Scannable Web Pages for Assistive Technology (jar )May 23, 2025 1,884 accessibility , assistive-tech , design , headings , semantics The “datalist” Element (kev )May 22, 2025 1,883 forms Styling the Icon for HTML Date and Time Types (cas )May 21, 2025 1,882 forms , css , time The “caption” Element (hey )May 20, 2025 1,881 tables , semantics Expanding/Collapsing With “details” (ons /oze )May 17, 2025 1,880 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 1,879 internationalization , localization , conversion How Often Should We Speak About HTML Conformance? (j9t )May 14, 2025 1,878 conformance , metrics Just Fucking Use HTML (kyr )May 12, 2025 1,877 websites Enhancements to the Proposed “<permission>” Element (tom )May 12, 2025 1,876 Foundations: Keyboard Accessibility (tet )May 9, 2025 1,875 fundamentals , accessibility , keyboard-navigation , focus The True Path to Garbage Code: Figma Sites (joe )May 9, 2025 1,874 figma , quality , semantics , accessibility The Hidden Gold of Web Accessibility: Everything About ARIA Labels (flo /a11 )May 6, 2025 1,873 accessibility , aria , best-practices K.I.S.S. ARIA (nat )May 5, 2025 1,872 aria , accessibility The “code” Element (hey )May 5, 2025 1,871 markdown Revisiting Image Maps (mal /css )Apr 30, 2025 1,870 images , image-maps , techniques The “cite” Element (hey )Apr 30, 2025 1,869 semantics Seeking an Answer: Why Can’t HTML Alone Do Includes? (chr /fro )Apr 29, 2025 1,868 maintainability Anchor Positioning Just Don’t Care About Source Order (geo /css )Apr 28, 2025 1,867 css , anchor-positioning , source-order Giving Software Away for Free (sim )Apr 28, 2025 1,866 foss , hosting , javascript Menu and Navigation: The Difference (stv )Apr 28, 2025 1,865 navigation , pagination , aria , accessibility The “canvas” Element (hey )Apr 28, 2025 1,864 canvas , semantics Unlocking Accessibility: Frontend Developers Discuss Semantic HTML and Accessible Code Apr 25, 2025 1,863 accessibility , semantics , community HTML Oddities: Does the Order of Attribute Values Matter? (ede )Apr 24, 2025 1,862 attributes , css , selectors “input type="color"” (kev )Apr 24, 2025 1,861 forms , colors The Problem(s) With Image Accessibility Apr 23, 2025 1,860 accessibility , images , alt-text Mastering HTML: The Art of Minimal and Valid Code in Professional Web Development (AI Edition) (j9t )Apr 23, 2025 1,859 guest-posts , minimalism , conformance , semantics , interoperability , accessibility , standards Keeping It on the “<dl>”—Another HTML Gem You Never Use (cod )Apr 18, 2025 1,858 lists , semantics Creating an Accessible Accordion With HTML Description Lists (kar )Apr 17, 2025 1,857 accessibility , lists , accordions 5 Ways to Reduce HTML File Size on Your Website, Step 0 (j9t )Apr 16, 2025 1,856 performance , optimization Default Styles for “h1” Elements Are Changing (zco /mdn )Apr 11, 2025 1,855 css , headings , browsers 5 Ways to Reduce HTML File Size on Your Website (deb )Apr 10, 2025 1,854 minification , compression , performance , optimization ARIA in HTML (sco +/w3c )Apr 9, 2025 1,853 standards , accessibility , aria Milana Cap on the Interactivity and HTML APIs, and Their Enormous Potential (mil +)Apr 9, 2025 1,852 podcasts , interviews , wordpress , apis , dom Strings Are a Leaky Abstraction for HTML (joe )Apr 8, 2025 1,851 strings Hiding Elements That Require JavaScript Without JavaScript (0xd )Apr 5, 2025 1,850 javascript , css Tweaking Text Level Styles, Reprised (aar )Apr 5, 2025 1,849 css , accessibility , support , browsers , screen-readers CSS-Only Glitch Effect Apr 3, 2025 1,848 css , effects Markup Languages (j9t )Mar 28, 2025 1,847 overviews , link-lists , sgml , xml , xhtml , hdml , dhtml , mathml , wml , chtml “input type="number"” (kev )Mar 25, 2025 1,846 forms “aria-label” Is a Letdown (thi /wag )Mar 24, 2025 1,845 accessibility , aria , labels Create an HTML Dialog When You Click an Image (cas )Mar 21, 2025 1,844 images , modals The “contenteditable” “plaintext-only” Attribute Value Combination Is Now Baseline Newly Available (tom )Mar 20, 2025 1,843 attributes , browsers , support , web-platform Quick Accessibility Wins That Are Easy to Implement (kev )Mar 19, 2025 1,842 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 1,841 css , view-transitions , minimalism Is React Accessible? That’s the Wrong Question Mar 17, 2025 1,840 accessibility , react , jsx , semantics Web Components vs. Framework Components: What’s the Difference? (sma )Mar 17, 2025 1,839 web-components , components , frameworks , comparisons A Review of HTML Linters Mar 17, 2025 1,838 overviews , linting , conformance , tooling , link-lists , comparisons Popping Preconceived Popover Ponderings (sco )Mar 14, 2025 1,837 accessibility , pop-overs Future of CSS: “select” Styling Without the Hacks Mar 10, 2025 1,836 css , selectors , forms Creating Animated Accordions With the “details” Element and Modern CSS (ste /bui )Mar 7, 2025 1,835 css , disclosure-widgets , accordions , animations , transitions Implementing “aria-describedby” for Web Accessibility (flo /a11 )Mar 7, 2025 1,834 accessibility , aria , forms , labels Page Speed: Avoid Large Base64 Data URLs in HTML and CSS (deb )Mar 7, 2025 1,833 performance , css , data-urls , compression , base64 Introducing “command” and “commandfor” (kei )Mar 7, 2025 1,832 introductions , attributes DeepSeek and HTML (j9t )Mar 7, 2025 1,831 ai , deepseek , minimalism , conformance Cool Native HTML Elements You Should Already Be Using (hrr )Mar 6, 2025 1,830 modals , disclosure-widgets , forms , progress-indicators Grouping Selection List Items Together With CSS Grid (pre /css )Mar 5, 2025 1,829 lists , forms , css , grids , layout Building Websites With LLMS (jim )Mar 4, 2025 1,828 css , view-transitions Using and Styling the “details” Element (geo /css )Mar 4, 2025 1,827 css , disclosure-widgets , examples The Professional Standing of Frontend Developers (mar )Mar 4, 2025 1,826 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 1,825 apis CSS Meets Voxel Art: Building a Rendering Engine With Stacked Grids (cod )Mar 3, 2025 1,824 css , art There’s No Such Thing as “Menubar Navigation” (tem )Feb 28, 2025 1,823 accessibility , navigation When to Use Lists for Better Accessibility Feb 27, 2025 1,822 accessibility , lists Fixing “rowspan=0” on Tables on WebKit (kar )Feb 21, 2025 1,821 tables , webkit , browser-engines , browsers Introduction to Frontend Development (the )Feb 21, 2025 1,820 introductions , css , javascript , frameworks , libraries , tooling , career , trends “ruby-align” Is Baseline Newly Available Feb 21, 2025 1,819 ruby-markup , css , browsers , support , web-platform Everything You Need to Know About Invoker Commands (kei /web )Feb 21, 2025 1,818 videos , pop-overs Rethinking Find-in-Page Accessibility: Making Hidden Text Work for Everyone (sch )Feb 17, 2025 1,817 accessibility , search , hiding , browsers It’s Right There in the Back of the Book (hom )Feb 17, 2025 1,816 accessibility , semantics Using the “step” and “pattern” Attributes to Make Number Inputs More Useful (cas /pic )Feb 13, 2025 1,815 forms Which HTML Element Are You? Feb 13, 2025 1,814 quizzes Testing 10 JavaScript Frameworks on Their HTML Defaults (j9t )Feb 12, 2025 1,813 frameworks , javascript , conformance , comparisons , link-lists Optimizing Images for Web Performance (tod /fro )Feb 10, 2025 1,812 images , performance , optimization , jpeg , png , webp , avif , caching Taking RWD to the Extreme (sma )Feb 7, 2025 1,811 responsive-design , intrinsic-design , css How to Declare Your Page’s Language (pop )Feb 5, 2025 1,810 how-tos , internationalization HTML and CSS for a One-Time Password Input (chr /fro )Feb 5, 2025 1,809 css , forms , passwords A Content List With Bulk Actions Using Ancient HTML and Modern CSS (tyl /clo )Feb 4, 2025 1,808 forms , lists , css Using Padding to Space an Input and Label (dar )Feb 4, 2025 1,807 forms , labels , spacing , css Foundations: Grouping Forms With “<fieldset>” and “<legend>” (tet )Jan 31, 2025 1,806 fundamentals , forms , aria How to Set Up an Accessible Page Structure and Navigation (pop )Jan 31, 2025 1,805 how-tos , accessibility , navigation XHTML in Modern Web Development (mar )Jan 30, 2025 1,804 guest-posts , xhtml What Text Area Popovers Taught Me About Browser APIs (bla )Jan 28, 2025 1,803 forms , apis , javascript Only One “<details>” Open at a Time (osv )Jan 25, 2025 1,802 disclosure-widgets Creating an Angled Slider (zac /fro )Jan 22, 2025 1,801 sliders , css , effects Don’t Wrap Figure in a Link (aar )Jan 16, 2025 1,800 links , screen-readers , accessibility 23 HTML Cheat Sheets, for a Different Look at HTML (fro )Jan 16, 2025 1,799 cheat-sheets , link-lists Learning HTML Is the Best Investment I Ever Did (cod )Jan 15, 2025 1,798 learning , career HTML Developers: Please Consider—in the Year of 2025 (ste )Jan 11, 2025 1,797 aria , accessibility Clean Up HTML Content for Retrieval-Augmented Generation With Readability.js (phi /dat )Jan 9, 2025 1,796 scraping , tooling , nodejs Lesser Known Uses of Better Known Attributes (sma )Jan 8, 2025 1,795 attributes Sharing a Variable Across HTML, CSS, and JavaScript (chr /fro )Jan 8, 2025 1,794 variables , css , javascript Accessibility Essentials Every Front-End Developer Should Know (mar )Jan 7, 2025 1,793 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 1,792 accessibility , screen-readers , support How to Order Attributes on HTML Elements Jan 6, 2025 1,791 how-tos , attributes , sorting , conventions HTML Is Actually a Programming Language—Fight Me (tim /wir )Jan 6, 2025 1,790 programming Relatively New Things You Should Know About HTML Heading Into 2025 (chr /fro )Jan 6, 2025 1,789 forms , toggles , pop-overs , javascript , import-maps , css , transitions The Difference Between HTML Attributes and Properties (pau /clo )Jan 6, 2025 1,788 attributes , javascript , terminology Use “translate” to Turn Off Element Translations (ste )Jan 6, 2025 1,787 localization Updated Brief Note on Description List Support (aar )Jan 3, 2025 1,786 lists , semantics , accessibility , screen-readers , support Datalists Are More Powerful Than You Think (two /mat )Dec 29, 2024 1,785 Media (ste +/htt )Dec 29, 2024 1,784 web-almanac , studies , research , metrics , multimedia , images Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readers (ale /mat )Dec 27, 2024 1,783 buttons , icons , images , accessibility , screen-readers Why Heading Order Matters in HTML (gra )Dec 27, 2024 1,782 headings , accessibility The Underrated “<dl>” Element (luh /mat )Dec 26, 2024 1,781 lists Preloading Fonts for Web Performance With “link rel=preload” (acc /mat )Dec 25, 2024 1,780 performance , preloading , fonts , hints The Search Input: They Almost Got It Right (stv /mat )Dec 24, 2024 1,779 forms , labels , screen-readers , assistive-tech , accessibility The Devil Is in the “<details>” (mat )Dec 23, 2024 1,778 disclosure-widgets Please Keep Your HTML Tables Clean and Lean, if You Really Need to Use Them (cer )Dec 22, 2024 1,777 accessibility , tables PSA: Stop Using the “title” Attribute as Tooltip (dni /mat )Dec 22, 2024 1,776 attributes , tooltips , toggles , accessibility Accessibility First: How to Design Inclusive Frontend Experiences Dec 22, 2024 1,775 how-tos , design , accessibility , semantics , alt-text , keyboard-navigation , aria , contrast , forms , focus Grouping Form Fields (mat )Dec 21, 2024 1,774 forms My Favourite Colour Is Chuck Norris Red (val /mat )Dec 20, 2024 1,773 colors No ARIA Is Better Than Bad ARIA (kar )Dec 20, 2024 1,772 videos , accessibility , aria Getting Oriented With HTML Video (sco /mat )Dec 19, 2024 1,771 multimedia , web-components Microdata for Books (ala /mat )Dec 18, 2024 1,770 microdata HTML Conformance: A Comparison of 6.5 npm Validator Packages (With 1.5 Recommendations) (j9t )Dec 17, 2024 1,769 conformance , tooling , npm , comparisons You Don’t Need the “isOpen” Class (mau /mat )Dec 16, 2024 1,768 aria , accessibility HTML “inert” Attribute (stv /5t3 )Dec 15, 2024 1,767 attributes The Gift You Do Not Want: A Div in a Button’s Clothing (mat )Dec 15, 2024 1,766 buttons , accessibility Page by Page: How Pagination Makes the Web Accessible (mat )Dec 14, 2024 1,765 accessibility , pagination , css , svg ARIA in HTML (sco +/w3c )Dec 13, 2024 1,764 standards , accessibility , aria Improving User Experience for Multilingual Web Browsing (mat )Dec 13, 2024 1,763 user-experience , internationalization HTML and CSS I Didn’t Even Know About Before I Started Creating Content in Japanese (mat )Dec 12, 2024 1,762 ruby-markup , css , internationalization Makeshift Hot Reload (eva /mat )Dec 11, 2024 1,761 metadata On-Page SEO Checklist: The Complete Task List for 2025 (sem )Dec 10, 2024 1,760 seo , checklists , semantics Submit to the Quirks of HTML (fel /mat )Dec 10, 2024 1,759 forms Native HTML Light and Dark Color Scheme Switching (pep /mat )Dec 9, 2024 1,758 dark-mode , css , javascript , functionality Past HTML, Future HTML? (j9t /mat )Dec 8, 2024 1,757 Almost, but Not Quite, Entirely Unlike… (tin /mat )Dec 7, 2024 1,756 accessibility , buttons , ai What Do the State of CSS and HTML Surveys Tell Us? (rac )Dec 6, 2024 1,755 web-platform , css , community What Is HTML Optimization? What Is It Not? (j9t )Dec 5, 2024 1,754 optimization , terminology Control the Viewport Resize Behavior on Mobile With “interactive-widget” (bra /mat )Dec 4, 2024 1,753 css , units , viewport , resizing , mobile , metadata Creating an Effective Multistep Form for Better User Experience (sma )Dec 3, 2024 1,752 forms , javascript , user-experience Starting Off Right: Where Autofocus Shines (kil /mat )Dec 2, 2024 1,751 forms , focus The HTML Native Search Element (tre )Dec 2, 2024 1,750 semantics Character-Based Alignment (css )Nov 29, 2024 1,749 css , alignment Preloading Responsive Images (tre )Nov 28, 2024 1,748 images , hints , performance , preloading A Button Is Not a Link (mor /mat )Nov 26, 2024 1,747 buttons , links Language of Parts Bookmarklet (bea )Nov 25, 2024 1,746 bookmarklets , metadata , accessibility Old Alt Text Advice (ste )Nov 23, 2024 1,745 accessibility , images , alt-text , microcontent , best-practices Avoid Read-Only Controls (aar )Nov 21, 2024 1,744 forms , accessibility Where Has All the Valid HTML Gone (j9t )Nov 21, 2024 1,743 conformance , quality My 3 Most-Wanted CSS Table Features (dar )Nov 20, 2024 1,742 css , tables , wish-lists Importing a Frontend JavaScript Library Without a Build System (b0r )Nov 18, 2024 1,741 javascript , libraries , commonjs , esm , nodejs Native Dual-Range Input Nov 18, 2024 1,740 forms , css State of HTML 2024 [Results] (sac /dev )Nov 14, 2024 1,739 surveys , metrics The “br” Element (hey )Nov 12, 2024 1,738 semantics Markup (gua /htt )Nov 11, 2024 1,737 web-almanac , studies , research , metrics State of CSS and State of HTML 2024 (pat )Nov 8, 2024 1,736 css The Path to Learn Web Development (fla )Nov 8, 2024 1,735 learning , http , css , tooling , git , javascript , typescript , databases , frameworks How to Identify Decorative Images and Boost Accessibility (a11 )Nov 7, 2024 1,734 how-tos , images , decoration , accessibility , aria The Lowdown on Dropdowns in HTML and CSS (zer )Nov 7, 2024 1,733 css More Options for Styling “<details>” (bra )Nov 6, 2024 1,732 disclosure-widgets , css How Do HTML Event Handlers Work? (tbr )Nov 5, 2024 1,731 javascript , events Disabled and Obscured (ste )Nov 4, 2024 1,730 accessibility , forms , wcag , standards The “button” Element (hey )Nov 4, 2024 1,729 semantics , buttons , links HTML Cheat Sheet Nov 4, 2024 1,728 semantics , examples , cheat-sheets Building My Resume in HTML Using Eleventy (men )Nov 3, 2024 1,727 career , eleventy 20 HTML Tips You Must Know in 2024 (xiu )Nov 2, 2024 1,726 tips-and-tricks The “<details>” and “<summary>” Elements Are Getting an Upgrade (sea )Nov 1, 2024 1,725 disclosure-widgets 25 Accessibility Tips to Celebrate 25 Years (jar /web )Oct 31, 2024 1,724 accessibility , tips-and-tricks , aria The “body” Element (hey )Oct 31, 2024 1,723 semantics Clarifying the Relationship Between Popovers and Dialogs (zel /css )Oct 29, 2024 1,722 pop-overs , modals , comparisons , accessibility Come to the “light-dark()” Side (sar /css )Oct 29, 2024 1,721 dark-mode , css , colors HTML Form Validation Is Heavily Underused Oct 28, 2024 1,720 forms , validation , react Talkin’ Tables (aar /web )Oct 25, 2024 1,719 videos , accessibility , tables Why Does “target="_blank"” Have an Underscore in Front? (kyr )Oct 25, 2024 1,718 frames , links My Top 5 Most Popular Front-End Tips (kev )Oct 23, 2024 1,717 videos , css , forms , tips-and-tricks How Should “<selectedoption>” Work? (jaf )Oct 18, 2024 1,716 forms An HTML Email Template With Basic Typography and Dark/light Modes (chr /fro )Oct 17, 2024 1,715 templates , email , typography , dark-mode Using Static Websites for Tiny Archives Oct 16, 2024 1,714 css I’ve Been Doing Blockquotes Wrong (mic )Oct 16, 2024 1,713 The “blockquote” Element (hey )Oct 14, 2024 1,712 semantics My Eulogy for the Open Web and Old Google Oct 13, 2024 1,711 open-web , google HTML/CSS Frameworks, in Their Own Words (by Word Cloud) (j9t )Oct 11, 2024 1,710 frameworks , css , bootstrap , tailwind , foundation , bulma , milligram , pure , uikit , comparisons HTML for People (bw )Oct 10, 2024 1,709 books , websites , examples The New Stylable “<select>” Element (jaf +)Oct 8, 2024 1,708 podcasts , css , apis , forms No Industry for Old Men (ste /web )Oct 7, 2024 1,707 videos , retrospectives , aria , browsers , screen-readers , accessibility , w3c The Popover API: Your New Best Friend for Tooltips (dev )Oct 7, 2024 1,706 pop-overs , apis , tooltips , css , javascript Web Components: Little Bits (web )Oct 7, 2024 1,705 videos , web-components Practical Accessibility Tips You Can Apply Today (pic )Oct 3, 2024 1,704 accessibility , tips-and-tricks An Interesting HTML Parser Conundrum (dbu )Oct 1, 2024 1,703 parsing The “bdi” Element (hey )Sep 30, 2024 1,702 semantics , internationalization What’s the Difference Between HTML’s Dialog Element and Popovers? (chr /fro )Sep 30, 2024 1,701 modals , pop-overs , comparisons How to Learn HTML: 46 Great Sites, Courses, and Books (All Free) Sep 29, 2024 1,700 how-tos , learning , courses , books , link-lists The “b” Element (hey )Sep 28, 2024 1,699 semantics “img sizes=auto” for Native Lazy Loading (ste )Sep 27, 2024 1,698 code-pens , images , lazy-loading , performance Hire HTML and CSS People (fon )Sep 21, 2024 1,697 css , hiring , engineering-management Why HTML Has Both “<b/i>” and “<strong/em>”? Sep 16, 2024 1,696 semantics The Importance of Title Tags: Tips and Tricks to Optimize for SEO (web )Sep 13, 2024 1,695 seo , optimization , tips-and-tricks State of HTML 2024 (sac /dev )Sep 12, 2024 1,694 surveys Request for Developer Feedback: Customizable Select (una )Sep 12, 2024 1,693 forms 2024: 0.5% of the Global Top 200 Websites Use Valid HTML (j9t )Sep 11, 2024 1,692 conformance , metrics , quality , craft What Does Hydration Mean? (chr /fro )Sep 9, 2024 1,691 hydration , concepts , javascript , dom Going Buildless (mxb )Sep 8, 2024 1,690 building , components The HTML History and Optimization Cheat Sheet (j9t )Sep 5, 2024 1,689 history , optimization , cheat-sheets Should Form Labels Be Wrapped or Separate? (sib /tpg )Sep 4, 2024 1,688 forms , labels , accessibility , browsers , assistive-tech HTML Whitespace Is Broken (dev )Sep 2, 2024 1,687 whitespace Semi-Annual Reminder to Learn and Hire for Web Standards (aar )Sep 1, 2024 1,686 learning , fundamentals , standards , css Headings (web )Aug 30, 2024 1,685 headings , accessibility Paragraphs (sco )Aug 29, 2024 1,684 accessibility What the Heck Is ARIA? A Beginner’s Guide to ARIA for Accessibility (a11 )Aug 29, 2024 1,683 videos , guides , aria , accessibility The “aside” Element (hey )Aug 28, 2024 1,682 semantics , accessibility The Secret Inside One Million Checkboxes Aug 28, 2024 1,681 databases , community What’s Missing From HTML and CSS? (rac )Aug 28, 2024 1,680 css Make Me One (Input) With Everything (mor /mat )Aug 27, 2024 1,679 forms , accessibility , simplicity How to Easily Add Dark Mode to Your Website Aug 26, 2024 1,678 how-tos , dark-mode , css , javascript , functionality What Skills Should You Focus on as Junior Web Developer in 2024? (fro )Aug 26, 2024 1,677 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 1,676 discussions , accessibility , attributes , forms , labels , aria , alt-text , images Raw-Dogging Websites (bra )Aug 22, 2024 1,675 css , javascript , tech-stacks Spoiler Alert: It Needs to Be Accessible (sco )Aug 22, 2024 1,674 accessibility , web-components , aria The Top Programming Languages 2024 (iee )Aug 22, 2024 1,673 programming , comparisons , python , java , javascript , typescript , sql , go , php , lua Foundations: Labelling Text Fields With Input and Label (tet )Aug 21, 2024 1,672 accessibility , fundamentals , forms , labels Expert Guide: Writing HTML for Screen Reader Users (flo /a11 )Aug 20, 2024 1,671 guides , accessibility , aria , alt-text , writing , screen-readers Top 5 HTML Features You’re Not Using (but Should Be) Aug 20, 2024 1,670 How Are the “colspan” and “rowspan” Attributes Different? (geo /css )Aug 15, 2024 1,669 attributes , tables How Does the Browser Render HTML? (and )Aug 15, 2024 1,668 browsers , browser-engines , rendering , dom , css , cssom , painting “blocking=render”: Why Would You Do That?! (css )Aug 14, 2024 1,667 performance , rendering Rote Learning HTML & CSS (j9t /fro )Aug 14, 2024 1,666 books , frontend-dogma , css , learning The “address” Element (hey )Aug 12, 2024 1,665 semantics Action Web Components Which Span the Server-Client Divide (jar )Aug 11, 2024 1,664 web-components , apis ObsoHTML, the Obsolete HTML Checker (j9t )Aug 11, 2024 1,663 packages , npm , quality The “abbr” Element (hey )Aug 7, 2024 1,662 semantics , accessibility HTML Web Components Can Have a Little Shadow DOM, as a Treat (sco )Aug 5, 2024 1,661 web-components , shadow-dom , dom The Anchor Element (hey )Aug 2, 2024 1,660 links , semantics , terminology , usability HTML Web Components Make Progressive Enhancement and CSS Encapsulation Easier (css )Aug 1, 2024 1,659 web-components , principles , solid , progressive-enhancement , examples The Anatomy of Accessible Forms: Best Practices (deq )Aug 1, 2024 1,658 accessibility , forms , best-practices Replacing jQuery UI Datepicker With HTML Date Input (chr )Jul 31, 2024 1,657 jquery Pop(over) the Balloons (css )Jul 25, 2024 1,656 disclosure-widgets , pop-overs , css Learn Web Components (and )Jul 22, 2024 1,655 websites , courses , web-components , css , dom , javascript Don’t Use JS for That: Moving Features to CSS and HTML (kil /jsc )Jul 19, 2024 1,654 videos , javascript , css Named Alternates for WordPress (ede )Jul 17, 2024 1,653 wordpress What ARIA Still Does Not Do (ste )Jul 15, 2024 1,652 aria , accessibility , standards An Update on Invokers: Invoker Commands in HTML (uti )Jul 15, 2024 1,651 modals , pop-overs How to Parse HTML in JavaScript (api )Jul 4, 2024 1,650 how-tos , parsing , javascript Mythbusting DOM: Was DOM Invented Alongside HTML? Jul 3, 2024 1,649 myths , dom , history Are Web Components Worth It? Jul 1, 2024 1,648 podcasts , web-components , dom , shadow-dom A Rant About Front-End Development Jun 20, 2024 1,647 content , css , javascript , preprocessors , frameworks , complexity Know the “search” Element (j9t )Jun 19, 2024 1,646 semantics HTML Markup Explained: Building Blocks of Modern Web Pages Jun 14, 2024 1,645 fundamentals Streaming HTML—Asynchronous DOM Updates Without JavaScript (inf )Jun 11, 2024 1,644 asynchronicity , dom , streaming Ditch the Pixels: The Small and Vectorized Web (yor )Jun 6, 2024 1,643 svg , images HTML Cheat Sheets: From Basics to Advanced Elements Jun 6, 2024 1,642 fundamentals , semantics , examples , cheat-sheets The Ultimate Guide to Iframes (log )Jun 6, 2024 1,641 guides , iframes , javascript , security Doing My Heading In (ste +)Jun 5, 2024 1,640 interviews , headings , accessibility Maybe Don’t Name That Landmark (aar )Jun 5, 2024 1,639 semantics , accessibility Reflection and Custom States in Web Components (cla )Jun 5, 2024 1,638 web-components Fine-Tuning Text Inputs (gar )Jun 4, 2024 1,637 forms , attributes , usability Semantic Code in HTML: What Is It and Does It Still Matter? (boa )Jun 1, 2024 1,636 semantics , accessibility , seo , maintainability , performance Responsive Video Works Now—These Features Could Make It Work Better (sco )May 29, 2024 1,635 multimedia , responsive-design , performance Alt Left (ste )May 27, 2024 1,634 accessibility , images , alt-text , anti-patterns Here’s What We Learned From the First “State of HTML” Survey (sac /fro )May 27, 2024 1,633 lessons Progressively Enhanced Popover Toggletips (mic )May 27, 2024 1,632 pop-overs , apis , progressive-enhancement Multipage Version (wil )May 24, 2024 1,631 websites Switching It Up With HTML’s Latest Control (sma )May 24, 2024 1,630 forms HTML Tags You Might Not Know About May 23, 2024 1,629 Not So Short Note on “aria-label” Usage—Big Table Edition (ste )May 22, 2024 1,628 accessibility , aria , labels When Should We Use Components and When Should We Just Use HTML? (chr )May 22, 2024 1,627 components , web-components Test-Driving HTML Templates (xpm /mfo )May 21, 2024 1,626 templates , testing , server-side-rendering , conformance We Need to Talk More About Conformance, if We Want to Stop Fantasy HTML (j9t )May 21, 2024 1,625 conformance , craft , quality “<style>”: Inline Optimizations for the Bold (mor )May 19, 2024 1,624 css , performance , optimization Ignore and Acknowledge “class” Attribute on Elements in CSS (ami )May 16, 2024 1,623 css , attributes The Latest in Web UI (una )May 16, 2024 1,622 videos , css , layout , effects State of HTML 2023 [Results] (sac +/dev )May 14, 2024 1,621 surveys , metrics Upgrade Your HTML V (j9t /fro )May 8, 2024 1,620 books , frontend-dogma , minimalism , craft , conformance Using Simple Tools as a Radical Act of Independence May 6, 2024 1,619 css , simplicity Using the Popover API for HTML Tooltips (chr /fro )May 6, 2024 1,618 pop-overs , apis , tooltips Combining CSS “:has()” and HTML “<select>” for Greater Conditional Styling (ami /sma )May 2, 2024 1,617 css , selectors , techniques Popover API Is Here (chr /fro )Apr 30, 2024 1,616 apis , pop-overs My Approach to HTML Web Components (ada )Apr 29, 2024 1,615 web-components Design Déjà Vu (mal )Apr 25, 2024 1,614 design , css , history , comparisons The HTML, CSS, and SVG for a Classic Search Form (chr /fro )Apr 25, 2024 1,613 search , forms , css , svg How to Escape JavaScript for a Script Tag Apr 24, 2024 1,612 how-tos , javascript , escaping HTML Attributes vs. DOM Properties (jaf )Apr 24, 2024 1,611 attributes , dom , comparisons Images as the First Thing in a Button or Link (tem )Apr 23, 2024 1,610 accessibility , images , buttons , links Invoking Elements by Using Only HTML: A First Look at Invokers (uti )Apr 23, 2024 1,609 modals , pop-overs My Code Formatting Guidelines (val )Apr 18, 2024 1,608 guidelines , formatting , conventions , javascript , prettier , configuration Converting Plain Text to Encoded HTML With Vanilla JavaScript (sma )Apr 17, 2024 1,607 conversion , javascript Making Disabled Buttons More Accessible Apr 16, 2024 1,606 accessibility , buttons , aria The Biggest Lie in HTML Apr 16, 2024 1,605 videos ARIA in HTML (sco +/w3c )Apr 15, 2024 1,604 standards , accessibility , aria Don’t Use the “maxlength” Attribute to Stop Users From Exceeding the Limit (ada )Apr 15, 2024 1,603 attributes , forms , usability My “Skip to Content” Markup Was Breaking the Back Button on iOS (db )Apr 13, 2024 1,602 skip-links , accessibility , mobile