Skip to content

Debian theme's CSS leaks into the HTML elements of the manpage's content #179

@n-peugnet

Description

@n-peugnet

Description of the problem

  1. Generated HTML elements of the manpage's content can have id attributes. This is useful, for example to be able to link to specific options, inside a manpage.
  2. Debian theme's CSS mainly use id to target elements to style, for example #footer { ... }.
  3. If a generated HTML element has an id used by Debian theme's CSS, it inherits its style.

See https://manpages.debian.org/unstable/lintian-ssg/lintian-ssg.1.en.html#footer for an example of this problem:
2024-10-09-161116_677x274_scrot

Solutions imagined

  1. Use a prefix for the id of layout elements to prevent them conflicting with the manpage's content's HTML elements.
  2. Use a prefix for the id of the generated HTML elements to prevent them conflicting with the layout elements.
  3. Specify the css rules more precisely to avoid targeting the manpage's content HTML elements. For example using body > div#footer { ... }

I think (2) is not ideal, as it would add a processing step in the manpage rendering code, and it would also break existing links to anchors. So this leaves (1) and (3). I would say I prefer option (3) as it only involves modifying the CSS, which keeps it more similar to the rest of the Debian sites.

If you agree with my proposition, I can make a pull request that make the Debian theme's CSS selector stricter to avoid this problem in the future.

P.S. One last issue that option (3) leaves unresolved, is that multiple elements with the same id is forbidden by the HTML standard, but I think this is not a major issue as it is gracefully handled by Web browsers.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions