color.interaction.text-selection.tint
Text selection on hosts that keep the text colour inside a selection. It is translucent, so it also suits hosts that paint the fill over their content. Text drawn on it keeps 4.5:1 over the canvas, raised and accent surfaces; text it is painted over, and links, do not (D-036).
Source revision 9afef8564142e41458748895d16b4df161a67d66
Find related usageSpecification anchorMeasured contrast report (default profile)Report an issue with this token
color.interaction.text-selection.tint--color-interaction-text-selection-tintdefault · approved
- Resolved value
rgb(145 20 16 / 50%)- Status
- approved
- Consumption
- use — Use within the role's documented scope and restrictions.
- Decisions
- None pending.
- Source
- tokens/semantic.tokens.json:469
/color/interaction/text-selection/tint - Alias chain
color.primitive.alpha.red-50- Used by aliases
- No declared aliases depend on this role.
Provenance and restrictions
{
"status": "approved",
"approval": {
"decision": "D-036"
}
}Declared component and port usage
| Consumer / kind | Part / variant | State / surface | Source declaration |
|---|---|---|---|
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:78 /pairs/74 |
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:79 /pairs/75 |
telegram · portandroid:chat_textSelectBackground | — | — | ports/telegram/mapping.json:1104 /mappings/color.interaction.text-selection.tint/0 |
Declared unmapped ports
- chatgpt: Focus, hover, pressed and selection colours are derived by ChatGPT from the accent and contrast; only the accent is set. · ports/chatgpt/mapping.json:381
/unmapped/color.interaction.text-selection.tint - claude-code: Interface colour role that no Claude Code theme key takes. · ports/claude-code/mapping.json:260
/unmapped/color.interaction.text-selection.tint - codex: Interface colour role; a Codex tmTheme colours code only. · ports/codex/mapping.json:403
/unmapped/color.interaction.text-selection.tint - ghostty: Interface colour role; a terminal theme file carries terminal colours only. · ports/ghostty/mapping.json:404
/unmapped/color.interaction.text-selection.tint - obsidian: Obsidian preserves text colour inside a selection. D-041 darkens the opaque text-selection.bg so ordinary, muted and faint rose text pass 4.5:1 without a translucent alternative; --text-selection keeps that canonical opaque role. · ports/obsidian/mapping.json:716
/unmapped/color.interaction.text-selection.tint - orca: No separately mapped public Orca theme key for this role; the host derives or retains this state. The app plugin maps supported chrome and editor keys independently of terminal colours. · ports/orca/mapping.json:579
/unmapped/color.interaction.text-selection.tint - warp: Interface colour role; a terminal theme file carries terminal colours only. · ports/warp/mapping.json:399
/unmapped/color.interaction.text-selection.tint - windows: The Windows adapters retain native selection foregrounds and their existing opaque selection or marquee mappings; no host requiring this tint is admitted. · ports/windows/mapping.json:2525
/unmapped/color.interaction.text-selection.tint
Relevant contrast declarations
- bright text on text-selection tint: color.text.bright on color.interaction.text-selection.tint · spec/contrast.json:79
/pairs/75 - default text on text-selection tint: color.text.default on color.interaction.text-selection.tint · spec/contrast.json:78
/pairs/74
heritage-ansi · heritage
- Resolved value
rgb(145 20 16 / 50%)- Status
- approved
- Consumption
- historical-only — Historical fidelity only; preserve all documented limitations and deprecations.
- Decisions
- None pending.
- Source
- tokens/semantic.tokens.json:469
/color/interaction/text-selection/tint - Alias chain
color.primitive.alpha.red-50- Used by aliases
- No declared aliases depend on this role.
Provenance and restrictions
{
"status": "approved",
"approval": {
"decision": "D-036"
}
}Declared component and port usage
| Consumer / kind | Part / variant | State / surface | Source declaration |
|---|---|---|---|
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:78 /pairs/74 |
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:79 /pairs/75 |
Relevant contrast declarations
- bright text on text-selection tint: color.text.bright on color.interaction.text-selection.tint · spec/contrast.json:79
/pairs/75 - default text on text-selection tint: color.text.default on color.interaction.text-selection.tint · spec/contrast.json:78
/pairs/74
extended · proposed
- Resolved value
rgb(145 20 16 / 50%)- Status
- approved
- Consumption
- blocked — Proposed profile: preview only, not downstream delivery.
- Decisions
- None pending.
- Source
- tokens/semantic.tokens.json:469
/color/interaction/text-selection/tint - Alias chain
color.primitive.alpha.red-50- Used by aliases
- No declared aliases depend on this role.
Provenance and restrictions
{
"status": "approved",
"approval": {
"decision": "D-036"
}
}Declared component and port usage
| Consumer / kind | Part / variant | State / surface | Source declaration |
|---|---|---|---|
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:78 /pairs/74 |
| Shared rule · contrast | — | — · color.interaction.text-selection.tint | spec/contrast.json:79 /pairs/75 |
Relevant contrast declarations
- bright text on text-selection tint: color.text.bright on color.interaction.text-selection.tint · spec/contrast.json:79
/pairs/75 - default text on text-selection tint: color.text.default on color.interaction.text-selection.tint · spec/contrast.json:78
/pairs/74