The most wonderful new hidden feature in iOS 17 and macOS 14

Created on November 12, 2023 at 11:11 am

The most wonderful new hidden feature in iOS 17 LAW and macOS 14

September 12 2023 DATE

Today Apple ORG published lists of new features available with iOS 17 LAW (to be released September 18 DATE ) and macOS 14 LAW (to be released September 26 DATE ). One CARDINAL of those features caught my eye. Indeed it made my eyes bulge.

Automatically pause animated images. Pause animated images by default, such as GIFs in Messages and Safari PERSON for your visual comfort.

This is astounding news! In my opinion, the feature should have been highlighted in the WWDC ORG keynote. It’s that huge. And I’m going to take a little personal credit for it (whether that’s justified or not, heh). Over the years DATE , a number of my customers have requested such a feature for my web browser extension StopTheMadness. Unfortunately, however, there’s no direct JavaScript PRODUCT access to image decoders or formats for HTML <img> elements, which makes it extremely difficult for me to implement GIF ORG blocking in my extension. That’s why I filed a bug with Apple ORG ‘s WebKit PRODUCT project, the open source web browser engine underlying Safari PERSON . My bug was titled Animated images ignore user’s prefers-reduced-motion and Auto-Play preferences. So there you have it. You’re welcome! đŸ˜‰

Let’s look at where the new feature can be found and how it works. First ORDINAL , in macOS 14 Sonoma GPE . For some reason, Apple ORG buried the feature in the "Accessibility" section of System Settings. If it were me, I would put it in a section called "Annoyances". On the other hand, all of System Settings ORG is annoying, so maybe that’s not specific enough. In the Display subsection of the Accessibility section, there’s a toggle titled "Auto-play animated images".

You want to disable that setting.

Now let’s look at an animated GIF PERSON in Safari GPE . Here’s an article about the 30th ORDINAL anniversary of the GIF ORG . With the new system setting disabled, the GIF ORG does not animate. Hooray! You can still manually make it animate by selecting the " Play Animation WORK_OF_ART " menu item from the contextual menu.

And then you can stop the animation again by selecting " Pause Animation WORK_OF_ART ".

It would be better if you could just click the image to play and pause the animation, but the contextual menu is certainly way better than nothing! More than 30 years DATE of nothing… until now.

The feature works similarly in iOS 17 and iPadOS 17 DATE . It’s again in the Accessibility section of Settings, although here it’s in the Motion subsection rather than the Display & Text Size subsection.

For some reason, on iOS the same Vox ORG page uses an HTML <video> for the first ORDINAL animated "image" rather than an animated GIF ORG , so we’ll look at an <img> element further down the page.

Again, there are " Play Animation WORK_OF_ART " and " Pause Animation WORK_OF_ART " items in the contextual menu.

I would say that by itself, this new "Accessibility" feature is reason enough to update to iOS 17 CARDINAL and macOS 14. I’m very excited! It’s one of the best new features in ages (and sorely overdue).


It turns out that disabling " Auto-Play Animated Images WORK_OF_ART " also fixes a problem I blogged about last year DATE : an HTML <video> element can be used as the src attribute of an <img> element or even as the poster attribute of another <video> in Safari GPE , and that src or poster video will autoplay even if the user has video autoplay disabled!

As I wrote to Apple ORG engineers in my WebKit bug report, "Seriously, if Safari PERSON shipped click-to-play animated gifs, you might get more public praise than you’ve ever heard in your life." Let me be the first ORDINAL to praise you! Thank you very much for shipping this feature. (It’s not precisely click-to-play, but close enough.)

By the way, I seem to have found a bug in Sonoma System Settings FAC where the "Auto-play animated images" toggle button appears to be enabled after it has been disabled. This happens when you quit and relaunch the System Settings app. The bug does not occur in the iOS 17 CARDINAL Settings app.

Connecting to Connected... Page load complete