Re: Further issues with CSS for Texinfo manuals
Thérèse Godefroy <[email protected]>
| Newsgroups | gmane.comp.tex.texinfo.bugs,gmane.comp.lib.gnulib.bugs |
|---|---|
| Message-ID | <[email protected]> |
Le 10/01/2026 à 00:26, Gavin Smith a écrit :
> On Thu, Jan 08, 2026 at 04:50:19PM +0100, Thérèse Godefroy wrote:
>>> It seems to me that it may be unsustainable for one person (you) to
>>> maintain CSS for all these manuals. The style.css file is full
>>> of code that is specific for particular manuals. I would expect the
>>> developers of those manuals to take responsibility for setting CSS
>>> for their manuals.
>>
>> The fact is they don't. Often there is no consistency within a manual.
>> What should be fixed in that case is the .texi file. But then you need
>> to get hold of the developer. This can take much longer (if it succeeds
>> at all) than twisting the CSS to fix the inconsistencies.
>>
>> Fortunately, very few manuals have tables or images. They are the ones I
>> tried to fix. I don't expect very old ones like PSPP to change in the
>> near future, so the maintenance should be rather simple.
>>
>
> I have a couple of further issues to report:
>
> * Vertical spacing in indices is excessive. See for example
> https://www.gnu.org/software/emacs/manual/html_node/elisp/Index.html#Index_fn_letter-A.
> There is no need for the extra whitespace between index entries.
> It means fewer entries are visible on the screen at once.
>
That's an important consideration, but we also need to think of
smartphone users. The clickable area must be wide enough that they don't
push on 2 links at the same time. The entries should also be well
separated when lines wrap.
> (I check this in Chromium with DevTools which allows you to easily
> disable CSS rules.)
>
> This comes from the rule in style.css:
>
> td, th {
> padding: .4em .6em;
> text-align: left;
> background: white; /* In case overflow extends outside <body>. */
> }
>
> In recent versions of Texinfo at least, <td> elements with index
> entries are distinguished with the "printindex-index-entry" class,
> which could be used to exclude indices from this rule, if the rule
> is to be kept.
>
I reduced the vertical padding from .4em to .2em, and line-height from
1.4em (or 1.5em in gnulib/manual.css) to 1.3em in all tables.
In some indices, entries are very far from the corresponding sections.
As cells don't have horizontal borders [1], it's easy to associate an
entry with a section that corresponds to its neighbor. To minimize this
possibility, I added a light-tan background to the rows upon hovering.
On narrow screens, an entry and the corresponding section may not be
visible together when displayed as table cells, making the index nearly
unusable. To fix this issue, I converted the index tables to something
similar to <dl> below 40em.
[1] When links are underlined, horizontal borders would make the index
difficult to read, all the more so that line spacing is smaller.
> * No underlining is needed on <abbr> even if the "title" attribute
> is present, as the expansion appears afterwards in brackets. There's no
> point in prompting the user to hover their mouse over the abbreviation
> to get an expansion as a tooltip when the expansion is right there
> after the abbreviation. E.g. in "Comput. J. (Computer Journal)",
> the "Comput. J." text would be underlined and hovering over it would
> display a "Computer Journal" tooltip.
>
I removed the styling of <acronym title="...">, but couldn't test the
result because I didn't find any examples of this markup in texinfo
manuals that use gnu.org/style.css.