Skip to content

Support text highlights with <mark> #210

Description

@willkg

Problem

  • read drops highlights. Confluence's editor can give a run of text a background colour. It is stored as <span style="background-color: rgb(…)"> and becomes an ADF backgroundColor mark. read writes only the text, so a read → edit → update cycle removes every highlight from the page. (Verified 2026-09-26 on a scratch page.)
  • There is no way to write a highlight in Markdown. ==text== is not GFM and stays literal. A raw <mark> passes through, but Confluence drops the tag and keeps only the text. Only a raw <span style="background-color: …"> works, and nobody would guess that.

What Confluence did with each spelling (storage read back, then ADF):

written stored takes effect (ADF)
<span style="background-color: #fff0b3;"> kept, rewritten as rgb(255,240,179) yes, backgroundColor
the same in rgb() kept yes
<mark> tag dropped, text kept no
<span data-highlight-colour="…"> (the table-cell attribute) attribute dropped no
<span style="color: …"> (text colour, for comparison) kept yes, textColor

Proposal

Use <mark>, which GitHub renders:

Markdown published as
<mark>some text</mark> <span style="background-color: #fff0b3;">some text</span> (a default colour)
<mark style="background-color: #ffbbbb;">some text</mark> <span style="background-color: #ffbbbb;">some text</span>

read writes a highlighted span back as <mark> (the default colour) or <mark style="background-color: …"> (any other colour), so the page survives a round trip. Markdown inside a <mark> is still converted.

The attribute is background-color, not color, because in CSS color is the text colour.

Open questions

  1. Default colour. #fff0b3 is the table-cell palette's yellow. The editor's text-highlight palette may differ; read back a highlight made in the editor to find out.
  2. Names or only hex? Cell colours accept swatch names. A name is not valid in a CSS background-color, so either hex only, or names in another attribute.
  3. An unrecognised colour. Publish with a warning, as an unknown cell colour does, and have check report it?
  4. Text colour. read probably drops <span style="color: …"> the same way. Handle it here, or in a separate issue?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions