-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Description
The issue
I've noticed that a lot of accessibility issues relating to the block toolbar are all blocked by a single core design issue:
There's just not enough space to put everything.
Here are some of the problems that are a result of trying to work around (but never solve) this issue:
- The block switcher doesn’t use an appropriate “switcher”/”transform” icon, but rather the block icon. This also means there’s no place to put the current block title in a tooltip, so to find out what block you’re editing, you have to look in the inspector. This is not good, if you ask me. Ideally, the block icon would be a separate thing with a tooltip/aria-label stating the block title. (I think the title is already announced to screen readers, so this would mainly benefit sighted users.)
- The movers are stacked, causing their buttons to be half the standard size, and appearing at first glance as if they were a single button. This is not ideal for touch usability, and it’s also somewhat confusing.
- There is no visible drag handle. Instead, dragging the mover buttons initiates a drag action. This is perhaps the most problematic issue, as many users have assumed that drag-and-drop has simply been removed. See also: Cursor doesn't change to indicate block can be dragged #24506.
- Moving the parent-selector button into the toolbar is difficult right now because it would put two very different buttons using
block icons right next to each other. But ultimately, to make the parent-selector button accessible to touchscreen users, it should not remain the way it currently is. See Improve usability of parent block selector button #23766.
All of these issues can’t be solved via current methods without making the toolbar way longer than it already is. So there’s a lack of available space and no clear solution in sight.
Trying to find a solution
The only thing I’ve been able to come up with is a possible “toolbar-replacement” idea, where clicking a button in the toolbar replaces the contents with a sort of “sub-toolbar” containing controls specific to a certain type of action, e.g. block movement. (And of course, there would be a button to get back to the main toolbar.)
This idea could be used to have a dedicated sub-toolbar for things like:
- block movement (up, down, move to top, move to bottom, drag handle, “move to…”)
- standardized block-level styling (text alignment, background color, text color, block “alignment”, item/content alignment, maybe even the style variations could be moved here); this could provide a standardized place for all the various block-level styling controls, without having to put them in the inspector for some blocks but not others
Something close to this idea is being explored in #24021, but as pointed out recently, there are accessibility problems with the current implementation that need to be addressed... assuming the idea can even work accessibly in the first place.
If such a thing could be done in an accessible way, it may be able to solve this growing toolbar space issue. But if not… well, I have no other ideas. But this is a critical point of friction between the accessibility and design teams, and I think we ought to try and find a solution sooner rather than later.