There are 2 situations which current scroll anchoring mechanism cannot solve：
1、if the screen(visual viewport) is currently all of text paragraph, that is to say, no DOM nodes happen to stay there inside of screen, scroll anchoring will not work.
To solve this, better to use some Hit-test mechanism to select a Visible Position based on text characters, the text-wrap in Opera’s chromium based browser kernel code implements this;
2、even with switching from DOM node based scroll anchoring to Visible Position based, there is still a usability loss potentially: if current screen doesn’t display any text or dom nodes, but display some CSS generated contents, or borders、blanks、canvas(size bigger than screen size) etc. This corner case will be really difficult.