Problem/Motivation
I am still having trouble showing customers the Layout Builder re: adding inline blocks to landing pages. They're confused. I want them to build using inline blocks as I believe this is the common "Squarespace/Wix/SaaS cms" type workflow that people ask for (landing page node with inline blocks). Not all content should be this way in Drupal, sure, but there's a big internet out there and we want Drupal to crack the DXP space as best it can. This means supporting building landing pages and making this UX as easy as possible. The problems we see:
1. The CTA is dark, and often overlooked
2. The CTA text "Create Custom Block" feels more like a Drupalism than UX for everybody.
3. The existing block search and fieldset listings aren't labeled so its unclear what they do.
Proposed resolution
1. Change the CTA to use the Drupal blues from core. Normal state, #5181c6, Hover state. #004875 - I found these colors in /core/misc/icons
2. Change the CTA text and add accessibility text. What I've done in this patch is change the text to "Add new block" which lines up much more cleanly with "Add a new Inline Block" (the text you see once you click on "Add Custom Block" currently) - I also added a "title" to the link retaining the call that loads the bundle name for the help text.
3. Add an "item" to the form that serves as a guide/label for the existing blocks. It says "Add existing block"
The changes look like this:

Remaining tasks
Reviews needed, discussion requested
User interface changes
Minor form item and CSS changes to the Layout Builder "Add Block" controller (modules/layout_builder/src/Controller/ChooseBlockController.php)
Data model changes
N/A
Release notes snippet
Improved UX of Layout Builder's "Add Block" menu
Original report by brantwynn on github.com/acquia/df
| Comment | File | Size | Author |
|---|---|---|---|
| #17 | interdiff-3069446-15-17.txt | 1.22 KB | starshaped |
| #17 | 3069446-17.patch | 8.63 KB | starshaped |
| #15 | interdiff-3069446-0-15.txt | 3.71 KB | starshaped |
| #15 | 3069446-15.patch | 8.66 KB | starshaped |
| core-layout_builder-inline-block-ux-0.patch | 9.49 KB | saltednut |
Comments
Comment #2
saltednutComment #3
saltednutComment #4
saltednutComment #5
saltednutComment #6
saltednutOne last note: This patches both layout_builder and the stable theme. They both provide different layout_builder.css files - wasn't sure what was up with that, but only the one from
/core/themes/stable/css/layout_builder/was loading on my sites.Comment #7
saltednutAdded another patch that will apply to 8.7 - its the same patch, just without the changes to the tests that don't apply in 8.7.x
Comment #8
rlnorthcuttThis looks much better and its a very simple fix. I've been wanting the collapsed fieldsets for a while and the colored CTA button is a great addition.
Comment #9
webchickI love this!!
Comment #10
webchickAlso tagging, as this came up in recent UX testing the Acquia Customer Experience team did (still working out a way to help get these results public). These changes would go a long way towards addressing problems with e.g. noticing there's an "Add new block content" option to begin with, and the overwhelmingness of the list of blocks, for example.
Comment #11
webchickAnd since this is a primary interaction that's confusing people, escalating to "major" and a "task."
Comment #12
tim.plunkettCross linking with another issue as this introduces more usage of the word "inline"
Comment #13
rlnorthcuttSo, it passes the tests for 8.8, but has a few failures for 8.7
Does that mean backporting any test changes from 8.8 to 8.7?
Comment #14
tim.plunkettLet's have the most recent patch be for 8.8 since that has to happen first.
Nit: no need for an extra line here
I think this needs to be BEM-ified
Can't change the stable CSS, afaik
Comment #15
starshapedRemoved the empty line in #14.1, and removed the CSS class in 14.2 as I didn't see it being used anywhere.
As for 14.3, I updated the CSS to add a new selector and added that to Stable so that no existing Stable CSS is being changed.
Comment #16
tim.plunkettLooks good, just two small nits
This original line should be left as-is, and copied to add the second class (each as its own array entry)
Missing trailing comma
Comment #17
starshapedFixed nits as described in #16.
Comment #19
tim.plunkettPushing back on this for now, I believe there's been more design work here and it needs to be represented here.
Comment #21
bkosborneOne thing our editors have been confused about is why there's seemingly two separate lists of blocks.
There's the main list you see when you click "Add block", and then there's this secondary list that's only revealed when you click "Create custom block". Why is this separation needed? Yes, behind the scenes, these "custom" blocks are distinct because they represent the creation of BlockContent entities, but to a site builder, all blocks are layout building components.
It seems that when content blocks were first added to layout builder, they were shuffled in with the main list of blocks, but it was changed in #2968500: Change inline blocks workflow in Layout Builder to match mocks to separate them.
I agree that the UX improvements proposed in this issue are indeed improvements, but I propose that this issue be closed and instead effort be focused in improving the overall block selection UX in #3073648: The list of available blocks in Layout Builder is overwhelming to users.
Comment #24
chrisgross commentedI agree that custom blocks need to be moved back to the main blocks list. I have read through the issue that caused this change and still do not see a good reason for said change, but it seems like really, really bad UX. It is confusing to users and unnecessary, as to them, there is no meaningful difference between custom blocks and other types. Also, if you click on "Create custom block" and you want to then go back to the main block list, you can't. The only option is to close the panel and start over. Plus, the search box does not work for custom block types in the current configuration. Please move it back, or provide a simple means for us to do so.