v150 · HTML · demo
Anchor Case Explorer
Chrome 150 makes fragment navigation match id and <a name> values case-sensitively in quirks mode, aligning it with standards mode. Explore the before/after behaviour and test fragment pairs live.
Checking quirks-mode fragment matching…
Three scenarios
Standard mode (always)
Documents with <!DOCTYPE html> have always used case-sensitive fragment matching. #SectionOne never matched name="sectionone".
Unchanged by Chrome 150.
Quirks mode — pre-150
Documents without a doctype ran in quirks mode. Fragment matching against named anchors was case-insensitive: #SectionOne matched <a name="sectionone">.
This was a spec deviation that caused portability bugs.
Quirks mode — Chrome 150+
Chrome 150 aligns quirks mode with standards: matching is now case-sensitive in both modes.
#SectionOne and name="sectionone" are now different identifiers everywhere.
Live match finder
Standard mode
—
Quirks pre-150
—
Quirks Chrome 150+
—
Doctype toggle — fragment navigation demo
Simulate:
target:
<a name="sectionone" id="sectionone"> / fragment: #SectionOne
document target (sectionone)
href="#SectionOne"
—
HTML fragment syntax
<!-- document target -->
<a name="sectionone" id="sectionone">Section one</a>
<!-- fragment links must match the target's case exactly in Chrome 150+ quirks mode -->
<a href="#sectionone">matches</a>
<a href="#SectionOne">does not match</a>
// Same rule for script-driven fragment navigation.
location.hash = "sectionone"; // matches
location.hash = "SectionOne"; // no match in Chrome 150+ quirks mode