As of January, with Firefox 147’s release, Anchor Positioning is supported across all major browsers.

I’m happy about that, of course. I think Anchor Positioning is really powerful and a layout mechanism we probably should have had a long time ago. My enthusiasm was tempered when I found out how finicky it can, simply not finding anchors for reasons you have to be somewhat of a web expert to be able to diagnose and fix.

I wrote all this up in The Big Gotcha of Anchor Positioning, which is something of a rant as if I can be a squeaky wheel that helps makes this better in the future, I’m happy to do it. There are some better articles on what is actually going on and how to deal with it:

Articles like that that do a good technical dive and explain the situation are great, but I wish they didn’t have to exist, thus the ranting angle 😇.

Ahmad Shadeed has a typically great post on The Basics of Anchor Positioning (ugh, that header is so cool). Ahmad walks through a situation (placing a badge over an image) that feels very relatable, and anchor positioning is a perfect fit. I would note though (raises hand definantly) that it just so happens the DOM structure works here. If Ahmad had put the “card tag” in the same parent container as the image, which is a perfectly reasonable choice, the anchor would just stop working. Figuring out why that’s broken, unless you’re an avid reader of front-end blogs, would be pretty darn difficult.

I think it’s notable that Anchor Positioning is in Interop 2026 again. They call that a “carryover”. They say:

Anchor positioning is a carryover from Interop 2025, where significant progress was made to empower developers to position elements relative to each other. This year’s focus will be on clarifying the spec, resolving test issues, and increasing the reliability of this powerful layout feature.

If the spec is still able to be updated a bit, I hope they consider my plea to figure out a way to make resolving anchors more resilient.