emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: solarized


From: Protesilaos Stavrou
Subject: Re: solarized
Date: Tue, 15 Sep 2020 11:29:24 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Hello Richard,

Richard Stallman <rms@gnu.org> [2020-09-13, 23:48 -0400]:

> I looked at the web page about Solarized.  It sounds interesting,
> but I wonder what it looks like.  Can anyone tell me how to see
> those colors in some text?  (Any text.)

Please see attached screenshots for solarized-light and solarized-dark
respectively.  Just a hint at what to expect on an 'emacs -Q' plus the
loaded theme.

> What I read seemed to say that Solarized is a color palette,
> and there are many ways to use it.  I'd like to see the palette.
> Emacs's predefined faces amount to a color palette.
> I wonder if using Solarized colors for them could be an improvement.
> A priori, that may or may not be so.

Solarized is one of the best colour palettes in terms of what it tried
to achieve, namely, a 16-colour palette that adapts to light and dark
variations and which strives for a fairly consistent level of luminance.

My opinion is that Emacs' default faces should be designed with
accessibility (readability) in mind.  A minimum contrast ratio of 4.5:1
between a given foreground and background combination ensures that Emacs
will be readable out-of-the-box for the majority of people.  If you want
to be even more inclusive, a minimum 7:1 contrast ratio is recommended.

Solarized fails on the accessibility front (not its designer's fault, as
that was not its goal).  Many colour combinations are well below the
minimum 4.5:1 threshold.  The following table shows the relative
luminance of all colours of the palette compared with the four base
background values (table's image with colour previews also attached).

| SOLARIZED | HEX     | #002b36 | #073642 | #eee8d5 | #fdf6e3 |
|-----------+---------+---------+---------+---------+---------|
| base03    | #002b36 |    1.00 |    1.15 |   12.25 |   13.92 |
| base02    | #073642 |    1.15 |    1.00 |   10.61 |   12.05 |
| base01    | #586e75 |    2.79 |    2.42 |    4.39 |    4.99 |
| base00    | #657b83 |    3.37 |    2.92 |    3.64 |    4.13 |
| base0     | #839496 |    4.75 |    4.11 |    2.58 |    2.93 |
| base1     | #93a1a1 |    5.61 |    4.86 |    2.18 |    2.48 |
| base2     | #eee8d5 |   12.25 |   10.61 |    1.00 |    1.14 |
| base3     | #fdf6e3 |   13.92 |   12.05 |    1.14 |    1.00 |
| yellow    | #b58900 |    4.68 |    4.05 |    2.62 |    2.98 |
| orange    | #cb4b16 |    3.26 |    2.82 |    3.76 |    4.27 |
| red       | #dc322f |    3.25 |    2.81 |    3.77 |    4.29 |
| magenta   | #d33682 |    3.30 |    2.86 |    3.71 |    4.21 |
| violet    | #6c71c4 |    3.43 |    2.97 |    3.57 |    4.06 |
| blue      | #268bd2 |    4.08 |    3.53 |    3.00 |    3.41 |
| cyan      | #2aa198 |    4.75 |    4.12 |    2.58 |    2.93 |
| green     | #859900 |    4.69 |    4.06 |    2.62 |    2.97 |

Please refer to this spec for the technical details of the formula that
tests for compliance with the WCAG standard for colour contrast:
<https://www.w3.org/TR/WCAG20-TECHS/G18.html>.

That granted, Solarized would make for a good basis to build derivative
works off of.  My comment concerns the overall framework or set of
guidelines that should inform the choice of colours and design overall.

For an alternative that conforms with the WCAG AAA standard (7:1), has
broad face/package coverage, and is highly customisable, consider either
of the themes 'modus-operandi' (light) and 'modus-vivendi' (dark) which
are in the Emacs master branch.  Disclosure: I am their author and will
share their latest version, as well as an Info manual, at the end of
this month.

Best regards,
Protesilaos

-- 
Protesilaos Stavrou
protesilaos.com

Attachment: solarized-dark.png
Description: PNG image

Attachment: solarized-light.png
Description: PNG image

Attachment: solarized-wcag-table.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]