Btw, things that came to my mind:
* Caret movement direction - from inside or from outside. E.g.:
<b>ab|c</b>de -> ARROW-RIGHT
<b>abc|</b>de -> ARROW-RIGHT
<b>abc</b>d|e
<b>abc</b>d|e -> ARROW-LEFT
<b>abc</b>|de -> ARROW-LEFT
<b>ab|c</b>de
* If anything is “skipped” by the caret, its movement should work like over a character. E.g. (ARROW-RIGHT):
a|<img>b
a<img>|b
a|<span cE=false>bc</span>d
a<span cE=false>bc</span>|d
a|<span cE=false>b<span cE=true>c</span></span>d
a<span cE=false>b<span cE=true>|c</span></span>d (“b” skipped)
a|<span cE=false><span cE=true>b</span>c</span>d
a<span cE=false><span cE=true>b|</span>c</span>d (nothing to skip)
* Movement to outside the current block counts like a character movement to the very next available caret position (probably obvious). E.g. (ARROW-RIGHT):
<p>abc|</p><p>def</p>
<p>abc</p><p>|def</p>
<td>abc|</td><td>def</td>
<td>abc</td><td>|def</td>
* Tricky: inline elements at start/end of line. To define.
* Tricky: links at start/end of line. To define.
Anyway, I’m sure we could make this list long.
Q1: Should we start this kind of discussion here?
Q2: Should we have a shared document to work on? Where?
Fred
--
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
CKSource - http://cksource.com
--
Follow us on: Twitter (http://twitter.com/ckeditor) | Facebook (http://www.facebook.com/ckeditor) | Google+ (https://plus.google.com/107736718646302128806) | LinkedIn (http://www.linkedin.com/company/cksource)