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

see also