Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

Safari gets developer-focused tune-up in iOS 9.3, OS X 10.11.4

User-facing features — like the new Night Shift mode — stole the spotlight during Monday's surprise preview of Apple's next iOS release, but web developers have a few things of their own to smile about in Safari 9.1.

Headlining the new additions is support for HTML's long-suffering picture element, which makes it easier for developers to serve users with the proper image for the device they're using. Apple was the last major vendor to add picture support, more than two years after it first appeared.

Without picture, web developers looking for a cross-browser method to serve e.g. a larger image to a user on a Retina MacBook Pro and a smaller image to someone on a first-generation MacBook Air were forced to rely on suboptimal — and often slow — workarounds.

Another welcome update is the availability of CSS variables. This makes it easier to maintain large and complex stylesheets without using preprocessors like SASS or LESS by predefining values — for example, a specific shade of the color red — and referencing that single definition throughout the document.

One change that iOS users may notice more quickly is faster response time when tapping on a link or button in a webpage.

As it stands today, iOS Safari waits 300 milliseconds after a user taps before it registers as a click event. This is a remnant of the double-tap-to-zoom gesture that debuted with the first-generation iPhone: without the delay, iOS would be unable to determine whether the user's tap was meant to click a link or was the first tap in a double-tap.

With Safari 9.1, that delay will be disabled on websites or web applications that the user can't zoom in on.

Other Safari 9.1 enhancements include improvements to Web Inspector's Timelines tab and various sidebars, the ability to detect and respond to Magic Trackpad gesture events in Safari on Mac, and the ability to switch tabs, navigate, or close a webpage while a JavaScript dialog is displayed.