Steps to reproduce:
1. Open the attached test case in Writer
2. Launch the attached pyatspi accessible-event listener in a terminal
3. Position the caret in the middle of the last line on the first page
4. Down arrow once then up arrow
5. Position the caret at the start of the last line on the first page
6. Down arrow once then up arrow
Expected results: Each time the caret moves into the paragraph on the other page, that paragraph would emit both an object:state-changed:focused event and a caret moved event.
Actual results: The expected results *unless* the caret has moved from the start of the paragraph on page 2 to the start of the paragraph on page 1. In that instance, only the caret-moved event is received.
Annotated output from performing the steps above:
==============
# Step 3: Position caret in middle of last line on first page
18:09:32 - [paragraph | ] with index in parent 11 - is focused.
18:09:32 - [paragraph | ] with index in parent 11 - caret moved to offset 14.
# Step 4: Down arrow and up arrow
18:09:35 - [paragraph | ] with index in parent 12 - is focused.
18:09:35 - [paragraph | ] with index in parent 12 - caret moved to offset 14.
18:09:38 - [paragraph | ] with index in parent 11 - is focused.
18:09:38 - [paragraph | ] with index in parent 11 - caret moved to offset 14.
# Step 5: Position caret at start of last line on first page
18:09:45 - [paragraph | ] with index in parent 11 - caret moved to offset 0.
# Step 6: Down arrow and up arrow
18:09:47 - [paragraph | ] with index in parent 11 - caret moved to offset 70.
18:09:47 - [paragraph | ] with index in parent 12 - is focused.
18:09:47 - [paragraph | ] with index in parent 12 - caret moved to offset 0.
18:09:52 - [paragraph | ] with index in parent 11 - caret moved to offset 0.
=============