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

Improve keyboard navigation across blocks #2990

Closed
mcsf opened this issue Oct 11, 2017 · 11 comments
Closed

Improve keyboard navigation across blocks #2990

mcsf opened this issue Oct 11, 2017 · 11 comments
Assignees
Labels
[Feature] Writing Flow Block selection, navigation, splitting, merging, deletion... [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes).
Milestone

Comments

@mcsf
Copy link
Contributor

mcsf commented Oct 11, 2017

This is an umbrella issue to group tasks and coordinate efforts to improve keyboard navigation in and across blocks. Key concerns include accessibility, but also making sure the block abstraction and our block-wise implementation details don’t get in the way of a user’s writing flow, who may expect the same fluidity and predictability of movement as when using a conventional word processor.

Some current issues are:

I cite these examples because I’d like to recommend that we try to properly abstract these capabilities and neatly separate concerns, ideally by improving or mimicking WritingFlow.

@mcsf mcsf self-assigned this Oct 11, 2017
@ellatrix
Copy link
Member

ellatrix commented Oct 11, 2017

#2988 uses the native caretRangeFromPoint (widely supported now). I don't think we have to use the TinyMCE APIs here, especially since we decided a while ago to separate this from editable and make it more general.

As soon as #2934 is merged, I can rebase the shift+click PR. #2934 fixes quite a few bugs with multi-select in general.

@ellatrix
Copy link
Member

ellatrix commented Oct 13, 2017

One of the questions with shift+arrow key (not shift+click) is what to do when there's multiple editable areas in a block. What should happen if the following focusable elements is an editable in the same block? Should this behaviour be part of WritingFlow at all? shift+click for example is not, because it's purely on a block level. @mtias @jasmussen Any ideas here?

@jasmussen
Copy link
Contributor

If you are starting the shift-selection across blocks from a text block and into a block with multiple edtiables, it's no problem because as soon as you cross the block boundary it becomes block level selection.

If you start the selection inside a complex block, you select the block first?

I.e. let's say you just inserted an image, and now have focus inside the caption input field. If you press shift up you first select the entire image block, and then you start select the preceeding blocks.

Let's say you have a quote with a citation, and you set the caret inside the quote, select until the end of the quote, and press shift down (towards the citation) — then you select the whole quote block first, and then you select successive blocks if you continue.

What do you think? Does that make sense?

@ellatrix
Copy link
Member

Let's say you have a quote with a citation, and you set the caret inside the quote, select until the end of the quote, and press shift down (towards the citation) — then you select the whole quote block first, and then you select successive blocks if you continue.

Thanks, that last bit is what I needed to know. Seems evident now that you say it. :D

@ephox-mogran
Copy link
Contributor

I've given multi-block selection with the keyboard a go. The PR is #3038

@mtias mtias modified the milestones: Beta 1.5, Beta 1.6 Oct 18, 2017
@afercia afercia added the [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). label Oct 18, 2017
@afercia
Copy link
Contributor

afercia commented Oct 18, 2017

See also #2031

@ellatrix
Copy link
Member

I think all that's left here is #3232 (#2990 (comment))?

@mcsf
Copy link
Contributor Author

mcsf commented Oct 30, 2017

I think all that's left here is #3232 (#2990 (comment))?

Also #3244, which I've just added.

@ellatrix
Copy link
Member

Something else we might want to look into: when making a selection with the mouse, it used to be that you could just return to the editable and still move the selection there without any extra clicks. Somewhere this got broken. When you go back to the editable now, the selection is frozen to the point where the mouse left the editable area.

@mtias
Copy link
Member

mtias commented Jan 4, 2018

@mcsf @iseulde what's the status here, do we need to keep this issue open?

@mcsf
Copy link
Contributor Author

mcsf commented Jan 4, 2018

Considering that this issue's main purpose was to raise awareness and aggregate related issues, I'm OK if we close it: new issues have been opened and they can typically be found via the labels Writing Flow and Accessibility.

However, closing this shouldn't be taken as a sign that work is done. #3999, #4004 and many others are still open and sometimes glaring.

@mtias mtias closed this as completed Jan 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Writing Flow Block selection, navigation, splitting, merging, deletion... [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes).
Projects
None yet
Development

No branches or pull requests

6 participants