⏱️ Lectura: 10 min
Open the source code of a site built in 2008 and you’ll likely find a line like <meta http-equiv="X-UA-Compatible" content="IE=edge"> still alive in the <head>. A catalog published on vale.rocks gathered eight HTML relics: tags and comments born to fight the browser wars that are now pure digital fossils.
📑 En este artículo
- TL;DR
- What happened
- Context and history
- Technical details: Smart Tags and PICS
- How to spot HTML relics in your own code
- Impact and analysis
- What’s next
- Frequently Asked Questions
- Does X-UA-Compatible still work in any current browser?
- Does leaving these fragments in a modern site cause any harm?
- What replaced PICS as a content-labeling system?
- Why did Netscape use JavaScript inside an HTML comment?
- Where are these relics most likely to be found today?
- Is there a complete list of all the documented HTML relics?
- References
None of these eight fragments do anything in a modern browser. But understanding why they existed explains many of the odd decisions that still show up in legacy code.
TL;DR
- A catalog published on vale.rocks documents 8 HTML fragments born from the browser wars of the 2000s.
- The X-UA-Compatible meta tag with IE=edge forced Internet Explorer to use its most recent available rendering engine.
- The chrome=1 variant activated Google Chrome Frame, a plugin Google offered for Internet Explorer 6 through 9.
- The ICBM meta tag, hacker slang inherited from Usenet, placed a site at coordinates for the GeoURL service.
- Internet Explorer’s conditional comments supported full logical operators: gte, lte, !, &, | and parenthesized subexpressions.
- Netscape solved the same problem with JavaScript embedded in comments, ignored by any other browser.
- The MSSmartTagsPreventParsing meta tag was created to block Internet Explorer 6’s Smart Tags, later retired by Microsoft.
- PICS, the W3C’s content-labeling system from the mid-90s, was the predecessor to modern parental filters.
What happened
The original article, titled “Antiquated HTML Snippets and Artefacts”, catalogs these HTML relics as a response to a concrete problem: browsers with different rendering engines, no common standards, competing for market share. The author groups them into two categories: those that fought against another browser and those that negotiated third-party integrations.
The most cited case is X-UA-Compatible. When Internet Explorer started releasing new versions every few years, many pages broke if the browser changed its default rendering mode. The <meta http-equiv="X-UA-Compatible" content="IE=edge"> tag told IE: use the most modern document mode you have available, regardless of version.
The same header accepted values from 5 to 11 to set an exact IE version, or EmulateIE7 through EmulateIE11 to simulate the behavior of those versions. The latter only worked if the page declared a valid DOCTYPE; without one, the browser fell into quirks mode.
Context and history
Before Chrome existed, Google was already competing against Internet Explorer’s Trident engine. The solution was called Google Chrome Frame, an installable plugin for Internet Explorer 6 through 9 that replaced those versions’ rendering with Chrome’s WebKit engine. A site activated that behavior with <meta http-equiv="X-UA-Compatible" content="chrome=1">. Google eventually retired Chrome Frame once Internet Explorer reached reasonable standards support and the plugin stopped making sense.
Another relic with a curious history is ICBM, short for intercontinental ballistic missile, which in Usenet hacker slang served as a joke to indicate where you were. The <meta name="ICBM" content="-31.9548, 115.8602"> meta tag declared a site’s geographic location and was read by the GeoURL service, which plotted pages on a map based on proximity. GeoURL shut down years ago, taking with it the only real consumer of that tag.
Internet Explorer also had its own conditional comments system, useful for showing or hiding HTML depending on the browser version:
<!--[if gte IE 6]>
<p>Only visible in Internet Explorer 6 or higher.</p>
<![endif]-->
The condition language was more complete than it looks at first glance. It supported the operators lt (less than), lte (less than or equal), gt (greater than), gte (greater than or equal), ! (NOT), & (AND), | (OR) and parentheses for subexpressions, plus the literals true and false. With that you could write conditions like IE 7 or 8 but not in compatibility mode, all inside an HTML comment.
Netscape solved the same problem differently, embedding JavaScript immediately after opening the comment:
<!--&{navigator.appName == 'Netscape'};
<p>Only visible in Netscape.</p>
-->
If the expression evaluated to true, Netscape interpreted the comment’s content as real HTML. Any other browser, lacking that support, treated it as an ordinary comment and ignored it entirely.
flowchart TD
A["Netscape Navigator dominates the web in the mid-90s"] --> B["Microsoft launches Internet Explorer"]
B --> C["Browser wars: each engine defines its own syntax"]
C --> D["Google launches Chrome Frame for IE6-9"]
D --> E["Chrome gains its own market share"]
E --> F["IE is retired, the hacks remain as relics in the code"]
Technical details: Smart Tags and PICS
Internet Explorer 6 introduced Smart Tags, a system that automatically inserted hyperlinks over words detected on the page, such as company names, to offer stock quotes or related information without the site requesting it. Site owners reacted with immediate rejection: the feature modified someone else’s content without consent.
Microsoft responded with an escape hatch: <meta name="MSSmartTagsPreventParsing" content="TRUE"> let any site opt out of the system. The pressure was enough for Microsoft to eventually remove Smart Tags entirely from later IE versions.
The oldest relic in the catalog is PICS (Platform for Internet Content Selection), a standard the W3C tried to establish in the mid-90s to label content according to suitability criteria. Internet Explorer supported it starting with version 3 via a dense header:
<meta http-equiv="PICS-Label"
content='
(PICS-1.1 "http://www.gcf.org/v2.5"
labels on "1994.11.05T08:15-0500"
until "1995.12.31T23:59-0000"
for "http://w3.org/PICS/Overview.html"
ratings (suds 0.5 density 0 color/hue 1))
'>
PICS’s problem was one of incentives, not technology: it depended on each site self-labeling honestly. Many simply lied about their own category to dodge filters, and the system lost practical usefulness.
How to spot HTML relics in your own code
If you maintain a site more than a decade old, search for these fragments before assuming your <head> is clean. A single ripgrep command is enough:
# Linux / macOS
rg -n "X-UA-Compatible|MSSmartTagsPreventParsing|PICS-Label|ICBM" --glob "*.html"
# Windows (PowerShell)
Select-String -Path *.html -Pattern "X-UA-Compatible|MSSmartTagsPreventParsing|PICS-Label|ICBM"
To confirm that a modern browser simply ignores these fragments, open the DevTools console on any page that has them:
// In the DevTools console, with or without X-UA-Compatible in the head
console.log(document.compatMode);
// "CSS1Compat" in any modern browser with a valid DOCTYPE
The result doesn’t change no matter what value X-UA-Compatible has: Chrome, Firefox, and Safari never read that header. Only Internet Explorer interpreted it, and that branch of the browser family tree is now closed.
💡 Tip: if the grep finds X-UA-Compatible in an active project, it’s safe to delete: no currently supported browser reads it.
Impact and analysis
These fragments aren’t just curiosities: they’re HTML relics documenting an era with no single rendering standard, where each vendor solved fragmentation its own way. Microsoft with document modes and conditional comments, Netscape with embedded JavaScript, Google with a bridge plugin to its own engine.
Comparing the main relics helps reveal the pattern: almost all of them solved the same engine-compatibility problem from different angles.
| Fragment | Original purpose | Target browser | Still active today? |
|---|---|---|---|
| X-UA-Compatible (IE=edge) | Force the most recent document mode | Internet Explorer 8-11 | No |
| X-UA-Compatible (chrome=1) | Activate Google Chrome Frame | IE6-9 with the plugin installed | No |
| Meta ICBM | Geolocate the site for GeoURL | Any (crawlers) | No |
| Conditional comments | Show or hide HTML based on IE version | Internet Explorer 5-9 | No |
| MSSmartTagsPreventParsing | Block IE6’s Smart Tags | Internet Explorer 6 | No |
| PICS-Label | Label content for W3C filters | IE3+ with PICS support enabled | No |
The common thread is more interesting than any single case: all these solutions depended on a single vendor or a third-party service that no longer exists. When IE retired and GeoURL shut down, the code survived with no effect at all, simply inert.
📌 Note: none of these fragments affect SEO or accessibility in 2026: current search engines and screen readers don’t read them either.
What’s next
Microsoft retired support for Internet Explorer, and conditional headers stopped having any effect in browsers with active updates. That doesn’t mean the code disappeared: it’s still copied into templates, static site generators, and legacy CMSs, because nobody audits a site’s <head> unless something breaks.
The pattern repeats with every browser cycle. Today there are engine-specific CSS prefixes and experimental flags behind browser settings that will probably end up in a catalog like vale.rocks’ two decades from now.
📖 Summary on Telegram: View summary
Try it yourself: run the ripgrep command from the previous section on your own repo and check how many of these eight HTML relics survive in your head.
Frequently Asked Questions
Does X-UA-Compatible still work in any current browser?
No. No currently supported browser, such as Chrome, Firefox, Safari, or Chromium-based Edge, reads that header. Only Internet Explorer versions before its retirement interpreted it.
Does leaving these fragments in a modern site cause any harm?
It doesn’t break anything, but it doesn’t add value either. They’re dead bytes in the <head> that can be removed with no visible effect.
What replaced PICS as a content-labeling system?
Current classification and parental control systems work at the platform or network level, not through a self-declared meta tag on each site, precisely because PICS showed that self-labeling is easy to game.
Why did Netscape use JavaScript inside an HTML comment?
Because Netscape never implemented a conditional comment syntax like Microsoft’s. Its solution was to evaluate a JavaScript expression immediately after opening the comment: if it returned true, the content was treated as real HTML.
Where are these relics most likely to be found today?
In institutional, government, or nonprofit sites that never migrated their base template since the mid-2000s, and in site generators or CMSs that copied an old boilerplate without reviewing it.
Is there a complete list of all the documented HTML relics?
The original catalog at vale.rocks includes more examples beyond the eight covered here, with documentation for each case.
References
- Antiquated HTML Snippets and Artefacts, vale.rocks: original catalog with the eight relics and their documentation.
- Conditional comment, Wikipedia: explanation of Internet Explorer’s conditional comment syntax.
- Google Chrome Frame, Wikipedia: history of the plugin that activated Chrome’s engine inside IE6-9.
- Platform for Internet Content Selection, Wikipedia: origin of the W3C’s content-labeling standard.
- MDN Web Docs: general reference on meta tags and modern browser behavior.
📱 Do you like this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day.
Imagen destacada: Foto de Valery Sysoev en Unsplash
0 Comments