In bug 1810077 I'm letting the focus fix-up rule ride the trains to release.
This was implemented a while ago in bug 1740989, but we kept it Nightly-only
pending some more concrete spec (
https://github.com/whatwg/html/issues/8225).
There are some remaining issues spec-wise about when to blur when removing the
element from the DOM and whether to fire the blur event there (see
https://github.com/whatwg/html/pull/8392), but all browsers are interoperable
on the first, and I haven't changed behavior in either case.
I'll try to move the bits of the spec we all agree on forward, since other than
that there is consensus on using the update the rendering steps to fix up focus
which is what our implementation does.
Specification:
https://html.spec.whatwg.org/#focus-fixup-rule (but see note above)
Platform coverage: all
Preference: dom.focus.fixup
DevTools bug: N/A, event debugging and so on should work as-is
Other browsers:
* Blink: Ships with weird timing.
* WebKit: Fixes up focus in some cases but not others.
web-platform-tests: There are tests written in bug 1788741, ready to land as
soon as the spec does.