Sec-CH-Prefers-Reduced-Transparency
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The HTTP Sec-CH-Prefers-Reduced-Transparency
request header is a user agent client hint that indicates the user agent's preference for reduced transparency.
If a server signals to a client via the Accept-CH
header that it accepts Sec-CH-Prefers-Reduced-Transparency
, the client can then respond with this header to indicate the user's preference for reduced transparency. The server can send the client appropriately adapted content — for example, CSS or images — to reduce the transparency of the content.
This header is modeled on the prefers-reduced-transparency
media query.
Header type | Request header, Client hint |
---|---|
Forbidden header name | Yes (Sec- prefix) |
Syntax
Sec-CH-Prefers-Reduced-Transparency: <preference>
Directives
<preference>
-
The user agent's preference for reduced transparency. This is often taken from the underlying operating system's setting. The value of this directive can be either
no-preference
orreduce
.
Examples
Using Sec-CH-Prefers-Reduced-Transparency
The client makes an initial request to the server:
GET / HTTP/1.1
Host: example.com
The server responds, telling the client via Accept-CH
that it accepts Sec-CH-Prefers-Reduced-Transparency
. In this example Critical-CH
is also used, indicating that Sec-CH-Prefers-Reduced-Transparency
is considered a critical client hint.
HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Sec-CH-Prefers-Reduced-Transparency
Vary: Sec-CH-Prefers-Reduced-Transparency
Critical-CH: Sec-CH-Prefers-Reduced-Transparency
Note: We've also specified Sec-CH-Prefers-Reduced-Transparency
in the Vary
header, to indicate to the browser that the served content will differ based on this header value — even if the URL stays the same — so the browser shouldn't just use an existing cached response and instead should cache this response separately. Each header listed in the Critical-CH
header should also be present in the Accept-CH
and Vary
headers.
The client automatically retries the request (due to Critical-CH
being specified above), telling the server via Sec-CH-Prefers-Reduced-Transparency
that it has a user preference for reduced transparency:
GET / HTTP/1.1
Host: example.com
Sec-CH-Prefers-Reduced-Transparency: "reduce"
The client will include the header in subsequent requests in the current session unless the Accept-CH
changes in responses to indicate that it is no longer supported by the server.
Specifications
Specification |
---|
User Preference Media Features Client Hints Headers # sec-ch-prefers-reduced-transparency |
Browser compatibility
BCD tables only load in the browser
See also
- Client hints
- User-Agent Client Hints API
Accept-CH
- HTTP Caching: Vary and the
Vary
header - Improving user privacy and developer experience with User-Agent Client Hints (developer.chrome.com)