Open jameskoster opened 2 months ago
As a starting point for discussion here's a design we might consider:
Here's how this design would appear in context:
And to users with monochromatic color blindness:
Noting that other style treatments like gradient backgrounds and elevation can greatly improve the distinction between buttons / inputs for users with monochromatic color blindness.
Regular appearance | Monochromatic color blindness sim |
---|---|
Compared with trunk it's much clearer at a glance which elements are inputs and which are buttons.
@WordPress/gutenberg-design
This issue came out of the discussion in https://github.com/WordPress/gutenberg/issues/63856.
There are a couple of details about the secondary button appearance it could be good to address.
Lack of clear hover style
Users with low vision might have difficulty distinguishing buttons from static content. A distinct hover style helps these users identify buttons as interactive elements.
Relatedly, a clear hover style will be critical if the button cursor ever changes from
pointer
todefault
, as discussed in https://github.com/WordPress/gutenberg/issues/63856. There's an interesting article on this subject here, the upshot being:pointer
is for links. Note that default browser styles do not apply it tobutton
s,radio
s,input
s, or any other interactive elements.There are also cursor-less environments to keep in mind like Spatial Computing, or devices that use different cursor sets, e.g. an iPad with Magic Keyboard:
Visual overlap with inputs
Text inputs and secondary buttons have a very similar footprint, visual weight, and general style treatment. As an example here's a screenshot from the Block Inspector:
If you squint, or find yourself in certain lighting conditions, it's kind of hard to tell the input / button apart. This is even more pronounced for sufferers of monochromatic color blindness (simulator):
Coupled with the lack of clear hover style this makes for a situationally poor UX.
Additional considerations
It's important to acknowledge that any new design should retain the a11y features of the current design. Specifically: