Opened 3 years ago

Closed 3 years ago

#11960 closed Bug (fixed)

[Webkit/Blink] Editor should scroll to selection on BACKSPACE/DEL

Reported by: a.nowodzinski Owned by: a.nowodzinski
Priority: Normal Milestone: CKEditor 4.4.2
Component: General Version: 4.4.1
Keywords: Cc:

Description

Custom BACKSPACE/DEL support implemented in #11861 lacks viewport scrolling. It's an ugly UX flaw, especially when the new position of the caret is in an element, which visually does not follow the block that holds the caret at the moment of keypress, i.e. in a floated table or a block out of viewport.

Attachments (1)

11960.html (1.0 KB) - added by a.nowodzinski 3 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 Changed 3 years ago by a.nowodzinski

  • Owner set to a.nowodzinski
  • Status changed from new to assigned

Changed 3 years ago by a.nowodzinski

comment:2 Changed 3 years ago by a.nowodzinski

  • Status changed from assigned to review

Pushed fix to branch:t/11960. Let's see if it is OK first. I remember that range.scrollIntoView() was one little troublemaker some time ago.

Editor playground attached.

comment:3 Changed 3 years ago by Reinmar

  • Status changed from review to review_passed

The method seems to work well for this case but I also remember that it was very tricky to scroll correctly viewport and all possible nested scrollable elements.

There are many cases in which we handle backspace, but we don't scroll to the caret. I decided that since we've got doubts about this method's stability and that in other cases we also have to care about other browsers, we can enhance only this single case. It will be some kind of test for this method and we can consider using it in other cases too.

comment:4 Changed 3 years ago by Reinmar

  • Resolution set to fixed
  • Status changed from review_passed to closed

Merged to master with git:4d351f6.

Note: See TracTickets for help on using tickets.
© 2003 – 2016 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy