10 Subtle HTML Features Most Developers Forget

Mohit GangwarMohit Gangwar
3 min read

HTML seems simple. It’s the foundation of the web, and most of us learned it in our first few weeks of development. But hidden in that simplicity are a handful of underused, underrated, and often forgotten features that can improve accessibility, semantics, and even performance.

Let’s explore 10 HTML features that most developers either forget exist — or never learned in the first place.

1. <details> and <summary>: Built-in Toggle Elements

<details>
  <summary>Show Code</summary>
  <pre><code>console.log("Hello, world!");</code></pre>
</details>

This combo gives you a built-in accordion, no JavaScript needed. It’s accessible by default and perfect for FAQs, collapsible code blocks, and documentation.

2. inputmode: Control the Mobile Keyboard

<input type="text" inputmode="numeric" />

You want a number keyboard on mobile — but don’t want to use type="number" (which can be buggy)? Use inputmode="numeric" instead. It’s perfect for PINs, OTPs, or phone numbers.

3. download Attribute in <a> Tags

<a href="resume.pdf" download>Download My Resume</a>

Want a link to trigger a file download rather than opening it? No JavaScript needed — just add the download attribute.

4. hidden Attribute: Instantly Hide Elements

<div hidden>This is not visible</div>

The hidden attribute hides elements without CSS. It’s also respected by screen readers, making it more semantically correct in some cases than display: none.

5. label + for: Improve Accessibility & Clickability

<label for="email">Email</label>
<input id="email" type="email" />

Yes, label improves accessibility. But more than that — it expands the clickable area for checkboxes, radios, and inputs, creating a smoother UX.

6. <fieldset> and <legend>: Group Form Fields Semantically

<fieldset>
  <legend>Payment Info</legend>
  <label>Card Number <input /></label>
</fieldset>

These tags not only help screen readers — but also make your forms visually and structurally easier to navigate. Most devs never use them, but they’re gold for accessible forms.

7. autocomplete: Let the Browser Help You

<input type="email" autocomplete="email" />

Using autocomplete attributes properly helps users fill out forms faster and with fewer errors. It also improves conversion and accessibility.

Bonus: autocomplete="one-time-code" for OTP inputs is supported on mobile devices!

8. <meter> and <progress>: Visual Indicators Without JS

<meter value="0.7">70%</meter>
<progress value="30" max="100">30%</progress>

Need to show performance, storage usage, or progress? These elements give you built-in visuals that are semantic and screen-reader-friendly.

9. <time datetime="">: Semantic Dates

<time datetime="2025-06-01">June 1, 2025</time>

Perfect for blogs, event listings, and search engines. Using the datetime attribute ensures the date is machine-readable — great for SEO and accessibility.

10. aria-* Attributes: Silent Power for Accessibility

<button aria-label="Close menu">✖</button>

While not strictly HTML-only, ARIA attributes are vital for screen reader users. They make interactive elements understandable when visuals alone aren’t enough.

Final Thoughts

HTML is more than just boxes and tags — it’s the semantic backbone of the web. By using these subtle features, you:

  • Write cleaner, more maintainable code

  • Improve accessibility without extra effort

  • Reduce reliance on JavaScript for common UI behaviors

Take Action

Next time you build a form, a blog post, or even a static site, challenge yourself to use at least 3 of these features. Your users — and future self — will thank you.

If you found this useful, consider:

  • Sharing your favorite HTML trick in the comments

  • Following me for more frontend insights

0
Subscribe to my newsletter

Read articles from Mohit Gangwar directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mohit Gangwar
Mohit Gangwar

Frontend Engineer @Credera. It all started in 6th grade with a simple curiosity: ‘How do people make their own websites?’ What began as playful exploration sparked a chain reaction—one late-night HTML experiment after another—that turned into a passion, and eventually, my profession.