- From: carlosjeurissen <notifications@github.com>
- Date: Thu, 13 Nov 2025 20:26:28 -0800
- To: w3c/manifest <manifest@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/manifest/issues/975/3530783075@github.com>
carlosjeurissen left a comment (w3c/manifest#975)
@christianliebel and I iterated a bit on the design following the discussion during TPAC2025. And set on the following format Similar to the `icon_variants` format for specifying light and dark mode icons in webExtensions:
```json
{
"colors": [{
"background_color": "#fff",
"color_schemes": ["light"]
}, {
"background_color": "#000",
"theme_color": "pink",
"color_schemes": ["dark"]
}, {
}],
}
```
Example with authors relying on the fallback to the global root:
```json
{
"background_color": "#fff",
"theme_color": "red",
"colors": [{
"background_color": "#000",
"color_schemes": ["dark"]
}],
}
```
This would introduce a new `colors` global manifest property which allows authors to set a preference override list starting with the most preferred from the author.
The list contains preference objects which have two types of properties:
1) actual override properties (`background_color`, `theme_color`)
2) required conditions (`color_schemes`)
The required conditions will be a list of keyword values. Unlike the color properties, the conditions should not be added to the root manifest.
To get a color value, the following algorithm would be used.
1) look for the first object in `colors` property
2) check if the requested color property is included, else move to the next object
3) for each condition in the object:
3.1) check if the condition category name (like color_schemes) is understood, else MUST move to the next object
3.2) check if the requested condition is matching one of the values specified in the condition, if not, move to the next object. Unknown condition values are simply ignored.
4) if the end of the list has been reached, fall back to the global color property in the manifest
This format would allow specification of common conditions and values. While keeping the flexibility to add additional conditions and condition values for different implementations and platforms.
There have been alternative proposals in https://github.com/w3c/manifest/issues/1045
--
Reply to this email directly or view it on GitHub:
https://github.com/w3c/manifest/issues/975#issuecomment-3530783075
You are receiving this because you are subscribed to this thread.
Message ID: <w3c/manifest/issues/975/3530783075@github.com>
Received on Friday, 14 November 2025 04:26:33 UTC