Subject: Re: bug#57424: Perceptibility of display-fill-column-indicator-mode

From: Protesilaos Stavrou <[email-masked]>
Date: Fri, 26 Aug 2022 09:27:55 +0300

> From: Christopher Dimech <[email-masked]>
> Date: Fri, 26 Aug 2022 07:44:23 +0200
>
> Have followed the customisation discussion about
> display-fill-column-indicator-mode
>
> Have consulted with Protesilaos Stavrou, author of
> modus-themes.  I agree that the default indicator character is
> too thin.  Changing the character to something wider does not
> change things much.  A solution that works is that of setting a
> background colour, rather than changing the foreground colour .

Christopher, please don't take words out of context.  State what you
think the bug is without involving me or other people.

My involvement in this only concerns the modus-themes.  I explained via
a private channel why the modus-themes style the fill-column-indicator
like this:

    ;; Not actual code, but true to form:
    (set-face-attribute 'fill-column-indicator nil :height 1 :background "gray50" :foreground "gray50")

The default face of fill-column-indicator creates a dashed line when (i)
the user applies a default font with a tall line height, (ii) increases
the value of 'line-spacing', (iii) applies an increased height to
certain elements, such as scaling the faces of Org headings.

Because of these common scenaria, users would tell me that the visuals
looked broken.  Changing the face, as shown above, produces a contiguous
line.  This is a compromise, so that I stop getting the same issue over
and over that the themes are broken.

> [... 15 lines elided]

> The only way to ensure a contiguous vertical line is to
> explicitly set the :height of the face to a small value.  This
> brings out the perceptibility problem.
>
> Studying carefully WCAG 2.1, Section 1.4.3 Contrast (Minimum),
> the contrast ratio is also subject to change according to the
> thinness of the characters.  For instance, With larger thicker
> text, the contrast ratio of at least 4.5:1 can be modified to to
> at least 3:1.
>
> I see the requirement of a contiguous indicator line is mainly about
> aesthetics.  But practical usability should be of higher concern.

I shared code with you on how to change the face to the effect that it
widens the width of the line.  Please use it.  I also stated in clear
terms why this decision was made.  You insist on dismissing it as
"aesthetics".  There is nothing more I can do about it.

-- 
Protesilaos Stavrou
https://protesilaos.com