Created attachment 243015 [details]
In the attached testcase:
- enable caret navigation
- place the caret on the first "1" (MathML section)
- press the down arrow key
Expected result: the caret should move to the "3" on the next line
Actual result: the caret moves to the "2" on the same line.
This is probably because each MathML token element contains an anonymous block flexbox, so the caret navigation code treats them as if they were on different line of text. You can compare with what happens for HTML.
(another problem is that the size of the caret in MathML may be very large compared to the actual text, because of all the anonymous flexboxes used for layout)
Hopefully this will be fixed after bug 153991.