Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Product Identity

Surf the browser

A guest's identity

5 days ago 9 votes
A home for niche design

Now accepting pre-orders from a brand new website

a month ago 19 votes
Inside the dark forests of the internet

This is the second part of a series on the identity of social networks:

a month ago 24 votes
Looking for humanness in the world wide social

This is the first part of a series on the identity of social networks.

2 months ago 36 votes

More in design

Monarch by OPEN Strategy & Design

MONARCH – A ROYAL WELCOME CRAFTING A LEGACY For forty years, Mansion House has stood for ‘A Warm Welcome’, a...

4 hours ago 1 votes
UX or PX? Why naming matters

Weekly curated resources for designers — thinkers and makers.

yesterday 3 votes
House of Olives by ARHINGinženjering

House of Olives is a building intended for the Association of Olive Growers of Montenegro as an administrative and educational...

yesterday 2 votes
Don’t Forget the Meta Theme-Color Tag

Ever used a website where you toggle from light mode to dark mode and the web site changes but the chrome around the browser doesn’t? To illustrate, take a look at this capture of my blog on an iPhone. When you toggle the theme from light to dark, note how the website turns white but status bar stays black. Only once I refresh the page or navigate does the status bar then turn white. When the user changes the theme on my site, I want it to propagate all the way to the surrounding context of the browser. In this case, to the status bar on the iPhone. Like this: There we go! That’s what I want. So what was wrong? A popular way to indicate the active theme is to put a class on the root of the document, e.g. <html class="dark"> <style> html { background: white } html.dark { background: black } </style> </html> Then we simply add/remove the dark class when the user toggles the theme. But that will only change the in-page styles. It won’t tell the browser to update the color of whatever ambient user interface elements its drawing. For that, you’ll need the meta theme-color tag: The theme-color value for the name attribute of the <meta> element indicates a suggested color that user agents should use to customize the display of the page or of the surrounding user interface. So when you respond to the user changing their theme, don’t forget to update the <meta name='theme-color'> tag in addition to whatever you do to modify the in-page styles. That’ll give you the effect you want in the surrounding browser UI (for browsers that support it). Oh, and it’s worth pointing out: don’t forget the color-scheme property either. That’s what will tell the browser to update other in-page UI elements it draws. So, when responding to a user preference to update a website’s theme: Toggle some global attribute that triggers style changes for all your custom, in-page elements. Set the color-scheme property so the browser draws the things its responsible for correctly (form controls, scroll bars, etc.). Set the <meta name='theme-color'> value appropriately so contextual browser UI can adapt to your site’s styles. I wrote this post as a friendly reminder, because friends don’t let friends forget the meta theme-color tag. Email · Mastodon · Bluesky

2 days ago 3 votes
Tinner Bros. Whisky Co. by Buddy Creative

This brand creation for Southwestern Distillery is born from the legend of two nineteenth century Cornish brothers who spent all...

4 days ago 5 votes