The current sibling inserter is alright compared to some previous iterations, but there are still a lot of issues with it. Here are some of the main ones:
I propose that the sibling inserter be overhauled to work something like this:
Here is a mockup of what this sibling inserter could look like:
If desired, shortcuts to insert a Paragraph or Image (as proposed in #10519) could be added to this design as well:
When I tab to a block, I would expect that the next inserter I encounter would come _after_ the block I just focused, not before.
I'd +1million this. Thanks @ZebulanStanphill
Updated the mockups to reflect the changes made to the Gutenberg UI since I made this issue.
Hey @ZebulanStanphill!
I believe this issue can be closed now given all the recent improvements and updates to the sibling inserter (#18941, #19456, #19596 and #11969).
I saw #10471 and #11345 were closed as well and that makes sense as the recent changes to the sibling inserter solve those issues.
However, this specific issue first point asks to move the inserter _after_ a block. Instead, the new implementation keeps the inserter before the block thus this issue main point is not addressed yet.
We've found it's confusing to our editors why they don't see the in-between/sibling inserter button below the current block if the last block is a paragraph.
I think using enter to insert the next block is intuitive _if you intend to insert another paragraph_ — it's a lot less obvious that you'd need to hit enter for a new paragraph if you actually intend to insert some other type of block which is not text based (e.g. an image, or columns, or some other type of block).
This has long bugged me and I'm hoping now with some of the improvements around lightening the block DOM and moving some of these controls to be popovers that this might be easier to implement.
@chrisvanpatten It's also worth noting that in some blocks, e.g. the Preformatted block, Enter can't be used to insert a new block, because it just inserts newlines in the current block. So the only consistent keyboard method to insert a new block is to reverse tab to the sibling inserter. (Which, as stated before, inserts above the current block, which is almost certainly not what most people want to do.)
Something that I've noticed recently with the most recent UI changes is that, due to the slower fade-in for the sibling inserter, some people think it has been removed in Gutenberg 7.7.0.
But before that, I recall several people complaining about the flashing UI that would happen as you moved your mouse around and the sibling inserted popped in and out.
In my proposal, the sibling inserter is shown _constantly_ below the block, and _only_ under the selected block. This solves both of the above issues.
However, it comes with the downside of no longer being able to hover over an area to reveal the sibling inserter and immediately insert a block; instead, you have to first select the block before the spot where you want to insert. Then again, it's worth noting that the hover-revealed sibling inserter is only useful to mouse users; touchscreen and keyboard users can't take advantage of it. Meanwhile, a constantly visible sibling inserter below the block would be better for both keyboard and touchscreen users.
An associated issue.
Here is an issue in regards parent/child in using the Buttons Block.
https://github.com/WordPress/gutenberg/issues/21509#issuecomment-638195901
This is related to the suggestion I made on #22867, although I'm thinking only displaying while hovering, or keyboard focused on blocks. Kinda keeps the "editing a block" vs. "adding a block" action more separate/clearer.
Let's see if we can get an experimental PR together to try this. Any takers?
Hi, I would like to work on this :)
@kirilzh Feel free to create a PR! That's the best way to find out if this will work and how it compares to other approaches. :smile:
This is really similar to #22867, but different. #22867 is about revealing the before and after inserter on block hover/focus - whereas this issue is about revealing the after inserter on focus only.
I think it'd be a good to have a PR for both to experiment with as its a pretty critical improvement.
Looks like we're moving to a PR with this for testing. I've changed some labels around for that purpose.
Most helpful comment
Hi, I would like to work on this :)