More from Scott Jenson
Back in 1971, “Diet for a Small Planet” by Frances Moore Lappé made it clear the costs of eating meat were far greater than we had assumed. If we wanted the planet to thrive, we needed to shift to a more resource-efficient way to eat. UX Design is going through its own “you cost too […]
When people think of haptics, they usually think of typing on mobile keyboards or tapping on trackpads. While impressive, these are fairly limited uses of haptics, both attempting to recreate a simple “click.” These are one-shot user events that don’t respond dynamically to the user. On the Android team, I explored a range of interactive […]
This article was written by Scott Jenson and Michael DiTullo and published at Core77 in April 2024 A few recent tech writers have leaked that the new AirPods case will likely have a touch screen. Other earbud makers have tried this as well but it’s Apple, so people will naturally have strong opinions, and we’re no […]
Whenever I explain my research at Google into mobile text editing, I’m usually met with blank stares or a slightly hostile “Everyone can edit text on their phones, right? What’s the problem?” Text editing on mobile isn’t ok. It’s actually much worse than you think, an invisible problem no one appreciates. I wrote this post […]
More in design
MONARCH – A ROYAL WELCOME CRAFTING A LEGACY For forty years, Mansion House has stood for ‘A Warm Welcome’, a...
Weekly curated resources for designers — thinkers and makers.
House of Olives is a building intended for the Association of Olive Growers of Montenegro as an administrative and educational...
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
This brand creation for Southwestern Distillery is born from the legend of two nineteenth century Cornish brothers who spent all...