https://youtu.be/d-ZM8bozIQw is the video showing an example of each of the 7 tests carried out across 6 editors (some offline, some online).
Test research findings.
1. Page down from line 0
notepad => Goes to one line above expected line
winword => Incorrect, caret in wrong place
online word => same as winword
google docs=> Incorrect
etherpad=> Incorrect, Goes to one line above expected line
libreoffice=> Really weird, caret and focus in wrong place
2. page down then up from caret at [0, whatever]
notepad=> Correct
winword=> Correct
online word=> Correct
google docs=> Correct
etherpad=> Wrong, loses a line
libreoffice=> Correct
3. page up / down over content that is a huge length line on 0,0
notepad=> Correct
winword=> Focus is correct but caret is wrong
online word=> Same as Winword
google docs=> Incorrect (2 lines too far down
etherpad=> Completely broken
libreoffice=> Really weird, caret and focus in wrong place
4. page down / up where notion of page break exists
notepad=> Notion doesn't exist
winword=> Really bizarre user experience and loses historical references
online word=> Nearly correct (not that winword is not correct!) .. On various page downs/page up if caret lands on blank line the historical reference position is lost.
google docs=> Loses historical references on page up after just two normal page downs with no specific line breaks etc being hit.
etherpad=> Notion doesn't exist
libreoffice=> Correct
5. caret location on X axis is maintained on page down/up
notepad=> Broken, goes to character 0 on blank line
winword=> Correct! Very impressive, keeps indentation even after hitting blank line and visiting last character in document.
online word=> Broken, goes to character 0 on blank line
google docs=> Broken, goes to character 0 on blank line
etherpad=> Broken, goes to character 0 on blank line
libreoffice=> Broken, goes to character 0 on blank line
6. Transition / lag
notepad=> Fast
winword=> Smooth, Fast.
online word=> Jerky.
google docs=> Smooth-ish, Fast-ish. Page identifier on scroll bar begins to land behind page location on page up/down event.
etherpad=> Slow, Jerky.
libreoffice=> Fast.
7. Page down on long text content
etherpad=> Broken.
all others=> Fine.
Some rules of page up / down
Aria spec https://www.w3.org/TR/wai-aria-practices-1.1/ :
Page Down (Optional): Moves focus down an author-determined number of rows, typically scrolling so the bottom row in the currently visible set of rows becomes one of the first visible rows. If focus is in the last row of the grid, focus does not move.
Page Up (Optional): Moves focus up an author-determined number of rows, typically scrolling so the top row in the currently visible set of rows becomes one of the last visible rows. If focus is in the first row of the grid, focus does not move.
https://youtu.be/d-ZM8bozIQw is the video showing an example of each of the 7 tests carried out across 6 editors (some offline, some online).
Test research findings.
1. Page down from line 0
2. page down then up from caret at [0, whatever]
3. page up / down over content that is a huge length line on 0,0
4. page down / up where notion of page break exists
5. caret location on X axis is maintained on page down/up
6. Transition / lag
7. Page down on long text content
Some rules of page up / down
Aria spec https://www.w3.org/TR/wai-aria-practices-1.1/ :