Accented Rendering Mode Handling

I have widgets on iPhone and Watch. It uses colors and color gradients to convey information to my users. I respect Differentiate Without Color, but what has been defeating me is colored screens on watch and phone when it desaturates the widget. The view is not legible any longer. What would you recommend for handling my views. I would be happy if I could show the textures I made for Differentiate Without Color, and I tried, but the screen color tint seems to fill the entire frame.

  1. How do I control this?
  2. Once it is controlled, what are my options for display?
  3. Any other suggestions?
Answered by Engineer in 893360022

The exact approach will vary depending on how the widget's views are constructed and the information you're trying to convey.

In accented rendering mode, all of the widgets views are tinted white, varying with opacity, and the background is replaced.

You may need to customize your presentation, tweaking or removing views that don't make sense in accented mode.

By using the widgetRenderingMode environment variable, your widget's views can react conditionally to the mode (https://developer.apple.com/documentation/WidgetKit/WidgetRenderingMode).

There's also some further details on how accented rendering mode works, as well as approaches on how a widget can adapt in "What's new in widgets" from WWDC25 at the linked timestamp: What's new in widgets.

The exact approach will vary depending on how the widget's views are constructed and the information you're trying to convey.

In accented rendering mode, all of the widgets views are tinted white, varying with opacity, and the background is replaced.

You may need to customize your presentation, tweaking or removing views that don't make sense in accented mode.

By using the widgetRenderingMode environment variable, your widget's views can react conditionally to the mode (https://developer.apple.com/documentation/WidgetKit/WidgetRenderingMode).

There's also some further details on how accented rendering mode works, as well as approaches on how a widget can adapt in "What's new in widgets" from WWDC25 at the linked timestamp: What's new in widgets.

It is the tweaking the views that in accented mode which is the issue. I guess more question gets more into the mechanics of display in accented mode. For the sake of discussion, say I have a colored square. Because of the way accented mode works, that square gets colored white. What can I do to be able to present some other content, within that square without the entire square remaining white? I am fine with accenting a pattern, but when I try to use a pattern in the square without color, I still get a white square.

Accepted Answer

One option could be to adjust the opacity of your square. This will blend the white color of the view in your widget with the background color depending on the opacity percentage. You should likely consider the effective of legibility if you're also layering content on top of it.

Another option may be to replace the square with a border around the inner content.

Accented Rendering Mode Handling
 
 
Q