Problem/Motivation
In most places where we use contextual buttons they are visually hidden, until you hover over the associated block, or tab to the button.
This means they are difficult for some users to operate:
- Speech control users may not know the buttons are there at all.
- Speech control users who employ the "show numbers" tool (or similar) may see some activation numbers, but not understand what control they are associated with. (The spatial positioning of the control numbers can sometimes be haphazard, and is occasionally skewed by things like CSS layout.)
- Touch screen users (without a hover-capable pointer) may not know the buttons are there, and can have difficulty hitting the target if it's not visible.
- Keyboard users can perceive and operate the buttons, because they appear when focused. However they face increased effort to keep track of where they are, compared to other controls which are permanently visible. Blocks have varying sizes, and the boundaries between blocks are often not apparent, so which makes it hard to predict where the next contextual menu button is located spatially. Overshooting the intended button is an easy mistake to make, and this sometimes leads to accidental activation of the wrong control.
- The temporary appearance of the button means it is easily missed. This can affect a wide range of users with cognitive and/or learning impairments, and extends into mainstream usability.
These problems are mitigated in most existing use cases: the contextual menus are just providing shortcuts. Users can still take the structured route through the admin toolbar menu to reach the correct page for these tasks.
However, in Layout Builder contextual buttons are critical to carrying out some most tasks. Instead of being shortcuts for actions in the admin toolbar, they are being used as the sole entry point for layout builder tasks. This puts users from any of the above groups at a considerable disadvantage.
Proposed resolution
In layout builder, make the contextual visible all the time.
Who benefits?
- Sighted speech control users.
- Helps them know the button is there at all
- Helps when using the show-numbers tool; you can see which number corresponds with a visible button
- Sighted keyboard users. Makes tabbing through buttons easier to follow and predict.
- Pointer users, without hover capability (e.g. finger on iPad). Less chance of missing the target if you can see what you are aiming for.
- Makes it easier to learn how layout builder works, for lots of users.
Remaining tasks
patch.
User interface changes
Contextual menu buttons are visible all the time in layout builder.
This doesn't involve any graphic design changes.
API changes
TODO
Data model changes
TODO