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