Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keyboard vertical navigation in text lines next to isLimit elements that are not isInline #7630

Closed
niegowski opened this issue Jul 15, 2020 · 1 comment · Fixed by #7708
Closed
Assignees
Labels
package:engine squad:magic type:improvement This issue reports a possible enhancement of an existing feature.

Comments

@niegowski
Copy link
Contributor

📝 Provide a description of the improvement

This is currently locally implemented inside table cells. There is a custom key handler that checks if caret is in first/last line of text (visually) and if navigation would cross isLimit boundary then it's altered to move caret to beginning/end of that limit.

The above could be extended globally so also handling caret next to block widgets (not only on the last text position as it is handled currently) and arrows inside other nested editables like image caption.


This is extracted part of #6741:

Navigating across widgets using the keyboard

Case: p + widget + widget + p

Expected:

  1. A selection in the last line of a text (for instance <paragraph>foo[]bar</paragraph><widget></widget>)
  2. Arrow down: Caret jumps to last text position that is before widget.
  3. Arrow down: Fake caret of widget-type-around feature get's activated above widget edge (WTA is handling this currently).
  4. Arrow down: The first widget gets selected (WTA is handling this currently).
  5. Arrow down: Fake caret gets activated between the widgets  (WTA is handling this currently).
  6. Arrow down: The second widget gets selected (WTA is handling this currently).
  7. Arrow down: Fake caret of widget-type-around feature get's activated below widget edge (WTA is handling this currently).
  8. Arrow down: The selection lands in the last paragraph.

Nice to have:

  1. Shift+Arrow – above should be aware of Shift key and extend selection if it's pressed.

📃 Other details

  • Browser: …
  • OS: …
  • CKEditor version: …
  • Installed CKEditor plugins: …

If you'd like to see this improvement implemented, add a 👍 reaction to this post.

@niegowski niegowski added type:improvement This issue reports a possible enhancement of an existing feature. package:engine squad:magic labels Jul 15, 2020
@niegowski niegowski added this to the iteration 34 milestone Jul 15, 2020
@niegowski niegowski self-assigned this Jul 15, 2020
@niegowski
Copy link
Contributor Author

@Reinmar i'm not sure if this should go to engine or maybe some other package. Maybe widget? I'm not sure.

@Reinmar Reinmar modified the milestones: iteration 34, iteration 35 Jul 27, 2020
jodator added a commit that referenced this issue Aug 5, 2020
Feature (widget): Keyboard vertical navigation in the text lines next to objects should move the caret to the position closest to the object. Closes #7630.

Internal (table): Keyboard vertical navigation inside a table cell extracted to the widget plugin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package:engine squad:magic type:improvement This issue reports a possible enhancement of an existing feature.
Projects
None yet
2 participants