[whatwg] getSelection().modify() in vertical writing modes
ojan at chromium.org
Wed Jun 15 16:19:40 PDT 2011
It's not clear to me what forward/backward should do, but left/right should
do the same thing as using the left/right arrow keys. What do those do in
vertical writing mode?
On Wed, Jun 15, 2011 at 4:13 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> Hi all,
> WebKit would like to support visual caret movements in vertical writing
> modes . How should getSelection().modify() support this new behavior?
> In particular, what getSelection().modify('move'/'extend', 'left'/'right',
> 'character') should do?
> One possibility is that getSelection().modify('move'/'extend',
> 'left'/'right', 'character') will move caret visually left or right,
> moving between lines in vertical writing mode. This way, the semantics of
> moving left and right is preserved. However, the semantics of moving by
> 'character' is lost. In this case, getSelection().modify('move'/'extend',
> 'left'/'right', 'line') should move caret visually up or down (moving one
> character at a time).
> Now, in horizontal writing modes, 'left' and 'right' are used to move caret
> in visual order (in the sense of bidirectional text) and 'forward' and
> 'backward' are used to move in logical order. However, swapping the
> of 'character' and 'line' for 'forward' and 'backward' is quite confusing
> they used to walk DOM in logical order, and didn't depend on how characters
> are presented.
> On the other hand, if we left modify() intact - i.e.
> getSelection().modify('move'/'extend', 'left'/'right', 'character') move
> caret in visual order (i.e. visually up or down) in vertical writing mode
> - then scripts need to manually detect whether the content in which the
> caret resides is in vertical writing mode or not and change granularity
> between 'character' and 'line' in order to emulate arrow key movements.
>  http://dev.w3.org/csswg/css3-writing-modes/
> Ryosuke Niwa
> Software Engineer
> Google Inc.
More information about the whatwg